Grafik Sederhana dengan Canvas
Menggambar diagram batang dan garis dengan Canvas API bawaan browser.
Kenapa Canvas?
Dashboard butuh grafik: penjualan per bulan, trafik pengunjung. Canvas adalah "kertas gambar" browser tempat kamu menggambar dengan kode. Memahaminya memberi fondasi untuk game 2D dan visualisasi data.
Langkah Membangun
HTML: <canvas id="grafik" width="600" height="300"> dan tombol ganti jenis (batang/garis).
CSS: Canvas dibuat responsif dengan max-width: 100%; height: auto. Bungkus dalam kartu putih.
JS: Konsep canvas:
const ctx = canvas.getContext("2d")adalah "kuas"-nya.- Sistem koordinat: (0,0) di kiri ATAS, y bertambah ke bawah.
- Gambar batang:
ctx.fillRect(x, y, lebar, tinggi)untuk tiap data. Tinggi batang = (nilai / maks) * tinggiArea. - Gambar garis:
ctx.beginPath(),moveTotitik pertama,lineTotitik-titik berikut,stroke(). - Label sumbu:
ctx.fillText(teks, x, y).
Skala data ke piksel adalah inti visualisasi: tentukan nilai maksimum, lalu petakan tiap nilai ke tinggi piksel secara proporsional.
Kesalahan Umum
- Canvas buram di layar retina (kalikan width/height dengan devicePixelRatio lalu scale context).
- Lupa membersihkan canvas sebelum menggambar ulang (
ctx.clearRect) sehingga grafik menumpuk. - Teks label terpotong di tepi (beri padding/margin dalam canvas).
export default function App(): JSX.Element { return <h1>Hello world</h1> }
Tantangan
Tantangan: Grafik Donat
Tambahkan jenis ketiga: diagram donat (pie dengan lubang tengah) memakai ctx.arc dengan sudut proporsional tiap data.
Kuis Bab
Uji pemahamanmu: Data: Tabel, Filter & Pencarian
Jawab 5 soal berikut, lalu tekan "Periksa Jawaban".
1.Pola profesional apa yang dipakai saat mengurutkan data tabel?
2.Kenapa angka 100 bisa muncul sebelum 20 saat di-sortir sebagai teks?
3.Fungsi array apa yang paling tepat untuk menghitung total harga keranjang?
4.Apa fungsi elemen 'penjaga' (sentinel) di pola infinite scroll?
5.Kenapa skeleton screen lebih baik daripada spinner untuk loading konten?