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