BAB IV PENGUJIAN DAN PEMBAHASAN 4.1 Merancang Dan Membuat Alat Monitoring Menggunakan Web Pengujian sub bab ini menjelaskan mengenai langkah-langkah program untuk menghubungkan arduino ke web server dan untuk menyimpan data hasil pembacaan sensor yang sudah di olah oleh arduino dan di simpan ke database server. 4.1.1 Pengujian Rangkaian Pengendali Utama Pengujian ini dilakukan untuk mengetahui apakah rangkaian pengendali utama dalam hal ini Arduino Uno dengan Ethernet Shield dapat berfungsi dengan baik atau tidak. Pengujian meliputi koneksi Arduino dengan serial port komputer serta pengujian dengan ditambahkannya Ethernet Shield di atas papan Arduino. Tujuannya adalah untuk menambah kemampuan Arduino agar terhubung ke jaringan komputer. Untuk pengujian koneksi Arduino, kabel USB dihubungkan dari komputer ke serial Arduino, selanjutnya software IDE Arduino dijalankan. Jika Arduino telah terhubung dengan komputer maka ada IDE Arduino akan memberikan tanda koneksi serial port pada komputer yang digunakan Arduino. Sedangkan untuk pengujian dengan Ethernet Shield, modul dihubungkan diatas papan Arduino. Digunakan kabel UTP dengan konektor RJ-45 yang di cramping crossover untuk menghubungkan localhost komputer dengan Ethernet Shield. Selanjutnya pada IDE Arduino di-upload program examples dari library Ethernet, alamat IP komputer dengan Ethernet Shield disesuaikan agar satu jaringan. Jika Arduino bekerja dengan baik maka jika dilihat pada serial monitor IDE Arduino akan tertampil connected, dan pada titlebar serial monitor terdapat port yang digunakan oleh Arduino seperti pada gambar 4.1 di bawah ini.
40
41
Gambar 4.1 serial monitor Arduino 4.1.2 Pengujian Penampilan Sensor 4.1.2.1 Serial Monitor Pada pengujian ini kabel USB dihubungkan dari komputer ke serial Arduino, Selanjutnya software IDE Arduino dijalankan Jika Arduino telah terhubung siapkan program yang akan dieksekusi oleh Arduino pada pengujian penampilan sensor kita menggunakan library yang sudah terdapat pada sofware IDE Arduino menggunakan program example library New Ping untuk proses pembacaan sensor . Program tersebut dilakukan untuk mengetahui pembacaan sensor yang di tampilkan pada serial monitor apabila yang di tampilkan sesuai dengan apa yang di baca (dalam hal ini sensor membaca jarak ketinggian air) maka sensor bekerja dengan baik. // Example NewPing library sketch that does a ping about 20 times per second. #include
42
#define TRIGGER_PIN 6 the ultrasonic sensor.
// Arduino pin tied to trigger pin on
#define ECHO_PIN 7 // Arduino pin tied to echo pin on the ultrasonic sensor. #define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum sensor distance is rated at 400500cm. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing setup of pins and maximum distance. void setup() { Serial.begin(115200); // Open serial monitor at 115200 baud to see ping results. } void loop() { delay(50)// Wait 50ms between pings (about 20 pings/sec). 29ms should be the shortest delay between pings. unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS). Serial.print("Ping: "); Serial.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 = outside set distance range) Serial.println("cm"); }
Gambar 4.2 Hasil pembacaan sensor
43
Pada gambar 4.2 di atas merupakan hasil pembacaan sensor. Pembacaan sensor di katakan dengan baik apabila data yang di baca oleh sensor sama dengan yang di tampilkan pada serial monitor. 4.1.3 Implementasi Database Sebelumnya definisi database atau basis data. Menurut Wikipedia.org adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Di implementasi ini menjelaskan mengenai langkah-langkah dalam pembuatan databases serta struktur tabel dari database yang digunakan dalam proyek akhir adalah sebagai berikut: 4.1.3.1 Pengoperasian XAMPP Pada pengoprasian kali ini buka software XAMPP dan aktifkan module Apache dan modul MySQL untuk membuat database.
Gambar 4.3 XAMPP Control Panel
44
Pada XAMPP control panel seperti gambar 4.3 terdapat beberapa module yang dapat digunakan untuk menjalankan server, tetapi pada pengujian kali ini hanya menggunakan Apache dan MySQL.
Apache sebagai web server yang digunakan untuk menerima dan mengirim hasil pembacaan sensor.
MySQL sebagai tempat penyimpanan data hasil pembacaan sensor yang dikirimkan oleh web server.
Untuk mengecek apakah web server telah aktif, buka browser ketik http://localhost bisa juga langsung mengetikan ip address (127.0.0.1). Maka akan terlihat tampilan seperti gambar 4.4
Gambar 4.4 Tampilan awal localhost XAMPP standart Gambar di atas menunjukan bahwa Apache dan MySQL dapat menerima dan mengirim hasil dari pembacaan sensor dan untuk melanjutkan membuat database masuk ke tools phpMyAdmin.
45
4.1.4 Pengujian Database Pada pengujian ini database sebagai penyimpanan data hasil pembacaan sensor yang akan dipanggil oleh web client untuk menampilkan level tinggi air dan grafik.
Gambar 4.5 Stuktur tabel sensor Pada gambar 4.5 merupakan struktur database yang digunakan untuk menyimpan data hasil pengiriman dari Arduino melalui HTTP client ke web server. Id berisi nomer urut data yang masuk kedalam database. Sensor berisi nilai pembacaan sensor berupa nilai level ketinggian air. Waktu berisi tanggal, jam, menit, dan detik saat nilai level ketinggian air direkam oleh database. Program Pengiriman hasil sensor ke web browser: Pada program ini adalah program dimana hasil data yang sudah di olah akan di kirimkan ke web server untuk disimpan ke database. // send the HTTP GET request: String getVar = "GET /unta/input_sensor.php?sensor="; getVar += hasilSensor; getVar += " HTTP/1.1"; client.println(getVar); client.println("Host: 192.168.1.102"); client.println("User-Agent: arduino-ethernet"); client.println("Connection: close"); client.println(); // note the time that the connection was made:
46
lastConnectionTime = millis(); } else { // if you couldn't make a connection: Serial.println("connection failed"); Serial.println("disconnecting."); client.stop(); } }
Program koneksi database: Berikut adalah program untuk melakukan koneksi database
Program pengambilan data sensor input_sensor.php: query('INSERT INTO VALUES("'. $data['sensor'] .'")'); } else
{
sensor(sensor)
echo 'No data available'; }
pada program ini digunakan untuk penyimpanan data hasil pembacaan sensor yang diterima oleh web server dan selanjutnya data hasil pembacaan sensor di masukan ke database. Seperti pada gambar 4.6
47
Gambar 4.6 Penyimpanan pada atribut sensor Data id dan waktu ditentukan pada saat data sensor masuk ke database secara otomatis mengikuti data sensor.
48
4.2 Proses Pergantian Lampu Indikator Dan Petingatan Alarm Pada pengujian kali ini koneksikan arduino, kabel USB dihubungkan dari komputer ke serial Arduino dan Ethernet shield jika arduino telah terhubung maka secara otomatis lampu indikator akan menyala sesuai dengan perintah pada program dan data sensor otomatis akan masuk ke dalam database. 4.2.1 Pengujian Lampu Indikator Warna Biru Berikut program lampu indikator jika level air kurang dari 5 cm maka lampu biru menyala. if
(hasilSensor
<=5)
//
jika
hasil
sensor
kurang
dari
5
Menujukan Bahwa level tinggi air dalam keadaan aman. { digitalWrite(merah,LOW); //Lampu warna merah mati. digitalWrite(biru,HIGH); //Lampu warna biru menyala. digitalWrite(kuning,LOW); //Lampu warna kuning mati. digitalWrite(hijau,LOW); //Lampu warna hijau mati. digitalWrite(Buzzer,LOW); //Alarm mati. } Program diatas merupakan program dari arduino untuk menyalakan lampu indikator berwarna biru, lampu indikator berwarna biru merupakan lampu untuk menginformasikan bahwa level tinggi air dalam batas aman level tinggi air dalam batas aman berjarak kurang dari 5cm. seperti hasil pengujian pada gambar 4.7
49
Gambar 4.7 Pengujian lampu indikator warna biru Gambar diatas merupakan hasil pengujian jika level tinggi air kurang dari 5 cm maka lampu indikator berwarna biru akan otomatis menyala dan jika level tinggi air lebih dari 5 cm maka secara otomatis lampu idikator akan menyala sesuai batas dan lampu yang digunakan untuk meberikan informasi level tinggi air. 4.2.2 Pengujian Lampu Indikator Warna Hijau Berikut program lampu indikator jika level air lebih dari 5 cm dan kurang dari 10 cm maka lampu hijau menyala. else if ((hasilSensor >5)&&(hasilSensor<=10))// jika level tinggi air lebih dari 5cm dan kurang dari 10 cm maka statusnya Siaga1 { digitalWrite(kuning,HIGH); // Lampu warna kuning mati. digitalWrite(merah,LOW); // Lampu warna merah mati. digitalWrite(biru,LOW); // Lampu warna biru mati. digitalWrite(hijau,LOW); // Lampu warna hijau menyala. digitalWrite(Buzzer,LOW); // Alarm mati.
50
Program diatas merupakan program dari arduino untuk menyalakan lampu indikator berwarna biru, lampu indikator berwarna hijau merupakan lampu untuk menginformasikan bahwa level tinggi air dalam batas Siaga 1 level tinggi air dalam batas aman berjarak kurang dari 5 cm dan kurang dari 10 cm. seperti hasil pengujian pada gambar 4.8
Gambar 4.8 Pengujian lampu indikator warna hijau Gambar diatas merupakan hasil pengujian jika level tinggi air lebih dari 5 cm dan kurang dari 10 cm maka lampu indikator berwarna hijau akan otomatis menyala dan jika level tinggi air lebih dari 10 cm maka secara otomatis lampu indikator akan menyala sesuai batas dan lampu yang digunakan untuk memberikan informasi level tinggi air. 4.2.3 Pengujian Lampu Indikator Warna Kuning Berikut program lampu indikator jika level air lebih dari 10 cm dan kurang dari 17 cm maka lampu kuning menyala. else if ((hasilSensor >10)&&(hasilSensor<=17))// jika level tinggi
air
lebih
statusnya Siaga2. {
dari
10
cm
dan
kurang
dari
17
cm
maka
51
digitalWrite(kuning,HIGH); // Lampu warna kuning menyala. digitalWrite(merah,LOW); // Lampu warna merah mati. digitalWrite(biru,LOW); // Lampu warna biru mati. digitalWrite(hijau,LOW); // Lampu warna hijau mati. digitalWrite(Buzzer,LOW); // Alarm mati. } Program diatas merupakan program dari arduino untuk menyalakan lampu indikator berwarna kuning, lampu indikator berwarna kuning merupakan lampu untuk menginformasikan bahwa level tinggi air dalam batas aman level tinggi air dalam batas aman berjarak lebih dari 10 cm kurang dari 17 cm. seperti hasil pengujian pada gambar 4.9
Gambar 4.9 Pengujian lampu indikator warna kuning Gambar diatas merupakan hasil pengujian jika level tinggi air kurang dari 10 cm maka lampu indikator berwarna kuning akan otomatis menyala dan jika level tinggi air lebih dari 17 cm maka secara otomatis lampu indikator akan menyala sesuai batas dan lampu yang digunakan untuk memberikan informasi level tinggi air.
52
4.2.4 Pengujian Lampu Indikator Warna Merah Dan Alarm Berikut program lampu indikator jika level air lebih dari 17 cm maka lampu merah dan alarm menyala. else if (hasilSensor >17)//jika ketinggian air lebih dari 17 cm maka statusnya Berbahaya { digitalWrite(merah,HIGH);//Lampu warna merah meyala digitalWrite(Buzzer,HIGH);//Alarm Menyala digitalWrite(biru,LOW); // Lampu warna biru mati digitalWrite(kuning,LOW);// Lampu warna kuning mati digitalWrite(hijau,LOW);// Lampu wara hijau mati }
Gambar 4.10 Pengujian lampu indikator warna merah Gambar diatas merupakan hasil pengujian jika level tinggi air lebih dari 17 cm maka lampu indikator berwarna merah dan alarm akan otomatis menyala.
53
4.3 Proses Penampilan Data Grafik dan Peringatan Level Tinggi Air Pada pengujian kali ini koneksikan arduino, kabel USB dihubungkan dari komputer ke serial Arduino dan Ethernet shield jika arduino telah terhubung maka secara otomatis lampu indikator akan menyala sesuai dengan perintah pada program dan data sensor otomatis akan masuk ke dalam database. 4.3.1 Pegujian Data Realtime Pada pengujian data realtime ini adalah untuk menampilkan data level tinggi air dan grafik secara realtime, dimana data tersebut diambil dari database. Untuk melakukan pengujian data realtime membutuhkan sebuah program untuk mengambil data dari database berikut ini adalah program- program proses pengambilan data dari database. Program koneksi.php:
mysql_connect("localhost", "root", ""); mysql_select_db("sensor"); ?>
Dimana program tersebut untuk mengkoneksikan ke MySQL server untuk mengambil data dari database “sensor”. Program tampil.php:
54
array_push($result, array('waktu' => $row[0], 'sensor' => $row[1], 'id' => $row[2])); } echo json_encode(array("result" => $result));
Dimana program tampil.php ini untuk menampilkan semua data pada table sensor dan di urutkan melalui atribut id yang terdapat pada tabel sensor. Dan data tersebut diubah menjadi data JSON dan selanjutnya data tersebut akan di panggil oleh javascript.
Gambar 4.11 Data JSON Program tampil.js: $(document).ready(function() { selesai();}); function selesai() { setTimeout(function() { update(); selesai();}, 1000);} function update() { $.getJSON("tampil.php", function(data) { $("ul").empty(); $.each(data.result, function() { $("ul").append("Id:"+this['id']+"Waktu:"+ this['waktu'+" Sensor : "+this['sensor']+"
");}); });}
55
Program tampil.js untuk mengambil data yang diubah menjadi data JSON pada file (tampil.php) dan setiap masing-masing fungsi dari hasil data ditambahkan dan diurutkan melalui id, waktu dan sensor seperti pada gambar 4.12.
Gambar 4.12 tampilan javascript Program data.php :
56
mysql_close($con); ?>
Program data.php untuk merubah nilai variabel array menjadi data JSON dan untuk di tampilkan dalam bentuk grafik oleh highchart. 4.3.2 Pengujian Grafik: Pada pengujian grafik ini menggunakan file (datas.php) untuk mengambil data dari database dan di pangil oleh highchart yang berada pada file (datasensor.php) untuk di jadikan ke dalam grafik. <script> $(function(){ $(document).ready(function(){ // data posisi x dan y terakhir var ulx, uly ; // ajax untuk mengambil data $.ajax({ url : 'php/datas.php', type : 'get', success : function(dataBaru){ $.each(dataBaru, function(i,o){ if(o.x) dataBaru[i].x = parseInt(o.x) ; if(o.y) dataBaru[i].y = parseFloat(o.y) ; console.log(dataBaru[i].x) ; }) ; // mengeset data x dan y terakhir var xDef = dataBaru[dataBaru.length-1].x ; setX(xDef) ; console.log(ulx) ; setY(dataBaru[dataBaru.length-1].y) ;
57
// tampilkan data ke dalam bentuk chart di div id container Highcharts.chart('container', { chart : { type : 'spline', animation : Highcharts.svg, marginRight : 10, events : { load : function(){ series = this.series[0] ; console.log("Series berisi ", this.series[0]) ; }}}, // judul dari chart nya title : { text : 'Grafik Pemantauan Ketinggian Air'}, xAxis : {tickPixelInterval : 150}, yAxis : {title : {text : 'Level Tinggi Air', plotLines : [{value : 0, width : 1, color : '#808080'}]}}, tooltip: { formatter: function () { return''+this.series.name+'
'+'ID:'+Highcharts.numberForm at(this.x,0)+ '
' +'Tinggi : ' + Highcharts.numberFormat(this.y, 2) +'cm'; } }, legend : {enabled : false}, exporting : {enabled : false}, // set seri data di awal kali ambil data series : [{name : 'Level Tinggi Air', data : dataBaru}]})}})}) ; // fungsi untuk menambahkan data secara dinamis setInterval(function(){ $.get('php/datas.php?data=1', function(dataBaru){ var xLast = parseFloat(dataBaru[0].x)
;
58
var yLast = parseFloat(dataBaru[0].y) ; // jika data x dan y terakhir beda, maka update chart if(getX() != xLast && getY != yLast){ series.addPoint([xLast, yLast], true, true) ; setX(xLast) ; console.log(ulx) ; setY(yLast) ; if(yLast <5) $('#info-alert').fadeIn() ; else $('#info-alert').fadeOut() ; if((yLast > 5) && (yLast<=10)) $('#success-alert').fadeIn() ; else $('#success-alert').fadeOut() ; if((yLast > 10) && (yLast<=17)) $('#warning-alert').fadeIn() ; else $('#warning-alert').fadeOut() ; if(yLast > 17) $('#danger-alert').fadeIn() ; else $('#danger-alert').fadeOut() ;}}); },1000) ; // fungsi untuk mengeset x/y atau data titik terakhir function getX(){return ulx;} function getY(){return uly;} function setX(xBaru){ ulx = xBaru ;}
59
function setY(yBaru){ uly = yBaru ;} });
Fungsi kode diatas adalah untuk mendapatkan data yang sudah diubah menjadi data JSON pada file (data.php). Dimana pada data yang sudah diubah tersebut akan di jadikan ke dalam bentuk grafik seperti pada gambar 4.13.
Gambar 4.13 Grafik Realtime Pada gambar 4.14 merupakan grafik secara realtime. Dimana grafik tersebut untuk mengetahui ketinggian air yang terbaca oleh sensor. Pada proses pembacaanya, yaitu dengan
mengambil data terbaru yang di rekam oleh database. Pada sumbu Y
merupakan nilai tinggi air dalam satuan (Cm) dan sumbu X pencuplikan data berdasarakan id pada database. 4.3.3 Pengujian Program Alert Pada pengujian kali ini menggunakan alert, alert berfungsi untuk memberikan pesan atau umpan balik ke pengguna atas tindakan yang dilakukan oleh pengguna. Pada pengujian kali ini mengggunakan alert untuk memberikan pesan informasi kepada pengguna. Untuk pengujian koneksi arduino dan kabel usb di hubungkan ke port arduino selanjutnya hubungkan kabel Ethernet dari komputer ke Ethernet shield yang sudah dihubungkan dengan arduino dan mikrokontroler.
60
4.3.3.1 Pengujian Program Alert info Pada pengujian alert info ini dilakukan untuk mengetahui level ketinggian air berupa grafik dan memberikan peringatan ketika level tinggi air berada dibawah 5 cm maka secara otomatis muncul pemberitahuan berupa alert warna biru pada web. Jika program bekerja dengan baik maka akan tampil seperti gambar 4.14
Gambar 4.14 Peringatan jika level tinggi air masih dalam batas aman Pada gambar 4.14 merupakan pemberitahuan jika level tinggi air dibawah 5 cm maka pesan yang akan ditampilkan “Ketinggian air masih dalam batas aman!” didalam alert berwarna biru untuk memunculkan alert berwarna biru dengan memberikan perintah sebagai berikut. Program Alert kurang dari 5 cm <span class="closebtned" onclick="this.parentElement.style.display='none';">× ketinggian air masih dalam batas aman!
61
Gambar 4.15 Program alert-info pada script highchart jika level tinggi air kurang dari 5 cm 4.3.3.2 Pengujian Program Alert Success Pada pengujian alert success ini dilakukan untuk mengetahui level ketinggian air berupa grafik dan memberikan peringatan ketika level tinggi air berada diatas 5 cm dan kuang dari 10 maka secara otomatis muncul pemberitahuan berupa alert warna hijau pada web. Jika program bekerja dengan baik maka akan tampil seperti gambar 4.16
Gambar 4.16 Peringatan jika level tinggi air Siaga 1
62
Pada gambar 4.16 merupakan pemberitahuan jika level tinggi air diatas 5 cm dan kurang dari 10 cm maka pesan yang akan ditampilkan “Perhatian Ketinggian Air Siaga 1!” untuk menampilkan alert berwarna biru dengan memberikan perintah sebagai berikut. Program Alert lebih dari 5 cm dan kurang dari 10 cm <span class="closebtned" onclick="this.parentElement.style.display='none';">× Perhatian Ketinggian air siaga 1!
Gambar 4.17 Program alert-success pada script highchart jika level tinggi air lebih dari 5 cm dan kurang dari 10 cm 4.3.3.3 Pengujian Program Alert Warning Pada pengujian alert warning ini dilakukan untuk mengetahui level ketinggian air berupa grafik dan memberikan peringatan ketika level tinggi air berada diatas 10 cm dan kuang dari 17 maka secara otomatis muncul pemberitahuan berupa
63
alert warna kuning pada web. Jika program bekerja dengan baik maka akan tampil seperti gambar 4.18
Gambar 4.18 Peringatan jika level tinggi air siaga 2 Pada gambar 4.18 merupakan pemberitahuan jika level tinggi air diatas 10 cm dan kurang dari 17 cm maka pesan yang akan ditampilkan “Perhatian Ketinggian Air Siaga 2!” untuk menampilkan alert berwarna kuning dengan memberikan perintah sebagai berikut. Program Alert lebih dari 10 cm dan kurang dari 17 cm <spanclass="closebtned"onclick="this.parentElement.style.displ ay='none';">× Perhatian Ketinggian air siaga 1!
64
Gambar 4.19 Program alert-warning pada script highchart jika level tinggi air lebih dari 10 cm dan kurang dari 17 cm 4.3.3.4 Pengujian Program Alert Danger Pada pengujian alert danger ini dilakukan untuk mengetahui level ketinggian air berupa grafik dan memberikan peringatan ketika level tinggi air berada diatas 17 cm maka secara otomatis muncul pemberitahuan berupa alert warna merah pada web. Jika program bekerja dengan baik maka akan tampil seperti gambar 4.20
Gambar 4.20 Peringatan jika level tinggi melebihi batas aman
65
Pada gambar 4.20 merupakan pemberitahuan jika level tinggi air diatas 17 cm maka pesan yang akan ditampilkan “Perhatian Ketinggian Air melebihi batas aman!” untuk menampilkan alert berwarna merah dengan memberikan perintah sebagai berikut. Program Alert lebih dari 17 cm <span class="closebtned" onclick="this.parentElement.style.display='none';">× Perhatian Ketinggian air melebihi batas aman!
Gambar 4.21 Program alert-dangger pada script highchart jika level tinggi air lebih dari 17 cm 4.4 Proses pengambilan data Per Satuan Waktu Secara Realtime Pada pengujian data berdasarkan range digunakan untuk mencari informasi karakteristik Level tinggi air berdasarkan jam, hari, bulan, maupun tahun. Pada menu history ini bisa menjadi acuan untuk melihat karakteristik air yang terbaca oleh sensor dalam setiap harinya. Dengan memasukan tanggal kedalam form maka data yang dimasukan akan tertampil dalam grafik.
66
4.4.1 Pengujian Form Form yang digunakan adalah type date, form tersebut digunakan sebagai pencarian dari tanggal tertentu sampai tanggal tertentu ditentukan oleh client untuk memanggil data yang berada diantara tanggal tersebut. Data yang tertampil berupa grafik dengan keterangan waktu dan nilai level tinggi air.
Gambar 4.22 Form Pencarian Berdasarkan Tanggal
67
Pada gambar 4.22 yaitu form untuk mengambil data yang terekam oleh database. Dimana proses pengambilan data tersebut yaitu ketika form di isi dengan tanggal yang dimasukan oleh client. tooltip: { formatter: function() {
return '' +'Tanggal'+': ' + '+ this.y + '');
this.x +' '+ 'Sensor' + ':
(this.series.name == 'TCH Drop Rate' ? '' : } },
Pada program atas adalah program untuk menampilkan tanggal dan nilai tinngi air pada grafik yang diambil dari sumbu X dan sumbu Y. Dimana pada kotakan yang berwana merah ketika cursor diletakan pada grafik maka secara otomatis grafik akan mengeluarkan berupa waktu dan nilai sensor. 4.4.2 Pengujian Per Jam :
Gambar 4.23 Pengujian Level Tinggi Air Per Jam Pada pengujian kali ini dilakukan berdasarkan jam yang akan menampilkan level ketinggian air selama 24 jam. Grafik pada gambar 4.23 menunjukan data yang tersimpan di dalam database.
68
Pada sumbu x terdapat tanggal dan waktu berdasarkan data sensor yang di ambil dari database.
Pada sumbu y menampilkan jarak level tinggi air dalam satuan centimeter (cm).
Garis berwarna kuning merupakan grafik dari data level tinggi air berdasarkan waktu yang dimasukan pada form dan kotakan merah berisi informasi tanggal pengambilan yang di input pada form.
Query untuk memanggil database: $sql="SELECT waktu,avg(sensor) as sensor FROM `sensor` where waktu between '$tanggal_awal' and '$tanggal_akhir' group by hour(waktu) ";
Query diatas adalah untuk mengambil data pada atribut waktu dan sensor. Dimana pada atribut sensor tersebut di average (rata-rata) berdasarkan tangal yang dimasukan pada form. Pada query (group by hour) maksudnya pengambilan data per jam. 4.4.3 Pengujian Per Hari :
Gambar 4.24 Pengujian Level Tinggi Air Per Hari Pada pengujian kali ini dilakukan berdasarkan tanggal yang akan menampilkan level ketinggian air dari dan sampai tanggal yang diinginkan. Grafik pada gambar 4.24 menunjukan data yang tersimpan di dalam database.
69
Pada sumbu x menampilkan tanggal berdasarkan data sensor yang di ambil dari database.
Pada sumbu y menampilkan jarak level tinggi air dalam satuan centimeter (cm).
Garis berwarna kuning merupakan grafik dari data level tinggi air berdasarkan waktu yang dimasukan pada form dan kotakan merah berisi informasi tanggal pengambilan yang di input pada form.
Query untuk memanggil database: $sql="SELECT date(waktu) as waktu,avg(sensor) as sensor FROM `sensor` where waktu between '$tanggal_awal' and '$tanggal_akhir' group by date(waktu) ";
Query diatas menujunkan pengambilan data berdasarkan tanggal yang diinginkan. 4.4.4 Pengujian Per Bulan:
Gambar 4.25 Pengujian Level Tinggi Air Per Bulan
70
Pada pengujian kali ini dilakukan berdasarkan pengambilan data per bulan yang akan menampilkan level ketinggian air dari dan sampai bulan yang diinginkan. Grafik pada gambar 4.25 menunjukan data yang tersimpan di dalam database.
Pada sumbu x menampilkan bulan dalam bentuk angka berdasarkan data sensor yang di ambil dari database.
Pada sumbu y menampilkan jarak level tinggi air dalam satuan centimeter (cm).
Garis berwarna kuning merupakan grafik dari data level tinggi air berdasarkan waktu yang dimasukan pada form dan kotakan merah berisi informasi tanggal pengambilan yang di input pada form.
Query untuk memanggil database: $sql="SELECT month(waktu) as waktu,avg(sensor) as sensor FROM `sensor` where waktu between '$tanggal_awal' and '$tanggal_akhir' group by month(waktu) ";
Query di atas hampir sama dengan query per jam yang membedakan hanya pada pengambilan berdasarkan bulan pada atribut waktu dan sumbu X. Dimana pada sumbu X hanya menampilkan bulannya saja tanpa menampilkan waktu. Pada pengujian ini pengambilan level tinggi air berdasarkan bulan yang dimasukan ke dalam form. 4.4.5 Pengujian Per Tahun: Pada pengujian kali ini dilakukan berdasarkan pengambilan data per tahun yang akan menampilkan level ketinggian air dari dan sampai tahun yang ditentukan. Grafik pada gambar 4.26 menunjukan data yang tersimpan di dalam database.
71
Gambar 4.26 Pengujian Level Tinggi Air Per Hari Tahun
Pada sumbu x menampilkan tahun dalam bentuk angka berdasarkan data sensor yang di ambil dari database.
Pada sumbu y menampilkan jarak level tinggi air dalam satuan centimeter (cm).
Garis berwarna kuning merupakan grafik dari data level tinggi air berdasarkan waktu yang dimasukan pada form dan kotakan merah berisi informasi tanggal pengambilan yang di input pada form.
Query untuk memanggil database: $sql="SELECT year(waktu) as waktu,avg(sensor) as sensor FROM `sensor` where waktu between '$tanggal_awal' and '$tanggal_akhir' group by year(waktu) ";
Query di atas hampir sama dengan query per jam yang membedakan hanya pada pengambilan berdasarkan tahun pada atribut waktu dan sumbu x. Dimana pada sumbu x hanya menampilkan tahun saja tanpa menampilkan waktu. Pada pengujian ini pengambilan level tinggi air berdasarkan tahun yang dimasukan ke dalam form.