Sucipto Personal Blog

"Dunia Lebih Indah Saat Kita Berbagi"

About Me »

Membuat Chart dinamis dengan PHP

Chart emang Penting untuk website yang berhubungan dengan statistik, seperti project yang sedang saya kerjakan saat ini.

Sebenarnya sih ada banyak librar atau framework yang tinggal pakai dan lebih bagus, seperti JPGraph, dll. tapi tidak ada salahnya kan kalau kita ingin mengetahui cara kerja chart itu bagaimana kalau di bahasa pemrograman PHP. jadi jangan takut untuk belajar hal baru walaupun orang sudah pada tau, tapi kalau kita belum tau ya wajib belajar donk.

Oke mari kita simak beberapa baris kode yang sudah saya tulis berikut, kalau masih bingung atau ada pertanyaan silahkan layangkan pertanyaan anda di kolom komentar di bawah posting ini.

[php]
///thanks http://hendrik-perdana.web.id/ //
$ap=$_GET['ap'];
$ak=$_GET['ak'];
$pj=$_GET['pm'];
$tkj=$_GET['tkj'];
$tei=$_GET['tei'];
Header(“Content-Type:image/png”);
// — menentukan data yang akan dibuat pie chartnya — //
$data[0] = $ap; //biru
$data[1] = $ak; //ijo nom
$data[2] = $pj; //ungu
$data[3] = $tkj; //oranye
$data[4] = $tei; //coklat
// — deklarasi variabel — //
$total = 0;
$d = array();
$kor_x = array();
$kor_y = array();
$t_x = array();
$t_y = array();
// — menentukan besar sudut setiap bagian pie — //
for($j=0;$j $total += $data[$j];
}
$d[0] = 0;
for($i=1;$i $d[$i] = ($data[$i-1]/$total) * 360;
$d[$i] += $d[$i-1];
}
// — menentukan warna — //
$img = ImageCreate(300,300);
$warna[0] = ImageColorAllocate($img,51,204,255);
$warna[1] = ImageColorAllocate($img,153,204,51);
$warna[2] = ImageColorAllocate($img,153,51,204);
$warna[3] = ImageColorAllocate($img,255,153,0);
$warna[4] = ImageColorAllocate($img,153,51,0);
$hitam = ImageColorAllocate($img,165,424,2);
$putih = ImageColorAllocate($img,156,152,129);
ImageFill($img,0,0,$putih);
// — membentuk pie — //
for($k=1;$k // — menggambar bagian-bagian pie — //
ImageArc($img,150,150,250,250,$d[$k-1],
$d[$k],$hitam);
// — mencari koordinat batas — //
$kor_x[$k] = round(150+(125*cos(deg2rad($d[$k-1]))));
$kor_y[$k] = round(150+(125*sin(deg2rad($d[$k-1]))));
// — mencari titik tengah — //
$t = round(($d[$k-1]+$d[$k])/2);
$t_x[$k] = round(150+(62.5*cos(deg2rad($t))));
$t_y[$k] = round(150+(62.5*sin(deg2rad($t))));
ImageLine($img,150,150,$kor_x[$k],$kor_y[$k],$hitam);
}
// — mewarnai bagian pie — //
for($k=1;$k ImageFillToBorder($img,$t_x[$k],$t_y[$k],$hitam,$warna[$k-1]);
}
ImagePNG($img);

?>
[/php]
untuk yang ini dapat di sesuaikan sendiri:
[php]
$ap=$_GET['ap'];
$ak=$_GET['ak'];
$pj=$_GET['pm'];
$tkj=$_GET['tkj'];
$tei=$_GET['tei'];
[/php]
cara memanggilnya sebagai berikut nama-file-kamu.php?ap=jumlahdata&ak=jmldata&pm=jmldata&tkj=jmldta&tei=jmldata

contoh: chart.php?ap=20&ak=33&pm=44&tkj=32&tei=34

atau kalau mau buat charnya dinamis saja.

[php]
$ap=33
$ak=32
$pj=36
$tkj=24
$tei=56
[/php]

kalau mau di kombinasikan kedalam html tinggal menggunakan tag img

[html]

[/html]

Label :

7 Tanggapan

hany says:

koding2, sya bingung melihatnya, haduh..,

jangan di lihat mbak.. hehe.. di baca… hihih…

mbak kan jagonya di desain grafis…

fahmi says:

swun cip coding nya

tiyaNG jAWI says:

rung sempet utak-atik PHP tongue

kabeh materi ku nang SMK Telkom Sandhy Putra Malang kate tak tuangno nang kene mas : http://cyber-ae.com/ hahaha piye big grin
kecuali SISTEL [Sistem Telekomunikasi] tongue wi dok rahasia SMK haha big grin

yo sip wie… sing SISTEL di gawe khusus member (admin) aja,, aku kan juga warga SMK… hohohohohohohoho

tiyaNG jAWI says:

wowoowo… gapleki perasaan aku gak komeng kanggo warga SMK ik tongue
wah ditambah2i ki. Hahaha
Oh yo spean sinau PHP ko ngendi to mas???

ayo lah.. jangan pelit pelit.. hehehe.. kalo bagi ilmu jangan separo2.. di tahan 2 jadi kentut ntar malahan.. hohoho

aku belajar ko internet karo buku, tapi okeh ko internet’e.

Kirimkan Komentar

Saya Harap anda tetap sopan dalam berkomunikasi di blog ini. Budayakan Membaca Sebelum Berkomentar. Anda Sopan, Kami Segan !

Kategori

Advertisement