Codeigniter
Membuat Grafik atau chart Menggunakan Codeigniter dan Highchart
Pada kesempatan kali ini kita akan membahas mengenai pembuatan grafik
menggunakan codeigniter menggunakan framework php dan highchart sebagai library
untuk membuat grafik.
Berikut ini adalah framework codeigniter yang saya gunakan :
Link :
Dan library highchart yang digunakan pada library ini sudah include library
jquery :
Pertamatama buat database pada contoh ini 'tutor_grafik'(tanpa quote).
Setelah itu buat table misalkan namanya adalah tabel ‘pendapatan’(tanpa quote) ,sehingga query sbb :
Setelah itu buat table misalkan namanya adalah tabel ‘pendapatan’(tanpa quote) ,sehingga query sbb :
CREATE TABLE IF NOT EXISTS `pendapatan` ( `id` int(11) NOT NULL AUTO_INCREMENT, `tgl` date NOT NULL, `jumlah` double NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
INSERT INTO `pendapatan` (`id`, `tgl`, `jumlah`) VALUES (1, '2014-01-02', 30000), (2, '2014-02-04', 40000), (3, '2014-03-06', 25000), (4, '2014-04-10', 50000), (5, '2014-06-10', 60000), (6, '2014-07-11', 40000), (7, '2014-08-10', 45000), (8, '2014-09-09', 70000), (9, '2014-10-10', 60000), (10, '2014-11-18', 55000), (11, '2014-05-05', 10000), (12, '2014-05-13', 35000), (13, '2014-12-09', 40000), (14, '2014-12-02', 25000);
Dari data yang input diatas bisa kita liha pada id ke 11 dan 12, 13 dan 14 data tersebut pada bulan yang sama namun nanti kita akan dijumlahkan nilainya berdasarkan bulan.
Setelah persiapan database selesai ,selanjutnya kita akan membuat file pada codeigniter. Pada htdocs jika menggunakan xampp kita buat folder 'tutor' (tanpa quote). Setelah itu pindahkan file didalam codeigniter ke folder tersebut dan pindahkan library highchart yang didownload ke folder asset(buat terlebih dahulu) disimpan diluar setara dengan folder application sehingga tampilanya adalah sbb :
Struktur Folder Codeigniter |
Setelah itu kita masuk ke folder config lalu kita rubah setingan file config.php pada base_url yang dirubah adalah :
$config['base_url'] = 'http://localhost/tutor/';Rubah juga setingan database nya pada file database.php settingan saya adalah sbb :
$db['default']['hostname'] = 'localhost'; $db['default']['username'] = 'root'; $db['default']['password'] = ''; $db['default']['database'] = 'tutor_grafik'; $db['default']['dbdriver'] = 'mysql'; $db['default']['dbprefix'] = ''; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = TRUE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ''; $db['default']['char_set'] = 'utf8'; $db['default']['dbcollat'] = 'utf8_general_ci'; $db['default']['swap_pre'] = ''; $db['default']['autoinit'] = TRUE; $db['default']['stricton'] = FALSE;Setelah selesai setting config yang diperlukan selanjutya kita akan membuat file controller beri nama c_grafik.php pada file controller.
c_grafik :
<?php class c_grafik extends CI_Controller { /** * @author : Mahesa p Kannygara **/ function __construct() { parent::__construct(); $this->load->model('m_chart','',TRUE); $this->load->database(); $this->load->helper('url'); } public function index() { foreach($this->m_chart->laporanTahunan()->result_array() as $row) { $data['grafik'][]=(float)$row['Januari']; $data['grafik'][]=(float)$row['Februari']; $data['grafik'][]=(float)$row['Maret']; $data['grafik'][]=(float)$row['April']; $data['grafik'][]=(float)$row['Mei']; $data['grafik'][]=(float)$row['Juni']; $data['grafik'][]=(float)$row['Juli']; $data['grafik'][]=(float)$row['Agustus']; $data['grafik'][]=(float)$row['September']; $data['grafik'][]=(float)$row['Oktober']; $data['grafik'][]=(float)$row['November']; $data['grafik'][]=(float)$row['Desember']; } $this->load->view('v_grafik',$data); } }
Function index berfungsi untuk memanggil data yang ada di model (nanti kita akan mebuat file modelnya) yang mana nanti akan memberikan nilai bulanan dari januari s/d desember. Mengapa float pada : $data['grafik'][]=(float)$row['Januari'],dst. Karena tipe data yang akan di return nilainya bisa miliaran sehingga float digunakan jika datanya kecil int cocok digunakan. $data['grafik'][] akan diparsing ke view yang nantinya berupa data nilai yang akan dirubah ke dalam bentuk grafik.
m_chart:
<?php class m_chart extends Ci_Model{ function laporanTahunan() { $bc = $this->db->query(" select ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=1)AND (YEAR(tgl)=2014))),0) AS `Januari`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=2)AND (YEAR(tgl)=2014))),0) AS `Februari`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=3)AND (YEAR(tgl)=2014))),0) AS `Maret`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=4)AND (YEAR(tgl)=2014))),0) AS `April`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=5)AND (YEAR(tgl)=2014))),0) AS `Mei`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=6)AND (YEAR(tgl)=2014))),0) AS `Juni`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=7)AND (YEAR(tgl)=2014))),0) AS `Juli`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=8)AND (YEAR(tgl)=2014))),0) AS `Agustus`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=9)AND (YEAR(tgl)=2014))),0) AS `September`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=10)AND (YEAR(tgl)=2014))),0) AS `Oktober`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=11)AND (YEAR(tgl)=2014))),0) AS `November`, ifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=12)AND (YEAR(tgl)=2014))),0) AS `Desember` from pendapatan GROUP BY YEAR(tgl) "); return $bc; } } ?>
Penjelasan mengenai model diatas, query tersebut akan menghasilkan nilai berdasarkan bulan dari januari s/d desember dengan menjumlahkan total nilai tiap bulanya.
v_grafik.php :
<style> #chart { z-index:-10; } </style> <div id="chart"> </div>
Semua file yang diperlukan sudah dibuat maka selanjutnya kita eksekusi , masukan alamat url : http://localhost/tutor/index.php/c_grafik
maka tampilanya akan seperti berikut :
Grafik Dengan Highchart dan Codeigniter |
Berikut dilampirkan file-file dari pembuatan grafik/chart dengan codeigniter dan highchart
http://www.4shared.com/zip/kYkex_FQba/tutor.html
Silahkan kometar jika ada pertanyaan atau hal yang ingin di diskusikan.
Posting Komentar
50 Komentar
Nice tutor gan , ini yang dicari cari ...... thanks gan !
BalasHapusSama-sama, semoga bermanfaat ...
Hapuskenapa gak bisa tampil gan,, apanya yang mw disetting lage ????
BalasHapusga munculnya knpa gan ? boleh kasih tau ?
HapusWah mantap!! pertamax ! thanks gan .. It's work !
BalasHapuskok bisa, sdh tak ikuti semua ga bisa muncul, kosong.
HapusApa ada yg di setting lagi?
yg di model untuk query di database postgresql gimana ya pak, soalnya sudah saya coba query-nya gak bisa (pake postgresql) tapi kalau pakai mysql bisa jalan, mohon petunjukknya, terima kasih
BalasHapuswaduh sy blm pernah nyoba sih ya gan pake postgree tp menutrut analisa ane sih itu kendala di querynya saja sepertinya ya , coba jangan pake query manual tapi pakai nya yang d CI nya , atau coba buat view di postgree nya terus panggil view itu.
Hapussudah dicoba ga berhasil,
BalasHapus1. apa mungkin perintah jQuery(function(); padahal skrip jquery.min.js sdh include?
2. apa ada pngaruh versi xampp? punyaku 1.7.3
trims
Itu sudah coba download full source codenya blm gan ?
Hapussoalnya itu bisa jadi adafile yg hilang atau terlewati atau bisa jadi ga cocok jquery nya
work gan , thx yaa ..
BalasHapushhe
gak jalan gan kenapa ya?
BalasHapusGak jalan dimana nya ya ?
Hapussudah coba download full source code nya ?
Terimakasih gan tutorialya sangat membantu :)
BalasHapusWAh gan , kok gak tampil yah , blank putih gitu aja
BalasHapusKok yang lain pada bisa ya ?
Hapusboleh tau versi php nya versi berapa ?
mungkin versi php nya. tapi itu udah coba download file lengkapnya ?
saya juga blank putih, pertama coba manual hasilnya.. blank, trus saya dowlow sourcecode-nya hasilnya sama, blank putih juga.
Hapusversi xamp 1.7.2 under wins 8.1
detailnya :
Apache Version Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0
ada masukan ? thx
karena penasaran saya coba buka di netbook, sebelumnya notebook dan hasilnya sama... blank. kedua sama2 pakai xampp 1.7.2 cuma beda win. jadi lebih penasaran langsung saya coba di hosting, dan alhamdulillah.. jalan. hipotesis sementara xampp 1.7.x tidak suport u/ nampilkan grafik, meski gd_lib sudah on.. btw, thx sharingnya ...
Hapusgan mau tanya $data['grafik'][]=(float)$row['Januari']; grafik yang di kurung kurawa disitu dapat implementasi dari mana
BalasHapusItu yg grafik hanya penamaan array saja sih , bebas sbnernya hanya saja jika diganti nanti di view juga harus di ganti ...
Hapusg' bisa muncul grafik nya bang, hnya tmpil layar putih saja...
BalasHapusgmna solusinya bang...
its work gan.. thanks
BalasHapusMuantaappp!!! thanks gan....
BalasHapussaya juga ga muncul grafik ataupun pesan error cuma layar kosong aja putih. kenapa yaa?
BalasHapusMungkin versi xampp atau jquery nya gan.
Hapusmaaf mas kalau misal di input tapi tahunnya beda kok malah jadi aneh
BalasHapuslanjutkan gann~
BalasHapusSalam juga :) terimakasih sudah berkunjung
BalasHapusKok gk muncul grafiknya pdahal saya pake jquery 2.1.4 dan xampp v.3.2.1
BalasHapusBuat Semua yang gak muncul grafiknya atau BLANK putih, silahkan coba ubah link ke asset base_url pada view, awal = asset/xxxxxx/xxxxxx">. di ubah asset/. semoga membantu
HapusBuat Semua yang gak muncul grafiknya atau BLANK putih, silahkan coba ubah link ke asset base_url pada view, awal = asset/xxxxxx/xxxxxx">. di ubah asset/. semoga membantu
BalasHapusmaaf gan maksudnya <? eho base_url di ubah <?php echo base_url
BalasHapusNice info artikelnya gan, sangat bermanfaat mitsubishi palembang
BalasHapusavent philips indonesia
lowongan kerja palembang
Nice gan ane lagi butuh kebetulan nanti ane coba implementasi gan thanks
BalasHapusgan, link highcarts nya udah gabisa di download. butuh banget gan, pls help.
BalasHapusmasih aktif ko gan
Hapusada yang error gann...
BalasHapusSeverity: Notice
Message: Only variable references should be returned by reference
Filename: core/Common.php
Line Number: 239
itu pemberitahuannya.
mantap gan, bisa ajarin pake jenis grafik donut gan. trims
BalasHapusmantap gan, bisa ajarin pake jenis grafik donut gan. trims
BalasHapusMembuat grafik lingkaran data dari database pada codeigniter
BalasHapus>Download Disini<
jika ada data tahun 2016 sampai tahun 2017 kok datanya jadi double ya gan? grafiknya terulang ada 2, bagaimana agar hanya tahun tertentu saja yang tampil? makasih
BalasHapusSama punyaku jugaaa. Km udah tau caranya ?
HapusManatp gan
BalasHapusbagaimana jika grafik harian?
BalasHapusmohon penjelasannya
https://pgsdblog.blogspot.com/2015/10/pengertian-ilmu-pengetahuan-alam-ipa.html?showComment=1503917445088#c5124376623549826180
BalasHapusifnull((SELECT sum(jumlah) FROM (pendapatan)WHERE((Month(tgl)=1)AND (YEAR(tgl)=2014))),0) AS `Januari`
BalasHapusgan kalo 2014 nya supaya mengikuti tahun yang sekarang gimana yah ?
terima kasih.
Pake fungsi date
Hapus$tahun=date('Y');
link download mati gan
BalasHapusThannks Informasinya gan
Hapusbang link nya mati, mau download nih
BalasHapus