Pengujian Sistem IMPLEMENTASI DAN PENGUJIAN

4.3 Pengujian Sistem

Tahapan pengujian sistem adalah tahapan dimana dilakukan serangkaian langkah- langkah untuk menguji apakah sistem yang dibangun sudah berjalan dengan baik ataupun respon sistem terhadap kesalahan yang dilakukan oleh pengguna dapat ditanggulangi dengan baik atau tidak. Pada pengujian kali ini, dilakukan beberapa tahapan berikut : 4.3.1 Pengujian Cluster Server Sistem yang dibangun menggunakan server terdistribusi secara cluster pada perangkat raspberry pi2. Server yang dibangun menggunakan Simple Cluster Machine dengan memanfaatkan penggunaan Shared NFS Network File System dan teknik Message Passing untuk dapat berkomunikasi antar node seperti pada gambar 4.6. Gambar 4. 5 Tampilan hasil informasi pemilihan polutan Universitas Sumatera Utara Gambar 4. 6 Raspberry Pi Cluster Server Untuk menguji apakah semua node telah saling terkoneksi dan dapat berkomunikasi satu dengan yang lain diperlukan beberapa tes yaitu dengan : a. Pengecekan koneksi ssh pada tiap node. Proses ini membutuhkan mekanisme login menggunakan ssh tanpa password. Penggunaan ssh tanpa password dapat dibuat dengan mengenalkan tiap-tiap hostname node pada Master. b. Pada Master node, direktori varwwwhtmlskripsi dijadikan shared directory. Lalu master node melakukan binding nfs dengan menggunakan portmapper pada port 2049 seperti pada gambar 4.7 c. Pada Slave node, mounting dilakukan dengan mengeksekusi perintah: sudo mount master:varwwwhtmlskripsi varwwwhtmlskripsi . lalu cek apakah filesystem telah benar dimounting dengan eksekusi perintah : df -h Universitas Sumatera Utara d. Setelah memastikan seluruh slave node telah melakukan mounting, selanjutnya dilakukan dengan membuat sebuah file text pada shared directory di salah satu node lalu melakukan cek pada direktori yang sama di node lainnya seperti pada tabel 4.8. Gambar 4. 7 Status Network File System pada Master Node Universitas Sumatera Utara Gambar 4. 8 Status mounting Network File System pada Slave Node 4.3.2 Pengujian Web Scraping Data Polusi Proses web scraping pada sistem dijalankan secara otomatis dengan melakukan eksekusi perintah tertentu. Selama pengambilan data, penulis menggunakan 2 mesin yang berbeda yaitu komputer dengan sistem operasi windows dan server raspberry dengan sistem operasi linux. Hal ini dikarenakan keterbatasan kemampuan raspberry pi yang tidak memiliki fitur auto turn on sehingga pada saat pengambilan data, raspberry pi sering tidak hidup dikarenakan adanya gangguan listrik sehingga harus dinyalakan secara manual. Penulis menggunakan komputer windows sebagai backup untuk melakukan pengambilan data untuk mengurangi adanya data loss pada saat melakukan monitoring. Universitas Sumatera Utara Gambar 4. 9 Tampilan Halaman sebelum dilakukan scraping jam 13.50 Web scraping dijalankan dengan mengakses file .grabgrab.php pada web server lokal. Pada sistem operasi windows otomatisasi akses file tersebut dilakukan dengan menggunakan windows task scheduler yang akan terus dikerjakan secara berulang pada menit ke 30 di setiap jam. Sementara pada server raspberry pi, akses pada file grab.php menggunakan perintah curl yang dijalankan secara otomatis dengan bantuan cronjob yang akan melakukan eksekusi pada menit ke 59 di setiap jam. Perintah curl juga dapat dieksekusi secara manual seperti pada gambar 4.10 Gambar 4. 10 Eksekusi command Curl untuk melakukan scraping Universitas Sumatera Utara Gambar 4. 11 Tampilan Halaman setelah dilakukan scraping jam 14.05 Proses pengambilan data dilakukan secara background process pada sisi server, dimana aplikasi hanya sebagai aplikasi antarmuka yang tidak melakukan proses logika. Sehingga terlihat pada gambar 4.10 eksekusi telah berhasil dilakukan dan tidak mengembalikan pesan apapun. Namun, perubahan data dapat diperhatikan pada gambar 4.11. Pada gambar 4.11, kotak Current Air Quality berubah nilainya dari 38 ke 25 yang mengindikasikan pada jam sebelumya kualitas udara berada pada index 38 dan ketika pada jam selanjutnya, indeks berubah menjadi 25. Hal ini menandai bahwa proses web scraping yang telah dilakukan berhasil dieksekusi. Perubahan ini juga dapat dilihat dengan mengakses langsung ke database MySQL. Selain melihat pada antarmuka, untuk mengetahui proses web scraping telah berjalan dengan baik diperlukan logger untuk mencatat hasil dari proses di setiap jam. Log pengambilan data dikirimkan oleh server dalam bentuk file teks dengan nama file adalah tanggal pengambilan data. Gambar 4.12 adalah salah satu hasil log pengambilan data menggunakan teknik Web Scraping. Jumlah data yang terdapat pada tabel aqi akan bertambah 1 baris setiap jam nya. Proses logging ini juga bertujuan untuk mengatasi kesalahan dengan menampilkan pesan error pada file json. Universitas Sumatera Utara Gambar 4. 12 Hasil Log web scraping 4.3.3 Pengujian Pengambilan Data Cuaca Data cuaca yang digunakan pada penelitian ini merupakan data yang dihasilkan dari API Wunderground. Pemanggilan API ini menggunakan method GET atau akses langsung melalui url. API mengirimkan respon ke server berupa data dengan format JSON. Data udara wunderground dipebaharui setiap saat, oleh karena itu pada sistem ini pengambilan data cuaca dikerjakan secara otomatis dengan melakukan eksekusi url melalui cronjob secara berkala setiap 5 menit sekali. File tersebut akan dipindahkan ke server lokal dengan nama file current-tanggal.json. Karena hasil response yang diberikan oleh server berupa dalam format JSON seperti pada gambar 4.13, maka perlu dilakukan perantaraan oleh aplikasi untuk melakukan pembacaan hasil response dan menjadikannya Human-Readable dengan mengambil obyek dari JSON dan melakukan parsing informasi untuk digunakan dalam tampilan antarmuka. Objek yang diambil pada json ini adalah : • latitude • longitude • weather • temp_c • relative_humidity Universitas Sumatera Utara • wind_string Universitas Sumatera Utara Gambar 4. 13 Potongan File JSON hasil pengambilan Data Cuaca Universitas Sumatera Utara 4.3.4 Pengujian Klasifikasi Kualitas Udara Data yang telah dibersihkan dan diseleksi lalu ditraining dengan menggunakan algoritma naïve bayes. Algoritma ini dijalankan sebagai background process pada server dan didistribusikan serta dieksekusi secara paralel di setiap node. Dikarenakan proses berjalan secara background, hasil klasifikasi kemudian dimasukkan ke dalam mysql database. Pada tampilan antarmuka, data hasil klasifikasi ditampilkan seperti pada gambar 4.14. gambar 4.14 menampilkan kondisi udara pada saat itu dan juga hasil klasifikasi kualitas udara pada hari terakhir dari data yang telah terkumpul. Screenshot menampilkan data klasifikasi pada hari ke-197 pengambilan data. Gambar 4. 14 Hasil Klasifikasi Kualitas Udara Universitas Sumatera Utara

BAB 5 KESIMPULAN DAN SARAN