“Dari seluruh penjualan tahun ini, berapa pangsa tiap produk?” — pertanyaan proporsi seperti ini menjawab bagian dari keseluruhan, bukan perbandingan nilai mentah. Pie chart menjawabnya dengan satu lingkaran: sudut tiap irisan sebanding dengan kontribusi kategorinya terhadap total. Fungsi pie() di MATLAB menghitung proporsi secara otomatis, menempelkan label persentase, dan bahkan bisa menarik satu irisan keluar untuk menyorotnya. Cakupan chapter ini:
pie(x)dengan label persentase otomatis- Label nama per irisan lewat cell array
- Offset (
explode) untuk menarik irisan keluar pie3sebagai varian tiga dimensi- Kapan pie chart layak dipakai — dan kapan bar chart lebih jujur
Persentase Otomatis dari Nilai Mentah #
Aturannya: pie(x) menggambar satu irisan per elemen x; luas tiap irisan sebanding dengan x(i)/sum(x). Mekanismenya: MATLAB menjumlahkan seluruh elemen x, lalu menormalkan tiap nilai menjadi proporsi — kita memberikan angka mentah (255 unit), MATLAB menampilkan persentasenya (33.8%). Bila sum(x) lebih kecil atau sama dengan 1, perilakunya berubah: nilai x dipakai langsung sebagai proporsi, dan bila totalnya kurang dari 1, MATLAB menggambar pie parsial (lingkaran yang tidak penuh).
Label bawaan tiap irisan adalah persentase dengan format default '%.0f%%' — bilangan bulat diikuti tanda persen, misalnya 34%. Karena kita ingin menampilkan angka persentase di Command Window juga, contoh berikut menghitungnya sendiri dengan rumus yang sama:
produk = {'Kopi', 'Teh', 'Cokelat'};
total = [255 208 292];
semua = sum(total);
persen = 100 * total / semua;
fprintf('total : %d unit\n', semua);
fprintf('Kopi : %d unit (%.1f%%)\n', total(1), persen(1));
fprintf('Teh : %d unit (%.1f%%)\n', total(2), persen(2));
fprintf('Cokelat : %d unit (%.1f%%)\n', total(3), persen(3));
fprintf('jumlah persen: %.1f%%\n', sum(persen));Output yang Dihasilkan:
total : 755 unit
Kopi : 255 unit (33.8%)
Teh : 208 unit (27.5%)
Cokelat : 292 unit (38.7%)
jumlah persen: 100.0%Label Nama dan Offset per Irisan #
Aturannya: pie(x, labels) mengganti label persentase bawaan dengan teks yang kita tentukan — labels adalah cell array berisi satu nama per irisan. Aturannya yang kedua: pie(x, explode, labels) menarik keluar irisan yang elemen explode-nya tak nol. Mekanismenya: nilai explode bukan sekadar penanda — irisan digeser menjauhi pusat sejauh sebagian kecil radius, sehingga tampak “terlepas”; explode boleh berisi angka desimal (misalnya 0.2) untuk mengatur seberapa jauh geserannya.
Kombinasi lengkapnya dijalankan di berkas contoh.m — dua figur sekaligus:
f = figure('visible', 'off');
pie(total);
legend(produk);
title('Pangsa penjualan tiga produk');
saveas(f, 'pie-persentase.png');
fprintf('Grafik tersimpan: pie-persentase.png\n');
delete(f);
f2 = figure('visible', 'off');
explode = [1 0 0]; % tarik irisan Kopi keluar dari pusat
pie(total, explode, produk);
title('Penjualan per produk, irisan Kopi ditarik keluar');
saveas(f2, 'pie-label-explode.png');
fprintf('Grafik tersimpan: pie-label-explode.png\n');
delete(f2);Output yang Dihasilkan:
Grafik tersimpan: pie-persentase.png
Grafik tersimpan: pie-label-explode.pngGrafik pertama menampilkan lingkaran tiga irisan dengan label persentase bawaan (34%, 28%, 39% setelah pembulatan '%.0f%%') dan legend yang menjelaskan nama produk per warna. Grafik kedua menempelkan nama Kopi, Teh, Cokelat langsung pada irisannya dan menarik irisan Kopi keluar dari pusat. Mari kita bedah baris-baris kode di atas:
- Baris 2 (
pie(total)): nilai mentah dinormalkan otomatis; tanpa argumen lain, label tiap irisan adalah persentase bulat. - Baris 3 (
legend(produk)):legendmenerima cell array nama — urutannya mengikuti urutan elementotal, bukan urutan tampil di layar. - Baris 12 (
explode = [1 0 0]): vektor penanda sepanjangtotal; hanya elemen tak nol yang digeser keluar. - Baris 13 (
pie(total, explode, produk)): bentuk tiga argumen sekaligus — data, offset, lalu label nama.
pie3: Varian Tiga Dimensi #
pie3(x) menggambar pie yang sama tetapi dengan kedalaman — irisan menjadi irisan silinder sehingga grafik terlihat seperti kue utuh. Sintaksnya sejajar dengan pie: pie3(x), pie3(x, explode), pie3(x, labels), dan pie3(x, explode, labels).
f3 = figure('visible', 'off');
pie3(total, [1 0 0], produk);
title('Pangsa penjualan (tampilan 3-D)');
saveas(f3, 'pie3.png');
delete(f3);Kode tersebut menyimpan pie tiga dimensi dengan irisan Kopi tertarik keluar. Efek kedalaman murni kosmetik: persentase dan proporsi tiap irisan tidak berubah sama sekali — pie3 tidak menampilkan dimensi data tambahan, sehingga nilai informasinya identik dengan pie biasa. Perhatikan juga bahwa renderer Octave versi uji kita tidak merender patch 3-D pada mode headless, sehingga potongan ini ditulis untuk MATLAB dan tidak dijalankan di contoh.m.
Kapan Pie Chart Layak Dipakai #
Pie chart punya batas persepsi yang nyata. Mata manusia unggul membandingkan panjang dan posisi (batang, titik), tetapi lemah membandingkan sudut dan luas — dua irisan berbeda 3–4 persen sulit dibedakan. Aturan praktis yang biasa kita pakai:
- Maksimal 5 kategori — lebih dari itu irisan menjadi tipis dan sulit dibaca.
- Proporsi harus benar-benar tentang “bagian dari keseluruhan” — pangsa pasar, komposisi anggaran, alokasi waktu.
- Paling kuat saat satu irisan dominan (misalnya 70% lawan pecahan kecil) atau saat memang ada kebutuhan naratif “seberapa penuh lingkaran ini”.
- Hindari beberapa pie berdampingan untuk membandingkan antar periode — bandingkan bar bertumpuk atau bar berdampingan saja.
Perbandingan jujurnya seperti ini:
| Aspek | Pie chart | Bar chart |
|---|---|---|
| Kuantitas yang dibandingkan mata | sudut dan luas | panjang batang |
| Akurasi baca nilai | rendah–sedang | tinggi |
| Jumlah kategori nyaman | 2–5 | 10+ |
| Menunjukkan “bagian dari total” | sangat jelas | perlu sumbu relatif |
| Perubahan antar periode | sulit | mudah |
Untuk data penjualan tiga produk di atas, keduanya sah: pie menegaskan bahwa Cokelat menguasai hampir 39% dari total, sedangkan bar chart (chapter sebelumnya) membuat selisih antar produk lebih mudah diukur. Bila pembaca perlu tahu berapa selisihnya, pilih bar; bila pembaca perlu tahu berapa bagiannya, pie layak.
Ringkasan #
pie(x) menormalkan nilai mentah menjadi proporsi dan menempeli irisan dengan label persentase otomatis; pie(x, explode, labels) menambahkan nama kategori dan menarik irisan tertentu keluar dari pusat. pie3 menambahkan kedalaman kosmetik tanpa informasi baru. Gunakan pie hanya untuk komposisi 2–5 kategori, dan sadar bahwa persepsi sudut kalah akurat dari persepsi panjang — ketika perbandingan nilai yang penting, bar chart adalah pilihan yang lebih jujur. Semua plot sejauh ini memetakan satu atau dua variabel pada bidang datar; ketika data membentuk permukaan z = f(x, y), kita naik ke dimensi ketiga: surface plot.