Chart Dinamis dengan PHP-XML-JSChart

dokumen-dokumen yang mirip
Membuat Chart Dengan JSChart

AJAX Tutorial. Contoh AJAX Database 1

AJAX Tutorial. Contoh AJAX Dasar 1

AJAX Tutorial. Perhatikan untuk memilih kriteria pada aplikasi ini digunakan komponen radiobutton.

AJAX Tutorial. Contoh AJAX Database 4

LAMPIRAN. Lampiran 1 Wawancara dengan Bapak Thoriq Rachmat selaku Manager IT di PT. 1. Apakah perusahaan saat ini membutuhkan sistem server yang baru?

AJAX Tutorial. Contoh AJAX Database 4

Lisensi Dokumen: Uraian Kasus :

Checkbox dengan Foreach dan MYSQL

Praktikum 3 Cookie, Session, dan Database MySQL

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

Langkah 1. Asep Tatang S.

BAB V IMPLEMENTASI DAN PENGUJIAN. lingkungan perangkat lunak, implementasi database beserta struktur program dan

Membuat Database mysql dengan PhpMyAdmin

E-trik Ajax. Database MySQL. Dedi Alnas

Menampilkan Data/Tabel MySQL di Ms.Access

Mudafiq Riyan Pratama Pendahuluan. Lisensi Dokumen:

E-trik Ajax. Ajax dan MySQL. Dedi Alnas

Menangani Input dari User

3 Cara Belajar HTML, PHP dan MySQL. Nama Penulis Lisensi Dokumen:

TUTORIAL CODEIGNITER Langkah Tepat menjadi Web Developer Handal, menguasai CodeIgniter, jalan membuat aplikasi berbasis website lebih mudah

PENGEMBANGAN APLIKASI SISTEM PENGATURAN BASIS DATA SECARA ONLINE. Agustinus Noertjahyana, Rendy Pangestu dan Dwi Budiman

P - 12 Bab 9 : PHP & MySQL

By Desrizal. Pengenalan AJAX

Mudafiq Riyan Pratama

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Nofriza Nindiyasari

DATABASE MYSQL DENGAN PHP

I. Setting Yang Perlu Dilakukan: 1. Download terlebih dahulu installer Mahara di alamat website resmi mahara:

SEARCHING, EDIT / UPDATE DAN DELETE. PHP & MYSQL Part Two

BAB IV IMPLEMENTASI SISTEM DAN PENGUJIAN

BAB 5 PENGENALAN PHP. Tujuan Pembelajaran: Memahami kaidah Pemrograman dengan PHP

Mahasiswa memahami Pengertian Basisdata, Cara membuat basisdata, cara menginput data dan cara menampilkan data.

Aplikasi CRUD Sederhana Dengan PHP dan MySql

Pengenalan JavaScript

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

MODUL PEMOGRAMAN WEB II STMIK IM BANDUNG MODUL PEMOGRAMAN WEB II. Oleh: CHALIFA CHAZAR. Chalifa Chazar edu.script.id

Pentingnya susunan struktur program yang rapi: Dalam modul ini susunan direktori yang diterapkan:

Tutorial jquery Ajax Bagian 2 (Input, Update, Delete, Animasi Loading)

BAB X AKSES DAN MANIPULASI DATA

Mengakses Microsoft SQL Server dengan PHP

MODUL PEMROGRAMAN WEB

Membuat Login Dengan PHP dan MYSQL

Halaman Utama. Tampilan Menu. Universitas Sumatera Utara

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOQuerypada Delphi 7

Cara menghubungkan / mengkoneksikan database dinamis Microsoft Access dengan delphi menggunakkan ADOConnection dan ADOTable pada Delphi 7

BAB IV PENGUJIAN DAN ANALISIS

PRAKTIKUM PHP 10. Menyimpan Data ke Database & Menampilkan Data dengan PHP

Widhy Hayuhardhika NP, S.Kom

Pemrograman Web Lanjut 2017

Tutorial Singkat MySQL

Pemrograman Web Lanjut 2017

Pemetaan Area (Mapping) Sederhana Implementation with C/C++

Bondan Muliawan

Membuat CRUD Sederhana Menggunakan PHP Dengan Mysqli Extension

Menampilkan Markers Google Maps API dengan PHP dan MySQL

Basis Data I. Pertemuan Ke-12 (Aplikasi Basisdata berbasis web) Noor Ifada.

Berikut merupakan salah satu contoh dari pesan SOAP (SOAP Message):

Mudafiq R. Pratama

Pertemuan Ke-5 Client Side Scripting (JavaScript) S1 Teknik Informatika - Unijoyo 1

STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET

Pemrograman Web. Koneksi dan Manipulasi Basis Data. 7 Adam Hendra Brata

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

PRAKTIKUM I MySQL / phpmyadmin

Step by Step PHP Membuat Laporan PDF dengan FPDF Tutorial ini dibuat oleh Achmad Solichin,

MySQL J A M K E T I G A

Tutorial PHP Metode Searching - Multiple Keyword

Tutorial Membuat WEB Dinamis Dengan PHP

MySQL Databases. Dasar-dasar MySQL dan Implementasi MySQL kedalam pemrograman PHP. Jakarta, 16 April 2011 Oleh: M. Awaludin, S.Kom

Mudafiq R. Pratama

Pertemuan Ke-13 (PHP & MYSQL) Adi Widodo,S.Kom.,MMSI 1

Motion detection / deteksi gerakan dengan Delphi memanfaatkan komponen Video grabber (Share ware Version)

Menampilkan Data MySql Menggunakan Dreamweaver

window.location='karyawan/homeuser.php'</script>"; }else if($c['level']=="manajer"){

Cara Menggunakan MySQL

Djoni Darmawikarta

Search And Insert Problem (Sorted Double Linkedlist Solution)

1. TUJUAN Mahasiswa dapat memahami langkah-langkah koneksi PHP dengan MySQL Mahasiswa dapat memahami pengambilan record dari database

Menggunakan grafik / chart pada Borland Delphi 7

STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET

MySQL Full-Text Searching

Framework CodeIgniter Part 1

Design Web Dengan 2 Kolom

Cara Sederhana Import Data dari Excel (CSV) ke MySQL dengan PHP

Krisna D. Octovhiana. 1.1 Apa itu Operator?

BAB 2 LANDASAN TEORI

2.2 Update Record Salah satu fitur aplikasi database adalah update data. Perintah SQL yang digunakan untuk update data seperti di bawah ini.

Farida Nur Cahyani Pendahuluan. Membuat Database. 1 Komunitas elearning IlmuKomputer.Com

Advantages. Keunggulan :

STEP BY STEP MENJADI PROGRAMMER HANDAL DENGAN VB.NET

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Nama Penulis Pendahuluan. Isi. Lisensi Dokumen:

Pemrograman Web. Koneksi dan Manipulasi Basis Data. Adam Hendra Brata

Membuat Chatbox Sederhana dengan Ajax jquery dan PHP PDO

Upload File dengan Metode AJAX

TUGAS MANDIRI. Perancangan JavaScript di SMK Real Informatika. Mata Pelajaran: Pemrograman JavaScript. : Anggiat Marubah Siringo SMK REAL INFORMATIKA

Tutorial Membuat Program Web menggunakan PHP, MySQL, dan PHP

BAB 2 LANDASAN TEORI

LAMPIRAN. 1. Listing Program pada website sekolah. index.php

Muhammad Adri. Pendahuluan. Instalasi Xampp

Transkripsi:

Chart Dinamis dengan PHP-XML-JSChart Fadlika Dita Nurjanto fadlikadn@gmail.com http://fadlikadn.wordpress.com Lisensi Dokumen: Copyright 2003-2011 IlmuKomputer.Com Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari IlmuKomputer.Com. Artikel ini sesungguhnya lanjutan dari artikel saya sebelumnya, masih berkutat pada pembuatan chart dengan JSChart pada kasus yang sama, yaitu rekap data mahasiswa selama 5 tahun terakhir. Tapi bedanya, di sini chart tersebut sudah dikembangkan lebih lanjut. Chart ini bisa digunakan sebagai monitoring secara realtime yang tidak memakan resource banyak, karena solusi AJAX yang digunakan di sini dapat menekan resource sehingga menjadi lebih rendah. Selain AJAX, PHP dan MySQL digunakan untuk mempermudah konektivitas antara server dan client side. Jika pada artikel sebelumnya, data pada chart hanya bersifat statis (karena dideklarasikan langsung pada source code), sehingga kurang fleksibel. Sekarang, data jumlah mahasiswa akan disimpan pada database MySQL. Sebelumnya, kita buat databasenya terlebih dahulu (pada MySQL). Pada MySQL, ketikkan sintaks sebagai berikut : CREATE DATABASE `jschart` ; CREATE TABLE `sum_student` ( `tahun` VARCHAR( 5 ) NOT NULL, `jumlah` VARCHAR( 255 ) NOT NULL ) ENGINE = INNODB; Masukkan data mahasiswa selama 5 tahun terakhir : INSERT INTO `sum_student` ( `tahun`, `jumlah` ) VALUES ('2006', '150'); INSERT INTO `sum_student` ( `tahun`, `jumlah` ) VALUES ('2007', '90'); INSERT INTO `sum_student` ( `tahun`, `jumlah` ) VALUES ('2008', '200'); INSERT INTO `sum_student` ( `tahun`, `jumlah` ) VALUES ('2009', '350'); INSERT INTO `sum_student` ( `tahun`, `jumlah` ) VALUES ('2010', '267'); Copyright 2003-2011 IlmuKomputer.Com 1

Pada PHPMyAdmin, tampilannya sebagai berikut : Setelah database selesai, langkah selanjutnya adalah membuat file-file yang dibutuhkan dalam pembuatan chart ini. Di sini dibutuhkan 5 file termasuk file library JSChart itu sendiri. Alur data di sini membutuhkan beberapa elemen,yaitu PHP, XML, dan Javascript. XML digunakan untuk menghubungkan PHP dengan Javascript (JSChart). File yang dibutuhkan : - Class.main.php Mysqltoxml.php Jschart.js Chart.php Class.ajax.js File class.main.php digunakan untuk menyimpan konfigurasi pada server, seperti host, user, password, database, dan variabel-variabel yang akan digunakan untuk konfigurasi JSChart. Copyright 2003-2011 IlmuKomputer.Com 2

File class.main.php <?php $GLOBALS['tbl_data'] $GLOBALS['vl_tahun'] $GLOBALS['vl_jumlah'] $GLOBALS['db'] $GLOBALS['type_bar'] = "sum_student"; = "tahun"; = "jumlah"; = "jschart"; = "bar"; $GLOBALS['setAxisColor'] = "#FFFFFF"; $GLOBALS['setAxisNameColor'] = "#B2D4E9"; $GLOBALS['setAxisNameX'] = "Tahun"; $GLOBALS['setAxisNameY'] = "Jumlah"; $GLOBALS['setAxisValuesColor'] = "#35FA08"; $GLOBALS['setBackgroundColor'] = "#151515"; $GLOBALS['setBarOpacity'] = 1; $GLOBALS['setGridColor'] = "#B5DBE3"; $GLOBALS['setGridOpacity'] = 0.1; $GLOBALS['setSize_width'] = 600; $GLOBALS['setSize_height'] = 400; $GLOBALS['setTitle'] = "Data Mahasiswa Baru"; $GLOBALS['setTitleColor'] = "#FFFFFF"; class class_connect public $host = "localhost"; public $user = "root"; public $password = ""; public $db_name = "jschart"; public function connect() if(!$this->con) $con_host = @mysql_connect($this->host,$this->user,$this->password) or die(mysql_error()); if($con_host) $con_db = @mysql_select_db($this->db_name,$con_host) or die(mysql_error()); if($con_db) $this->con = true; return true; else return false; else return false; else return false;?> Copyright 2003-2011 IlmuKomputer.Com 3

Setelah itu, kita buat file mysqltoxml.php. File ini digunakan untuk mengkonversi data dari format MySQL menjadi format XML. Kenapa harus XML, karena untuk mengenerate chart dengan library JSChart, tidak bisa menggunakan cara direct dari PHP langsung ke sintaks javscript, tetapi menggunakan perantara XML. Format XML Copyright 2003-2011 IlmuKomputer.Com 4

File mysqltoxml.php <?php include('class.main.php'); $koneksi = new class_connect(); $koneksi->connect(); header('content-type: text/xml'); $SQL = "SELECT * FROM ".$GLOBALS['tbl_data']." ORDER BY ".$GLOBALS['vl_tahun']; $query = mysql_query($sql) or die(mysql_error()); echo "<?xml version='1.0'?>"; echo "<JSChart>"; echo "<dataset type='".$globals['type_bar']."'>"; while($result = mysql_fetch_array($query)) echo "<data unit='".$result[$globals['vl_tahun']]."' value='".$result[$globals['vl_jumlah']]."'/>"; echo "</dataset>"; echo "<colorset>"; $query = mysql_query($sql) or die(mysql_error()); while($result = mysql_fetch_array($query)) if($result[$globals['vl_jumlah']]<100) $color = '#BBDDE5'; if($result[$globals['vl_jumlah']]>100 and $result['vl_jumlah']<=200) $color = '#52AEC1'; if($result[$globals['vl_jumlah']]>200 and $result['vl_jumlah']<=300) $color = '#0D7EEF'; if($result[$globals['vl_jumlah']]>300) $color = '#074B8F'; echo "<color value='".$color."'/>"; echo "</colorset>"; echo "<optionset>"; echo "<option set='settitle' value=\"'".$globals['settitle']."'\"/>"; echo "<option set='setaxisnamex' value=\"'".$globals['setaxisnamex']."'\"/>"; echo "<option set='setaxisnamey' value=\"'".$globals['setaxisnamey']."'\"/>"; echo "<option set='setbackgroundcolor' value=\"'".$globals['setbackgroundcolor']."'\"/>"; echo "<option set='setaxiscolor' value=\"'".$globals['setaxiscolor']."'\"/>"; echo "<option set='setaxisvaluescolor' value=\"'".$globals['setaxisvaluescolor']."'\"/>"; echo "<option set='setaxisnamecolor' value=\"'".$globals['setaxisnamecolor']."'\"/>"; echo "<option set='settitlecolor' value=\"'".$globals['settitlecolor']."'\"/>"; echo "<option set='setsize' value='".$globals['setsize_width'].",".$globals['setsize_height']."'/>"; echo "<option set='setgridopacity' value='".$globals['setgridopacity']."'/>"; echo "<option set='setgridcolor' value=\"'".$globals['setgridcolor']."'\"/>"; echo "<option set='setbaropacity' value='".$globals['setbaropacity']."'/>"; echo "</optionset>"; echo "</JSChart>";?> Copyright 2003-2011 IlmuKomputer.Com 5

Step berikutnya adalah membuat script AJAX. Script ini bertujuan untuk men-generate ulang file mysqltoxml.php tanpa meload seluruh elemen halaman web. File class.ajax.js // JavaScript Document var XMLHttpRequestObject = false; if(window.xmlhttprequest) XMLHttpRequestObject = new XMLHttpRequest(); else if(window.activexobject) XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP"); function getinfo(datasource, divid) if(xmlhttprequestobject) var obj = document.getelementbyid(divid); var chartnew = new JSChart(divID,'bar'); XMLHttpRequestObject.open("GET", datasource); XMLHttpRequestObject.onreadystatechange = function() obj.innerhtml = "<img src='ajax-loading.gif'>"; obj.height = 400; obj.width = 600; if(xmlhttprequestobject.readystate == 4 && XMLHttpRequestObject.status == 200) obj.innerhtml = ""; chartnew.setdataxml(datasource); chartnew.draw(); XMLHttpRequestObject.send(null); Langkah terakhir adalah membuat file chart.php. File ini digunakan untuk menampilkan chart sesuai konfigurasi pada file mysqltoxml.php. Copyright 2003-2011 IlmuKomputer.Com 6

File chart.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>chart with XML</title> <script type="text/javascript" src="jscharts.js"></script> <script type="text/javascript" src="class.ajax.js"></script> </head> <body> <div align="center"> <form> <input name="update" type="button" value="update Data" onclick="getinfo('mysqltoxml.php','place')" id="update"/> </form> </div> <div id="place" style="vertical-align:middle; text-align:center;">chart Here</div> <script type="text/javascript"> var chart_graph = new JSChart('place','bar'); chart_graph.setdataxml("mysqltoxml.php"); chart_graph.draw(); </script> </body> </html> Hasil akhirnya adalah sebagai berikut: Saat pertama kali di-load, javascript pada chart.php dijalankan. Untuk mengupdate data secara langsung, cukup menekan tombol yang ada di atas chart. Copyright 2003-2011 IlmuKomputer.Com 7

Source lengkap ada pada file lampiran. Untuk pengembangan lebih lanjut, coba cari kasus lain yang ada di sekitar kita dan cobalah temukan sebuah solusi yang efektif. Gunakan resourceresource yang ada. Maksimalkan kemampuan, tingkatkan kepekaan.. Selamat Belajar.. Referensi JSChart Manual http://www.jschart.com Holzner, Steve. 2006. Ajax For Dummies. Wiley Publishing PHP Manual http://www.php.net Biografi Penulis Fadlika Dita Nurjanto. Lahir di Wonosobo, 9 November 1991. Menyelesaikan SD di SD 2 Wonosobo tahun 2004, SMP 1 Wonosobo tahun 2007, dan SMK 1 Wonosobo tahun 2010. Kemudian meneruskan studi di ITS Surabaya dengan jurusan Teknik Informatika. Semasa di SMK, menjadi programmer di DiengCyber, sebuah Komunitas IT di Wonosobo, Jateng. Saat ini konsentrasi ke pengembangan Aplikasi Enterprise, Pendidikan, dan UKM. Informasi lebih lanjut tentang penulis : Blog : http://fadlikadn.wordpress.com Email : fadlikadn@gmail.com Copyright 2003-2011 IlmuKomputer.Com 8