comments 7

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]

  • koding2, sya bingung melihatnya, haduh..,

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

    mbak kan jagonya di desain grafis…

  • swun cip coding nya

  • rung sempet utak-atik PHP :P

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

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

      • wowoowo… gapleki perasaan aku gak komeng kanggo warga SMK ik :P
        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.