Klasifikasi Kualitas Udara Menggunakan Naïve Bayes Classifier Pada Sistem Terdistribusi Raspberry Pi Cluster Server

(1)

DAFTAR PUSTAKA

Abdullah, L & Khalid, N.,K. 2012. Classification of air quality using fuzzy synthetic multiplication. Environt Monit Assess (2012) 184, pp : 6957–6965 .

Arasu, A & Garcia-Molina., H. 2003. Extracting structured data from web pages. In Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, pp:337 – 348.

Azman, A., Juahir, H., Toriman, E., Kamarudin, M.K.A. & Saudi, A.S. 2014. Prediction of the Level of Air Pollution Using Principal Component Analysis and Artificial Neural Network Techniques: a Case Study in Malaysia. Water, Air & Soil Pollution (2014) 225:2063.

Badan Pengendali Dampak Lingkungan. 1998. Pedoman Teknis Perhitungan dan Pelaporan Serta Informasi Indeks Standar Pencemaran Udara. (Online) Pencemar%20Udara).htm (27 Juli 2016)

Colouris, G. 2016. Distributed System : Concept and Design. Boston : Pearson Education-Limited: Singapore.

Corani., G & Scagnata., M. 2016 Air Pollution Prediction Via Multi-label Classification. Journal of Environmental Modelling & Software, pp:259-264. Effect of Air Pollution. Scienceunraveledcom, (diakses 02 september 2016).

Erick Rodriguez. 2010. Type of Server Clustering. (online)

Fardiaz, S. 2003. Polusi Air dan Udara. Kanisius : Yogyakarta.

Gibert, K., Sànchez-Marrè, M. and Sevilla, B., 2012. Tools for environmental data mining and intelligent decision support. In International Congress on Environmental Modelling and Software.

Huang, YC & Ghio, AJ. 2006. Vascular Effect of Ambient Pollutant Particles and Metals. Curr Vasc Pharmacol. 2006 Jul;4(3):199-203.

Josi, A., Abdillah L. A & Suryayusra. 2014. Penerapan Teknik Web Scraping Pada Mesin Pencari Artikel Ilmiah. Skripsi. Universitas Bina Darma.


(2)

Kepala Badan Pengendalian Dampak Lingkungan. 1997. Pedoman Teknis Perhitungan Dan Pelaporan Serta Informasi Indeks Standar Pencemar Udara. (diakses 20 juli 2016)

Koduvely, M,H. 2015. Learning Bayessian Model With R. Packt Publisher : United Kingdom.

Li., S,T & Shue., L,Y. 2004. Data mining to aid policy making in air pollution management. Expert Systems with Applications 27(3): 33 1-340.

Liao, Z., Peng, Y., Liang, X & Zhao., Y. 2014. A Web Based Visual Analytics System for Air Quality Monitoring Data. In 22nd International Conference on Geoinformatics, pp. 1-6

Liu, A., Huang, M., Kim & T.K., Yoo., C. 2012. Adaptive neuro-fuzzy inference system based faulty sensor monitoring of indoor air quality in a subway station. Korean Journal of Chemical Engineering 30 (3), 528-539

Ma, Y., Richards, M., Ghanem M., Guo, Y & Hassard, J. 2008. Air Pollution Monitoring and Mining Based on Sensor Grid in London. Sensors. 8(6), pp: 3601-3623.

Ministry of Environmental Protection. HJ633-2012. People's Republic of China National Standard-Technical Regulation on Ambient Air Quality Index (on trial) [S]. Beijing: China Environmental Science Press, 2012 02-29

Pereira., R., C & Vanitha., T. 2015. Web Scraping of Social Networks. International Journal of Innovative Research in Computer and Communication Engineering, Volume 3, pp: 237 – 240.

Poschl,U. 2005. Atmospheric Aerosol: Composition, Transformation, Climate and Health Effect. Angewandte Chemie International Edition, Volume 44, pp : 7520-7540

Rahm, E & Do., H.,H. 2000. Data Cleaning: Problems and current approaches. IEEE Data Eng. Bull. Volume: 23, pp 3-13.

Santi, P. 2012. Analisis Kualitas Udara Stasiun Global Atmosphere Watch (GAW) Bukit Kototabang Kabupaten Agam Sumatera Barat. Skripsi. Universitas Gajah Mada


(3)

Tanenbaum., A S. 2003. Distributed Systems Principles and Paradigms. Pearson Education : Singapore.

Turland, M. 2010. php|architect's Guide to Web Scraping with PHP. php|architect press : United States.

Welter, S., Mayer, J.H. and Quick, R., 2013. Improving Environmental Scanning Systems Using Bayesian Networks. BuR-Business Research, 6(2), pp:196-213.

Zheng., H. 2009. Design and Application for Environmental Air Quality Monitoring System. The Ninth International Conference on Electric Measurement & Instruments, pp: 218 - 221


(4)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

Bab ini secara garis besar membahas analisis metode Web Scrapping dan Naïve Bayes Classifier pada sistem dan tahap-tahap yang dilakukan dalam perancangan sistem yang akan dibangun.

3.1 Data Yang Digunakan

Data yang digunakan dalam penelitian ini adalah data yang bersumber dari website aqicn.org. Website ini merupakan sebuah website monitoring kualitas udara yang memberikan gambaran bagaimana kualitas dengan menampilkan nilai-nilai konsentrasi polutan dari beberapa daerah yang ikut serta mengumpukan data secara crowdsourcing.

Pada sistem yang akan dibangun, data yang akan digunakan merupakan data kota Beijing. Penggunaan data kota ini dikarenakan nilai seluruh parameter polutan yang dibutuhkan untuk klasifikasi tersedia lengkap dan memiliki nilai yang beragam. Pengumpulan data dilakukan dengan menggunakan metode web scraping yang dikerjakan secara periodik. Setelah data terkumpul kemudian dilakukan analisa data yang sesuai dengan kebutuhan sistem ini. Oleh karena itu, untuk menghasilkan kesimpulan berdasarkan rule pada analisis data, diperlukan data nilai variabel-variabel polutan udara di kota Beijing. Analisis data tersebut dilakukan berdasarkan klasifikasi menggunakan algoritma Naïve Bayes Classifier.

Website aqicn.org merupakan website yang menyediakan informasi kualitas udara. Data pada website ini yang akan diambil adalah :

1. Karbon Monoksida (CO) 2. Ozon Permukaan (O3)


(5)

(6)

6. Temperatur

7. Titik EmbunTekanan Udara 8. Kelembapan, dan

9. Kecepatan Angin

Keseluruhan data yang disebutkan dapat dilihat pada halaman website seperti yang terdapat pada gambar 3.1.

3.2 Arsitektur Umum

Proses analisis dilakukan sebelum melakukan perancangan. Dilakukan analisis unuk mendapatkan kebutuhan dari sistem yang akan dikembangkan. Sistem ini bertujuan menyediakan informasi mengenai kualitas udara dengan pengolahan data dan klasifikasi menggunakan API yang diimplementasikan pada raspberry pi server cluster grid. Untuk dapat membangun sistem ini, diperlukan beberapa metode yang akan diimplementasikan, yaitu metode web scraping dan naïve bayes classifier. Secara umum metode yang diajukan digambarkan pada arsitektur umum pada Gambar 3.2.


(7)

Gambar 3. 2 Arsitektur Umum

Arsitektur umum pada gambar 3.2 memiliki beberapa tahapan dalam menjalankan seluruh proses yang ada baik dari input, proses utama hingga menghasilkan output. Proses-proses tersebut dijabarkan pada poin-poin berikut ini :

3.2.1 Web Scraping

Penggunaan teknik scraping dilakukan dalam pengumpulan data karena metode ini dapat dengan mudah mengambil informasi yang tersedia pada halaman website ataupun dokumen lainnya. Dengan menggunakan pembedahan struktur data semantik pada website ataupun dokumen, ekstraksi nilai yang telah ditampilkan pada dokumen menjadi mudah. Pada penelitian ini penulis mengambil data dari struktur website aqicn.org lalu menyimpan data tersebut secara berkala dengan bantuan cronjob pada server ke dalam database MySQL. Adapun pseudo code untuk melakukan web scraping pada penelitian ini terdapat pada gambar 3.3:


(8)

Langkah langkah pada pseudocode dapat dijelaskan sebagai berikut : 1. Melakukan pengecekan url yang valid

URL dari halaman websit pemrograman untuk membuat web scraping melakukan pengecekan apakah website tersebut valid atau tidak.

2. Melakukan render struktur data semantik

Pada tahap ini halaman website yang telah ditentukan kemudian diubah menjadi kode kode program yang masih memiliki spesial karakter yang belum terstruktur. Halaman website kemudian diubah menjadi rangkaian string array dalam plain teks, lalu dilakukan pemilahan dan pengenalan tag, selector dan beberapa atribut lain penyusun kode sebuah halaman website menjadi menjadi objek objek dokumen (DOM).

3. Melakukan parse halaman website

Pada tahap ini hasil objek dokumen pada keluaran yang telah didapatkan melalui tahapan sebelumnya kemudian dipilih field mana yang akan diambil datanya. Hasil parse data pada langkah ini kemudian akan diekstraksi. Field yang akan diekstraksi datanya dapat dilihat pada gambar 3.2.

Function scraping(url)

check_is_valid_url(url) urlpage = this -> url data = parse(urlpage)

for each parseData in data : getSpecialWrapperClass() constructParameters() worth = WorthtoSave()

If worth = true saveData() end


(9)

4. Ekstraksi class elemen spesial dan value dari polutan

Bagian website yang akan diambil datanya ditandai dengan class elemen spesial yaitu : aqiwgt-table-aqiinfo. Di dalam class tersebut terdapat beberapa field yang menyimpan nilai nilai yang dibutuhkan, field tersebut ditandai dengan field : pm25, pm10, o3, no2, so2, co, t, d,p, h dan w. Gambar 3.3 merupakan potongan source code dari halaman website aqicn yang menyimpan informasi nilai yang akan diambil datanya dengan menggunakan web scraping.

Data tersebut masih terdapat dalam tag, langkah selanjutnya adalah normalisasi dengan menghilangkan tag-tag yang tidak diperlukan lalu mengekstrasksi teks informasi yang diinginkan ke dalam sebuah array.

Gambar 3. 4 Data yang akan diambil (sumber: http://aqicn.org/beijing) 5. Pengecekan data

Didalam sistem sering kali terjadi kesalahan ketika melakukan otomasi penyimpanan data. Untuk itu pengecekan data yang akan diambil, diperlukan untuk menghindari duplikasi data yang sama dengan sebelumnya.


(10)

Gambar 3. 5 Potongan code isi Wrapper 6. Menyimpan data

Nilai yang telah dimasukkan ke dalam array pada langkah ke 5 kemudian disusun ke dalam sebuah string yang nantinya akan dikonstruksi menjadi sintaks query untuk dapat disimpan ke dalam database.

3.2.2 Data Cleaning

Proses pemutakhiran data merupakan proses yang diperlukan untuk mendapatkan data yang terbaik dengan beberapa cara. Untuk mendapatkan data yang baik dan memiliki sedikit noise, penulis menggunakan metode data cleaning digunakan untuk deteksi dan menghapus error serta inkonsistensi dari bongkahan data untuk meningkatkan kualitas data yang akan diolah (Rahm & do, 2000). Pada penelitian ini, data yang telah didapat akan dibersihkan dengan mengubah nilai dari field – field yang tidak sesuai menjadi string value yang sebenarnya.

Dalam penelitian ini, cleaning data yang dimaksud adalah dengan menghilangkan nilai yang tidak sesuai atau tidak valid seperti pada gambar 3.5. Pada


(11)

Gambar 3. 6 Raw data yang tidak valid 3.2.3 Data Selection

Pada tahap ini dilakukan proses seleksi pada data untuk melihat kecenderungan data dikarenakan data yang terdapat pada tabel hasil scraping memiliki tingkat kepentingan yang berbeda. Hasil dari proses ini adalah menghasilkan beberapa parameter atribut dalam penentuan kualitas udara yaitu NO, SO2, CO, O3, dan Curah Hujan.

3.3 Perancangan Server Cluster Raspberry Pi

Pada penelitian ini sistem yang dibangun akan diterapkan pada sebuah cluster server grid berbasis raspberry pi yang terdiri dari satu buah node master dan empat buah node slave seperti pada gambar 3.6. Raspberry pi yang dipakai pada sistem ini adalah lima buah raspberry pi 2.

Raspberry pi yang telah diinstall sistem operasi raspbian kemudian dihubungkan pada jaringan. Penggunaan jaringan bertujuan agar setiap node raspberry dapat berkomunikasi dalam melakukan eksekusi proses secara terdistribusi. Masing masing raspberry pi telah membutuhkan beberapa aplikasi dan library tambahan yang wajib diinstall yaitu :

a. Nfs-kernel-server dan nfs-client b. Portmapper

c. Passwordless ssh, dan d. Mpich 2

e. Python 2.7.12 dan python 3.5

Setelah paket paket aplikasi di atas telah diinstall, lalu node-node raspberry dapat dibangun dengan arsitektur seperti pada gambar 3.5 :


(12)

Gambar 3. 7 Arsitektur Raspberry Pi Server Grid 3.4 Naïve Bayes Classifier

Pada tahapan ini, data hasil web scraping yang telah diproses menjadi dataset untuk training dan testing kemudian diolah untuk dapat diklasifikasikan menggunakan algoritma naïve bayes classifire. Algoritma ini akan menghitung nilai probabilitas dari range data per minggu, lalu mengklasifikasikannya berdasarkan 6 tingkatan nilai AQI. Dalam melakukan implementasi algoritma Naïve Bayes perlu diperhatikan rasio pembagian data training dan data testing serta tingkat akurasi prediksi hasil klasifikasi. Sebagai contoh untuk melakukan klasifikasi data dalam 1 hari dengan data seperti pada gambar 3.6

Dengan menggunakan teorema Bayes, kita dapat melakukan kalkulasi nilai rata-rata tertinggi dari beberapa parameter. Pada gambar 3.6 terlihat secara jelas bahwa data untuk parameter PM2.5 memiliki nilai yang sangat tinggi dibandingkan dengan yang lain.


(13)

(14)

Berdasarkan rumus, langkah selanjutnya yang dilakukan adalah :

1. Melakukan konversi data polutan PM2.5 pada gambar 3.6 menjadi tabel 3.1 : Tabel 3. 1Tabel Frekuensi AQI Level selama 24 Jam

Level Frekuensi

Good 0

Moderate 0

Unhealthy For Sensitive

Groups 0

Unhealthy 7

Very Unhealthy 17

Hazardous 0

Total Data 24

2. Buat Tabel kemungkinan berdasarkan tabel frekuensi 3.1 menjadi tabel 3.2

Tabel 3. 2 Tabel Kemungkinan Berdasarkan tabel frekuensi

Level Frekuensi Kemungkinan

Good 0 0/24 0

Moderate 0 0/24 0

Unhealthy For

Sensitive Groups 0 0/24 0

Unhealthy 7 7/24 0.29

Very Unhealthy 17 17/24 0.70

Hazardous 0 0/24 0


(15)

3. Gunakan Rumus Bayessian (rumus 2.2) untuk melakukan kalkulasi probabilitas akhir dari setiap kelas. Kelas dengan probabilitas akhir tertinggi kemungkinan merupakan hasil prediksi klasifikasi. Dalam hal ini ada 2 kelas yang memiliki nilai probabilitas lebih tinggi dari kelas lainnya yaitu :

�����(��ℎ����ℎ�) = 7

24 = 0.29

�����(������ℎ����ℎ�) = 17

24 = 0.70

Berdasarkan contoh Prior Probabilitas di atas, diasumsikan untuk objek baru yang akan diklasifikasikan akan berada diantara dua kelas tersebut. Kemudian kita dapat menghitung kemungkinan dengan perbandingan 1 : 3 dimana dalam sebuah himpunan terdapat 1 objek dengan kemungkinan Unhealthy dan 3 objek dengan kemungkinan Very Unhealthy.

����ℎ���(�|��ℎ����ℎ�) = 1

7 = 0.14

����ℎ���(�|������ℎ����ℎ�) = 3

17 = 0.17

Maka kemungkinan akhir objek X untuk berada dalam kategori Unhealthy adalah:

���������(�|��ℎ����ℎ�) = 7 24 ×

1

7 = 0.04

Sementara kemungkinan akhir objek X untuk berada dalam kategori Very Unhealthy adalah :

���������(�|������ℎ����ℎ�) = 17 24 ×

3

17 = 0.303

Maka, objek X dapat diklasifikasikan sebagai Very Unhealthy dikarenakan kelas tersebut memiliki kemungkinan posterior yang terbesar.

(3.2) (3.3) (3.5) (3.6) (3.7) (3.4)


(16)

3.5 Perancangan Antarmuka Sistem

Perancangan antarmuka merupakan tahap dimana melakukan perancangan tampilan yang menghubungkan pengguna dengan aplikasi. Perancangan antar muka sendiri dilakukan sebelum melakukan implementasi agar mendapatkan gambaran umum setiap tampilan yang terdapat pada aplikasi yang dibangun. Hal ini dilakukan agar memudahkan dalam pengembangan sistem. Dalam melakukan perancangan antarmuka diusahakan membuat tampilan dan layout yang bersifat mudah digunakan, sehingga pengguna dapat mengguna aplikasi dengan tepat dan benar.

3.5.1 Perancangan Halaman Utama Hasil Klasifikasi

Halaman utama pada sistem ini merupakan halaman depan yang menampilkan data hasil klasifikasi kualitas udara yang telah diproses secara background pada server. Ketika halaman ini dibuka, akan terdapat beberapa elemen penyusun halaman seperti kotak nilai dari masing masing parameter polutan, kotak nilai polutan utama hasil klasifikasi dan kotak yang menampilkan grafik kualitas udara selama beberapa minggu.

Pada kotak nilai klasifikasi terdapat teks yang menjelaskan secara singkat mengenai kondisi kualitas udara terakhir pada saat user mengakses halaman tersebut. Pada elemen ini juga terdapat sebuah tombol yang akan mengarahkan user pada halaman yang menjelaskan mengenai kualitas udara secara lebih detail. Rancangan halaman ini dapat dilihat pada gambar 3.7


(17)

Gambar 3. 9 Rancangan tampilan halaman utama 3.5.2 Perancangan Halaman Informasi Health Concern

Pada halaman ini user dapat mengetahui informasi terkait masalah kesehatan yang mungkin terjadi diakibatkan nilai polutan yang mencapai ambang batas tertentu. Ketika halaman ini dibuka, terdapat kotak berisi combobox untuk user dapat memilih jenis polutan dan ambang batasnya dan sebuah tombol untuk memproses pilihan user.

Pada halaman ini terdapat juga sebuah kotak yang berisi tabel hasil yang menggambarkan sensitifitas, dampak kesehatan dan pencegahan dari jenis polutan dan ambang batas yang dipilih user sebelumnya. Lalu pada halaman ini juga terdapat sekilas mengenai level kualitas udara sehingga pada halaman ini difokuskan untuk informasi umum mengenai dampak bahaya dan batas toleransi dari pencemaran udara. Rancangan halaman ini dapat dilihat pada gambar 3.8.


(18)

(19)

BAB 4

IMPLEMENTASI DAN PENGUJIAN

Setelah melakukan analisis dan perancangan sistem selanjutnya dilakukan implementasi. Pada bab ini akan membahas tentang hasil yang diperoleh setelah melakukan implementasi.

4.1 Implementasi Sistem

Dalam penelitian ini, penerapan metode Web Scraping dilakukan dengan menggunakan bahasa pemograman PHP, metode Naïve Bayes menggunakan bahasa pemrograman Python, sedangkan untuk antarmuka menggunakan HTML beserta Javascript.

4.1.1 Konfigurasi Perangkat Keras

Spesifikasi perangkat keras yang digunakan untuk membangun sistem ini dan agar pengujian dapat berjalan dengan baik, penelitian ini menggunakan lima unit mini komputer raspberry pi 2 dengan spesifikasi perangkat keras yang dapat dilihat pada tabel 4.1.

Tabel 4. 1 Konfigurasi perangkat keras yang digunakan No. Jenis Komponen Komponen yang digunakan

1. SoC Broadcom BCM2836

2. CPU 900 MHz quad-core ARM Cortex A7 (ARMv7) 3. Kartu Grafis -

4. Storage 16GB Sandisk Ultra Class 10 Memory Card 5. Network 10/100Mbps Ethernet


(20)

4.1.2 Konfigurasi Perangkat Lunak

Konfigurasi Perangkat Lunak yang digunakan pada penelitian ini, baik saat proses implementasi maupun pengujian dapat dilihat pada tabel 4.2.

Tabel 4. 2Konfigurasi perangkat lunak yang digunakan

No. Jenis Software Software yang digunakan

1. Sistem Operasi Microsoft® Windows 10 Pro 64bit

2. Sistem Operasi Server Raspbian Jessie

3. Browser Min. Chrome v42

4. IDE Sublime Text Editor

5. Library SciPy dan NumPy

6. Python Version Python 2.7.12 atau 3.5.1

4.2 Implementasi Perancangan Antar Muka

Berikut akan dijelaskan tampilan dari aplikasi yang dibangun. Pada aplikasi ini, hanya memiliki dua buah tampilan, yaitu tampilan informasi kualitas udara dan halaman informasi mengenai kesehatan terkait pencemaran udara.. Kedua tampilan tersebut dibangun dengan menggunakan bahasa pemograman HTML dan didukung dengan Javascript. Berikut merupakan hasil implementasi dari perancangan yang telah dilakukan :

4.2.1 Tampilan Halaman Informasi Kualitas Udara

Hasil dari implementasi berdasarkan rancangan yang dilakukan bab 3 dimana Tampilan halaman Informasi Kualitas Udara dapat dilihat pada Gambar 4.1.


(21)

Gambar 4. 1 Tampilan halaman utama Kualitas Udara

Pada tampilan halaman Informasi kualitas udara, terdapat kotak panel informasi nilai AQI (Air Quality Index) yang berisi kondisi udara pada saat sekarang didalam kotak yang akan berubah warna sesuai dengan kualitas udara pada saat tersebut. Di dalam panel terdapat kondisi cuaca, suhu, waktu terakhir ketika sistem melakukan update data dan sebuah tombol berwarna biru yang akan menampilkan sebuah dialog untuk menjelaskan indikator warna kualitas udara seperti pada gambar 4.2.

Kemudian di dalam halaman yang sama terdapat panel yang berisi tabel nilai konsentrasi dari beberapa parameter polutan. Dan informasi cuaca yang lebih detail dari panel sebelumnya. Lalu dibawah kedua panel terdapat sebuah box yang menampilkan grafik perubahan nilai AQI selama 24 jam terakhir. Grafik tersebut


(22)

menggambarkan beberapa nilai polutan dan perubahan yang terjadi setiap jam selama proses monitoring.

Gambar 4. 2 Tampilan dialog indikator kualitas udara

4.2.2 Tampilan Halaman Informasi Health Concern

Selain untuk memberikan gambaran umum tentang nilai kualitas udara pada saat sekarang, user juga membutuhkan informasi yang dapat memberikan pemahaman mengenai bahaya dan dampak dari pencemaran udara pada kesehatan tubuh seperti terdapat pada gambar 4.3.

Pada halaman ini, user diberikan sebuah form sederhana berisi dua buah combobox, yang pertama untuk memilih jenis polutan dan yang kedua untuk memilih ambang batas berdasarkan level AQI seperti yang dapat dilihat pada gambar 4.4.


(23)

Gambar 4. 4 Form Untuk memilih Jenis Polutan dan Level Batas

Lalu terdapat sebuah tombol untuk memproses request dari user sehingga ditampilkan informasi mengenai polusi dan dampaknya bagi kesehatan. Ketika tombol di klik, maka tabel disebelah form akan terisi informasi seperti pada gambar 4.5.


(24)

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.


(25)

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 /var/www/html/skripsi/ 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:/var/www/html/skripsi/ /var/www/html/skripsi/ . lalu cek apakah filesystem telah benar dimounting dengan eksekusi perintah : df -h


(26)

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.


(27)

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.


(28)

Gambar 4. 9 Tampilan Halaman sebelum dilakukan scraping (jam 13.50)

Web scraping dijalankan dengan mengakses file ./grab/grab.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


(29)

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.


(30)

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 •


(31)

(32)

(33)

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.


(34)

BAB 5

KESIMPULAN DAN SARAN 5.1 Kesimpulan

Setelah melakukan penelitian dan pembangunan aplikasi ini, dapat diambil kesimpulan dengan melakukan implementasi Web Scraping dapat membentuk sebuah model pengumpulan data udara yang termonitoring dengan baik. Dan dengan penerapan Distributed Naïve Bayes Classifier, hasil pengelolaan data yang telah didapatkan melalui model sebelumnya dapat memberikan hasil klasifikasi mengenai kualitas udara secara harian dengan akurasi 98% dan dengan sumber daya minimal pada perangkat Raspberry Pi. .

5.2 Saran

Beberapa saran yang dapat menjadi pertimbangan dalam penelitian selanjutnya ialah: 1. Melakukan pengumpulan data menggunakan data hasil sensor udara.

2. Dapat menggunakan pengecekan berkala dalam monitoring pengumpulan data untuk dapat mengurangi adanya data yang hilang.

3. Menggunakan Penjadwalan Pengerjaan (Job Schedulling) secara paralel untuk pengelolaan data yang lebih baik pada sistem terdistribusi.

4. Menambahkan kecerdasan buatan agar dapat mengklasifikasikan data secara real-time .


(35)

BAB 2

LANDASAN TEORI

Bab ini akan membahas tentang teori-teori pendukung dan penelitian sebelumnya yang berhubungan dengan polusi udara, Web Scraping, Distibuted System dan penerapan Naïve Bayes Classifier dalam melakukan klasifikasi kualitas udara.

2.1 Pencemaran Lingkungan

Lingkungan hidup merupakan ekosistem dimana benda hidup dan mati saling berhubungan satu dengan yang lain secara alamiah. Hubungan yang dimaksud adalah seperti makhluk hidup, iklim, cuaca dan sumber daya alam yang mempengaruhi cara manusia bertahan hidup (Johnson, et al, 1996). Lingkungan sering kali mengalami pencemaran baik air, tanah maupun udara. Pencemaran mempengaruhi ekosistem yang ada di area tersebut.

2.1.1 Pencemaran udara

Pencemaran udara adalah suatu kondisi yang menyebabkan perubahan pada komposisi udara dibandingkan keadaan normal sehingga membahayakan kehidupan dan kesehatan masyarakat. Menurut PP No. 41 Tahun 1999, pencemaran udara adalah masuknya atau dimasukkannya zat, energi, dan/atau komponen lain ke dalam udara ambien oleh kegiatan manusia, sehingga mutu udara ambien turun sampai ke tingkat tertentu yang menyebabkan udara ambien tidak dapat memenuhi fungsinya. Sumber polusi utama berasal dari transportasi di mana hampir 60 % dari polutan yang dihasilkan terdiri dari karbon monoksida dan sekitar 15 % terdiri dari hidrokarbon. Gambar 2.1 menjelaskan sumber – sumber polusi lainnya seperti pembakaran, proses industri, pembuangan limbah dan lain – lain (Fardiaz, 2003).


(36)

Gambar 2. 1 Siklus pencemaran udara (Sumber : http://scienceunraveled.com/) Dikarenakan adanya faktor meteorologi, beberapa polutan akan mengalami berbagai reaksi fisika dan kimia. Faktor meteorologi yang dimaksud antara lain seperti sinar matahari, kelembaban dan temperatur. Angin juga berpengaruh dalam pencemaran, dorongan angin akan menyebabkan polutan terdispersi (tersebar) mengikuti arah angin tersebut. Sebagian polutan dalam perjalanannya dapat terdeposisi (deposited) atau mengendap ke permukaan tanah, air, bangunan, dan tanaman. Sebagian lainnya akan tetap tersuspensi (suspended) di udara. Seluruh kejadian tersebut akan mempengaruhi konsentrasi polutan-polutan di udara ambien atau dengan kata lain, mengubah kualitas udara ambien (Kemenlh, 2007).

Di daerah perkotaan dan industri, parameter bahan pencemar yang perlu diperhatikan dalam hubungannya dengan penyakit saluran pernapasan adalah parameter gas SO2, gas CO, gas NO2 dan partikel debu (Holzworth & Cormick, 1976). Sumber bahan pencemar udara menentukan jenis bahan pencemarnya. Hal ini dapat terlihat pada tabel sebagai berikut :


(37)

Keterangan :

+ = menghasilkan - = tidak menghasilkan

2.1.2 Kualitas udara dan kesehatan

Variasi zat-zat polutan menyebar komposisi kimianya di udara dapat menyebabkan dampak pada kesehatan manusia dan hewan. Particulate matter (PM) merupakan salah satu jenis polutan di udara, berupa campuran berbagai macam partikel kompleks pada udara untuk bernafas dengan berbagai ukuran dan komposisi dan diproduksi oleh banyak aktivitas alami dan manusia (Poschl, 2005). Sumber utama polutan partkiel adalah pabrik, pembangkit listrik, kebakaran, dan sebagainya.

Dampak pada kesehatan manusia dapat berupa mual, kesulitan bernafas, atau iritasi kulit bahkan dapat mengakibatkan kanker. Dapat juga menyebabkan cacat lahir, keterlambatan perkembangan serius pada anak-anak, dan penurunan aktivitas sistem kekebalan tubuh, serta menyebabkan sejumlah penyakit lainnya. Data Model epidemiologi dan hewan menunjukkan bahwa sistem terutama yang terkena dampak adalah kardiovaskular dan sistem pernapasan. Namun, fungsi dari beberapa organ lain dapat juga dipengaruhi (Huang and Ghio, 2006).

Tabel 2. 1Bahan Yang Menghasilkan Pencemaran Udara (Sumber : http://helpingpeopleideas.com/publichealth/sumber-pencemar-udara/)


(38)

2.1.3 Air Quality Index

Indeks kualitas udara (AQI) adalah nilai yang digunakan oleh instansi pemerintah untuk memberikan gambaran kepada masyarakat tentang kondisi udara atau bagaimana prediksi pencemaran yang akan terjadi. Perhitungan AQI membutuhkan nilai konsentrasi polutan pada rata rata periode tertentu yang didapatkan dari hasil monitoring udara. Polutan udara memiliki potensi yang berbeda beda dan rumus yang digunakan untuk mengubah konsentrasi polutan ke nilai AQI berbeda di setiap polutannya. Setiap rentang nilai aqi digambarkan dengan warna warna tertentu sesuai dengan ketetapan (Liao, 2014).

American Environmental Protection Agency (EPA) telah mengembangkan Indeks Kualitas Air yang digunakan untuk melaporkan kualitas udara. Level pencemaran menurut AQI dibagi menjadi enam kategori yang menunjukkan peningkatan bahaya dan dampaknya bagi kesehatan. Pada tabel 2.2 nilai AQI yang melebihi dari angka 300 dikategorikan sebagai kualitas udara berbahaya dan di bawah 50 kualitas udara yang baik. AQI didasarkan pada lima kriteria polutan yang diatur dalam Clean Air Act yaitu : tingkat ozon permukaan (O3), Partikel materi (PM2.5 dan

PM10), karbon monoksida (CO), sulfur dioksida (SO), dan nitrogen dioksida (NO).

Tabel 2. 2 Level Pencemaran menurut AQI

EPA telah menetapkan Standar Kualitas Udara Ambien Nasional (NAAQS)

Nilai AQI Level Kesehatan Warna

0 - 50 Good Hijau

51 – 100 Moderate Kuning

101 – 150 Unhealthy for sensitive groups Orange

151 – 200 Unhealthy Merah

201 – 300 Very Unhealthy Ungu


(39)

Act membutuhkan EPA untuk meninjau Standar Kualitas Air Ambient Nasional setiap lima tahun untuk mencerminkan berkembang informasi efek kesehatan. Indeks Kualitas Udara disesuaikan secara berkala untuk mencerminkan perubahan ini. Rumus yang digunakan dalam melakukan kalkulasi nilai AQI adalah sebagai berikut :

� = �ℎ��ℎ− ����

�ℎ��ℎ− ���� (� − ����) + ���� dimana

� = ������������� U���� ,

= Konsentrasi Polutan,

���� = ����������������≤�,

�ℎ��ℎ = ����������������≥�,

���� = �������������������������,

�ℎ��ℎ = ����������������������ℎ��ℎ,

Jika beberapa pollutan diukur pada sistem monitoring, maka nilai AQI yang paling besar atau dominan yang akan dikirimkan untuk lokasi terntentu. Data monitoring secara real time pada umumnya tersedia pada rata-rata waktu 1 jam. Namun, perhitungan AQI bagi beberapa pollutan membutuhkan nilai rata-rata dari waktu yang cukup lama. Sebagai contoh untuk melakukan perhitungan AQI ozone membutuhkan perhitungan rata-rata selama 8 jam., sementara PM2.5 membutuhkan rata-rata waktu 24 jam.

2.2 Web Scraping

Web scraping atau disebut juga dengan web harvesting atau web data extraction adalah sebuah teknik program komputer untuk melakukan ekstraksi informasi dari sebuah halaman website. Web Scraping tidak dapat dimasukkan dalam bidang data mining karena data mining menyiratkan upaya untuk memahami pola semantik atau tren dari sejumlah besar data yang telah diperoleh. Aplikasi web scraping (juga


(40)

disebut intelligent, automated, or autonomous agents) hanya fokus pada cara memperoleh data melalui pengambilan dan ekstraksi data dengan ukuran data yang bervariasi (Josi et.al, 2014).

Data dimanipulasi dengan menggunakan query. Kegiatan untuk melakukan ekstraksi informasi terstruktur dari sebuah halaman website biasanya diimplementasikan pada program yang disebut wrapper (Arasu & Garcia-Molina, 2003). Web scraping memiliki sejumlah langkah, sebagai berikut:

1. Create Scraping Template: Pembuat program mempelajari dokumen HTML dari website yang akan diambil informasinya untuk tag HTML yang mengapit informasi yang akan diambil.

2. Explore Site Navigation: Pembuat program mempelajari teknik navigasi pada website yang akan diambil informasinya untuk ditirukan pada aplikasi web scraper yang akan dibuat.

3. Automate Navigation and Extraction: Berdasarkan informasi yang didapat pada langkat 1 dan 2 di atas, aplikasi web scraper dibuat untuk mengotomatisasi pengambilan informasi dari website yang ditentukan. 4. Extracted Data and Package History: Informasi yang didapat dari

langkah 3 disimpan dalam tabel di database.

2.2.1 Struktur Semantik

Semantic Web bertujuan untuk membangun sebuah framework yang memungkinkan data untuk dibagi dan digunakan kembali antar aplikasi, enterprise dan komunitas. Dengan menggunakan RDF (Resource Description Framework) sebagai basis model data fleksibel dan menggunakan ontologi untuk merepresentasikan data semantik. Banyak halaman website sekaran gmenggunakan model relasional dan XML tree model untuk merepresentasikan data terstruktur dan semi-terstruktur.

Sebuah XML Schema mendefinisikan sebuah dokumen yang memiliki sintaks yang valid dan tidak formal. Sementara halaman web (HTML) memiliki struktur yang sama dengan XML namun sintak yang digunakan telah didefinisikan menurut standar W3C (World Wide Web Consortium), sehingga halaman website


(41)

Gambar 2. 2 Object Tree Model (Sumber: www.w3schools.com) 2.2.2 HTML Parser

Sebuah halaman website biasanya disusun menggunakan kode-kode standar berupa tag-tag html yang memiliki karakter karakter spesial dalam penyusunan halaman website. Sebuah teknik untuk menganalisis dan membagi rangkarian string menjadi komponen-komponen dan menggambarkan aturan sintaksis disebut dengan parsing. HTML parsing dapat diartikan dengan membaca kode kode html untuk membagi karakter sintaksis yang bertujuan untuk mengambil informasi yang relevan dari sebuah halaman website.

2.2.3 Extracting and Saving Data

Untuk dapat mengetahui data apa yang akan diambil dari metode web scraping, terlebih dahulu diperlukan adanya pengenalan pola dari halaman website yang akan diambil datanya. Pengenalan pola template website dilakukan dengan memanfaatkan struktur semantik dari alaman website tersebut. Setelah diperoleh template, kemudian dilakukan ekstraksi data dengan mengubah struktur semantik menjadi objek-objek dokumen (DOM) dan menyimpannya ke dalam struktur array.

Data yang telah masuk ke dalam array kemudian disimpan ke dalam database dengan menggunakan query pada engine Mysql. Penyimpanan data dapat dilakukan dengan melakukan eksekusi sintaks query untuk menyimpan data.


(42)

2.3 Sistem Terdistribusi

Sistem terdistribusi adalah kumpulan dari komputer secara independen yang terhubung dalam sebuah jaringan dimana bagi user merupakan sebuah sistem yang koheren. Tujuan utama dari sebuah sistem terdistribusi adalah agar dapat dengan mudah menghubungkan user dengan sumber daya yang didistribusikan melalui network (Tanenbaum, 2003).

Sebuah program komputer yang dijalankan pada sebuah sistem terdistibusi disebut program terdistribusi. Dan distributed programming adalah proses dalam menulis program tersebut. Komputasi terdistribusi juga merujuk pada penggunaan sistem terdistribusi untuk menyelesaikan masalah komputasi. Pada komputasi terdistribusi, sebuah masalah dibagi dalam beberapa perkerjaan, dan setiap pekerjaan yang ada diselesaikan oleh satu atau lebih komputer.

Kebanyakan sistem besar masih menggunakan sistem sentral yang berjalan pada satu mainframe dengan terminal-terminal yang terhubung kepadanya. Sistem tersebut bayak kelemahannya dimana terminal-terminal hanya sedikit kemampuan pemrosesannya dan semua tergantung pada komputer sentral.

Sampai saai ini ada tipe sistem yang utama yaitu:

Sistem Personal yang tidak terditribusi dan dirancang untuk satu workstation saja.

Sistem Embedded yang bejalan pada satu processor atau pada kelompok prosessor yang terintegrasi.

• Sistem Terdistribusi dimana perangkat lunak sistem berjalan pada kelompok processor yang bekerja sama dan terintegrasi secara longgar, dengan dihubungkan oleh jaringan. Contohnya sistem ATM bank, sistem groupware, dll

Menurut (Coulouris, et al., 2012) mengidentifikasi enam karakteristik yang penting untuk sistem terdistribusi yaitu:

• Pemakain bersama sumber daya

• Keterbukaan. Keterbukaan sistem adalah terbuka untuk banyak sistem operasi dan banyak vendor


(43)

• Konkurensi. Sitem terdistribusi memungkinkan beberapa proses dapat beroperasi pada saat yang sama pada berbagai computer di jaringan. Proses ini dapat (tapi tidak perlu) berkomunikasi satu dengan lainnya pada saat operasi normalnya.

Skalabilitas. Sitem terdistribusi dapat diskala dengan meng-upgrade atau menambahkan sumber daya baru untuk memenuhi kebutuhan sistem.

• Toleransi kesalahan. Sitem terdistribusi bersifat toleran terhadap beberapa kegagalan perangkat keras dan lunak dan layanan terdegradasi dapat diberikan ketika terjadi kegagalan.

• Transparansi. Sitem terdistribusi adalah bersifat terbuka bagi pengguna.

Gambar 2. 3 Arsitektur Sistem Terdistribusi (Sumber : skullbox.net)

2.3.1 Raspberry Pi

Raspberry Pi merupakan sebuah single board computer dengan resource minimal yang dibuat untuk dapat memperkenalkan pelajaran mengenai koding kepada masyarakat oleh Raspberry Foundation. Raspberry pi berukuran kecil seperti kartu


(44)

ATM. Raspberry pi banyak digunakan sebagai alat untuk menerapkan konsep Internet of Things (IoT).

Raspberry pi menjalankan sistem operasi berbasis linux sebagai sistem operasi utamanya. Distro yang digunakan berasal dari turunan debian yang dimodifikasi untuk spesifikasi raspberry pi yang dinamakan Raspbian. Pada saat sekarang, raspberry pi telah mencapai generasi ketiga dengan penambahan berbagai module nirkabel pada board-nya.

Gambar 2. 4 Raspbery Pi 2 (Sumber : raspberrypi.org ) 2.3.2 Message Passing

Menurut Silberchatz proses di dalam sistem operasi dieksekusi secara konkuren dan mungkin berbeda antara proses independen dan proses yang saling bekerjasama. Sebuah proses dikatakan independen apabila tidak mempengaruhi dan dipengaruhi oleh proses lain yang diekseskusi di dalam sistem. Setiap proses yang tidak membagi data dengan proses lainnya dikatakan independen. Sebuah proses dikatakan bekerjasama apabila proses tersebut dapat mempengaruhi dan dipengaruhi oleh proses yang lainnya di dalam sistem yakni dengan ditandai adanya data yang dibagi antar proses. Proses yang saling bekerjasama membutuhkan mekanisme komunikasi antar proses (IPC) yang memungkinkan mereka saling berbagi data dan informasi. Ada 2 model fundamental mengenai komunikasi antar proses yaitu : Shared Memory dan Message Passing.


(45)

Message Passing menyediakan mekanisme yang mengizinkan proses saling berkomukasi dan sinkronisasi tanpa membagi address space di dalam memory. Hal ini banyak digunakan pada komputer yang saling terkoneksi dalam sebuah jaringan. Dalam mekanisma message passing, dikenal 2 model operasi yaitu : send() dan receive(). (Silberchatz, 2013)

Untuk dapat saling berkomunikasi, setiap proses harus memenuhi beberapa persyaratan yaitu :

• Naming (Penamaan)

Setiap proses yang akan berkomunikasi harus memiliki pengenal antara satu dan lainnya disebut dengan proses ID (PID).

• Sychronization

Setiap proses yang mengirimkan pesan satu dengan yang lainnya haruslah saling sinkron. Mekanisme sinkronisasi komunikasi antar proses dapat bersifat synchronous dan asynchronous.

• Buffer

Komunikasi secara langsung maupun tidak langsung biasanya menyisakan pesan yang terdapat pada antrian sementara di dalam memory.

2.3.3 Multithreading

Jika sebuah proses mempunyai banyak control thread, maka proses tersebut dapat mengerjakan banyak task dalam suatu waktu. Gambar 2.5 menggambarkan sebuah proses secara single-threaded dan multithreaded.


(46)

Gambar 2. 5 Single Threaded dan Multi Threaded Process (Sumber : Silberchatz, 2013)

Thread didalam sistem operasi dapat diimplementasikan dengan menggunakan library tambahan dengan sebuah API untuk membuat dan mengelola thread. Umumnya terdapat tiga library utama yang digunakan pada masa sekaran ini, yaitu : POSIX Pthreads,Windows, and Java. Seiring dengan berkembangnya bahasa pemrograman, python code mempunyai library sendiri untuk mengelola dan membuat thread.

2.4 Naïve Bayes Classifier

Naïve Bayes merupakan sebuah teknik klasifikasi berdasarkan Teorema Bayes dengan asumsi bahwa setiap objek untuk melakukan prediksi tidak terikat atau bebas. Secara singkat, Naive Bayes classifier mengasumsikan bahwa keberadaan fitur tertentu pada sebuah kelas tidak berhubungan dengan fitur yang lain. Sebagai contoh, sebuah buah dikategorikan sebagai apel jika berwarna merah, berbentuk bundar dan mimiliki diameter 3 inchi. Bahkan jika fitur tersebut bergantung satu dengan yang lainnya, setiap properti bersifat bebas untuk saling berkontribusi dan menyatakan bahwa buah tersebut adalah apel, oleh karena itu algoritma ini disebut dengan Naïve (Koduvely, 2015).

Misalkan sebuah masalah supervised learning yang mana ingin kita tentukan fungsi target f : X !Y, atau sama seperti P(Y|X). Diasumsikan Y merupakan sebuah variabel bernilai boolean random dan X merupakan vektor yang menyimpan atribut


(47)

mengaplikasikan aturan Bayes dapat kita lihat bahwa P(Y = yi|X) dapat digambarkan

dengan rumus :

�(�= �|�= �) = �(�= �� |�= ��)�(�= ��)

∑ ��� = ���=���(� =�) 2.5 Penelitian Terdahulu

Beberapa penelitian terkait Web Scraping dan klasifikasi telah banyak dilakukan oleh beberapa peneliti, diantara peneliti tersebut penulis menggunakan beberapa penelitian sebagai sumber referensi pada penelitian ini. Pereira pada penelitiannya menggunakan teknik web scraping untuk melakukan ekstraksi data pada media sosial.

Pada penelitian tersebut dijelaskan melalui web scraping, data yang tidak terstruktur dikonversikan menjadi data yang lebih terstruktur dan dapat disimpan serta diverifikasi pada bank data yang tersentralisasi. Tujuannya untuk mengumpulkan, menyimpan dan menganalisis data dari social media dikarenakan social media merupakan tempat data yang dibagikan secara bebas. Dengan demikian ekstraksi data web merupakan sebuah proses untuk mengubah konten yang bermanfaat pada website menjadi aset bisnis yang sangat berharga (Pereira, 2015). Sementara pada penelitian Abdillah Josi, teknik web scraping diimplementasikan pada mesin pencari artikel ilmiah seperti portal garuda, Indonesian scientific journal databases (ISJD), dan google scholar (Josi, 2014).

Untuk data yang telah dikumpulkan menggunakan teknik web scraping, penelitian menggunakan hybrid model proses dengan mengaplikasikan Bayessian Networks untuk menganalisis pengetahuan sehingga menghasilkan model yang dapat memberikan peramalan secara multi-class. (Welter, 2013). Berdasarkan hasil tersebut, algoritma naïve bayes dapat memberikan bentuk peramalan yang efektif dengan dikarenakan naïve bayes menggunakan teorema Bayes untuk mendapatkan tabel ramalan pada model klasifikasinya. Dengan menggabungkan literatur penelitian yang dilakukan oleh Corani, kualitas udara dapat diklasifikasikan dengan membaginya dalam beberapa class (Corani, 2016).

Setelah mengolah data kualitas udara dengan model tersebut, makan selanjutnya visualisasi hasil data diperlukan. Penelitian Liao memberikan contoh teknik dalam visualisasi data kualitas udara dalam melakukan monitoring. Penelitian


(48)

yang telah disebutkan mengenai data grabing dan klasifikasi naïve bayes yang dapat dilihat pada tabel 2.3.

Tabel 2. 3 Penelitian Terdahulu No. Peneliti Tahun Keterangan 1. Pereira, R, C &

Vanitha T

2015 Penelitian ini melakukan implementasi teknik Web Scraping untuk mendapatkan data yang ditampilkan melalui jejaring sosial.

2. Josi, A., Abdillah, A,L., & Suryayusra

2014 Penelitian ini menjelaskan struktur dan pseudocode langkah penererapan teknik Web Scraping

3. Liu, A., Huang, M., Kim & T.K., Yoo., C.

2012 Penelitian ini menjelaskan mengenai pengumpulan data udara menggunakan sensor di beberapa titik.


(49)

Tabel 2.3 Penelitian Terdahulu (Lanjutan)

No. Peneliti Tahun Keterangan 4. Welter, S., Mayer,

J.H. & Quick, R

2013 Melakukan klasifikasi multi-class dengan menerapkan teorema Bayes pada Algoritma Naïve Bayes

5. Corani, G & Scanagatta, S

2016 Tenik mengklasifikasi dengan menggunakan multi-label prediction pada polusi udara untuk mendapatkan prediksi akhir hasil polusi.

6. Liao Z, Peng Y., Li Y., Liang X. & Zha Y.

2014 Visualisasi data dalam melakukan monitoring kualitas udara


(50)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Udara merupakan komponen penting yang dibutuhkan manusia dalam proses transpirasi. Meningkatnya pembangunan fisik kota dan pusat – pusat industri, komponen udara tersebut telah mengalami perubahan. Perubahan komponen udara tersebut berpengaruh pada perubahan kualitas udara dan berakibat pada pencemaran. Penurunan kualitas udara ini dapat mengganggu kesehatan masyarakat di sekitarnya (Santi, 2012).

Polusi udara, merupakan salah satu masalah utama yang sering dialami oleh kota-kota besar di negara berkembang. Dengan berkembangnya standar hidup, masyarakat cenderung memperhatikan bagaimana kesehatan tubuh dan lingkungan. Pengamatan terhadap kualitas udara dapat diukur berdasarkan Indeks Standar Pencemaran Udara (ISPU), apakah konsentrasinya lebih tinggi atau lebih rendah dari ISPU. Terdapat lima parameter pencemaran udara yang digunakan untuk pengamatan berdasarkan ISPU, yaitu Karbon Monoksida (CO), ozon permukaan (O3), Tingkat Partikulat (PM10), Oksida Nitrogen (NOx), dan Sulfur Dioksida (SO).

Internet memberikan jumlah data dan informasi yang sangat besar, yang dapat kita akses dan unduh menggunakan sebuah web browser. Data hasil sensor sering dipublikasikan dalam halaman website khusus yang menampilkan data udara. Data di internet dapat diambil dengan melakukan ekstraksi elemen penyusun halaman website menjadi data yang dapat disimpan ke dalam database. Untuk dapat mengambil informasi tersebut dibutuhkanlah sebuah metode untuk dapat melakukan grabbing data (Extracting and Saving) yang disebut dengan Web Scraping. Web Scraping (Turland, 2010) adalah proses pengambilan sebuah dokumen semi-terstruktur dari internet, umumnya berupa halaman-halaman web dalam bahasa


(51)

XHTML, dan menganalisis dokumen tersebut untuk diambil data tertentu dari halaman tersebut untuk digunakan bagi kepentingan lain.

Algoritma cerdas dalam Data Mining atau Machine Learning telah banyak diterapkan pada analisis data polusi udara, salah satunya adalah menggunakan Wavelet Transform, Cluster Algorithm dan SOM (Self-Organization Map) untuk melakukan analisa polusi udara di Taiwan (Li., ST, et al, 2004). Pada tahun 2012, Karina Gibert mengusulkan sebuah sistem dengan penggabungan Data Mining dan Intelligent Decision Support untuk melakukan analisis data kualitas udara (Gilbert., K, 2012).

Naïve Bayes merupakan salah satu algoritma untuk melakukan klasifikasi dengan menggunaan Teorema Bayes yang memberikan asumsi bahwa setiap objek untuk melakukan prediksi tidak terikat atau bebas. Secara singkat, Naive Bayes classifier mengasumsikan bahwa keberadaan fitur tertentu pada sebuah kelas tidak berhubungan dengan fitur yang lain. Sebagai contoh, sebuah buah dikategorikan sebagai apel jika berwarna merah, berbentuk bundar dan mimiliki diameter 3 inchi. Bahkan jika fitur tersebut bergantung satu dengan yang lainnya, setiap properti bersifat bebas untuk saling berkontribusi dan menyatakan bahwa buah tersebut adalah apel, oleh karena itu algoritma ini disebut dengan Naïve (Koduvely, 2015).

Air Quality Index (AQI) merupakan index untuk menggambarkan kuantitas dari status kualitas udara. AQI mengukur kualitas udara keseluruhan dengan jarak antara 0 hingga 500. Pada tahun 2012, pemerintah China telah mengeluarkan regulasi yang mengumumkan bahwa AQI adalah pengganti dari Air Pollution Index yang asli. AQI dibagi atas 6 level : dari yang paling baik (level 1), baik (level 2), sedikit berpolusi (level 3), berpolusi sedang (level 4), dan berpolusi berat (level 5) hingga polusi diambang batas (level 6). Nilai AQI yang lebih tinggi mengindikasikan polusi yang semakin parah dan dampak yang semakin berbahaya pada kesehatan manusia. 1.2 Rumusan Masalah

Udara merupakan aspek penting dalam melakukan respirasi oleh manusia dan makhluk hidup lainnya. Seiring dengan berkembangnya industri dan transportasi, udara menjadi semakin tercemar. Informasi kualitas udara dibutuhkan agar masyarakat dapat berhati hati dan memperhatikan aktivitas apabila udara sedang tidak sehat. Air Quality Index merupakan suatu pengukuran yang penting dalam


(52)

menentukan tingkat kualitas dan pencemaran udara berdasarkan beberapa parameter utama yaitu : Karbon Dioksida (CO2), Nitrogen Dioksida (NO2), Ozon (O3) dan Tingkat Partikulat (PM10). Untuk itu diperlukan sebuah metode untuk mengklasifikasikan kualitas udara dari beberapa parameter utama polutan.

1.3 Tujuan Penelitian

Penelitian ini bertujuan untuk dapat mengklasifikasikan kualitas udara dengan menerapkan Naïve Bayes pada sistem terdistribusi raspberry pi cluster server.

1.4 Batasan Masalah

Agar penelitian ini sesuai dengan tujuan penelitian, maka masalah yang ada dalam penelitian ini akan dibatasi oleh hal-hal berikut :

1. Menggunakan data polusi kota Beijing yang diambil dari website aqicn.org.

2. Menggunakan data yang diambil secara berkala setiap satu jam.

3. Parameter utama yang akan diproses adalah nilai polutan Karbon Dioksida (CO2), Nitrogen Dioksida (NO2), Ozon Permukaan (O3) dan

Tingkat Partikulat (PM10).

4. Klasifikasi tingkat pencemaran hanya dibagi 6 level berdasarkan nilai Air Quality Index (AQI).

5. Jumlah node yang digunakan untuk sistem terdistribuasi adalah satu node sebagai master dan 4 node sebagai slaves.

1.5 Manfaat Penelitian

Manfaat yang dapat diperoleh dari penelitian ini adalah :

1. Membantu para user untuk mendapatkan informasi mengenai kualitas udara secara harian.

2. Melakukan Algoritma Naïve Bayes terdistribusi dalam melakukan klasifikasi data tingkat pencemaran udara.


(53)

1.6 Metode Penelitian

Tahapan-tahapan yang dilakukan pada penelitian ini adalah :

1. Studi Literatur

Tahap ini dilaksanakan untuk mengumpulkan dan mempelajari informasi-informasi yang diperoleh dari buku, jurnal dan berbagai sumber referensi lain yang berkaitan dengan penelitian seperti metode Web Scraping, Naive Bayes Classifier, Sistem Terditribusi, Multi Thread.

2. Identifikasi Masalah

Pada tahap ini dilakukan analisis terhadap berbagai informasi hasil studi literatur dari berbagai sumber agar didapatkan metode yang tepat untuk menyelesaikan masalah dalam penelitian ini.

3. Perancangan Sistem

Tahap ini menjelaskan mengenai perancangan sistem untuk menyelesaikan permasalahan yang sesuai hasil yang didapatkan dalam tahap analisis.

4. Implementasi dan Pengujian

Pada tahap ini dilakukan implementasi hasil perancangan ke dalam kode program sesuai yang telah dilakukan pada tahap sebelumnya. Setelah melakukan implementasi, kemudian dilakukan pengujian terhadap hasil yang didapatkan melalui implementasi metode Web Scraping dan Naïve Bayes Classifier pada sistem terdistribusi.

5. Analisis dan Pengambilan Kesimpulan

Pada tahap ini dilakukan analisis data yang didapatkan dari implementasi Web Scraping dan Naive Bayes Classifier dalam sistem terdistribusi sehingga menghasilkan informasi terkait hasil analisis tersebut.

1.7 Sistematika Penulisan

Tugas akhir ini disusun dalam lima bab dengan sistematika penulisan sebagai berikut:


(54)

Bab 1 : Pendahuluan

Bab pendahuluan ini berisi tentang hal-hal yang mendasari dilakukannya penelitian serta pengidentifikasian masalah penelitian. Bagian-bagian yang terdapat dalam bab pendahuluan ini meliputi latar belakang masalah, perumusan masalah, batasan masalah, tujuan penelitian, dan manfaat penelitian.

Bab 2 : Landasan Teori

Pada bab tinjauan pustaka menguraikan landasan teori, penelitian terdahulu, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan kegiatan penelitian pada tugas akhir ini. Bab 3 : Analisis dan Perancangan

Bab ini membahas analisis dan perancangan, dimulai dari analisis terhadap permasalahan yang ada, dan penyelesaian. Pada bab ini dijabarkan tentang arsitektur umum, proses yang dilakukan serta tahapan pada metode yang digunakan.

Bab 4 : Implementasi dan Pengujian

Pada bab ini membahas tentang implementasi sistem dan hasil pengujian terhadap aplikasi yang telah dibangun.

Bab 5 : Kesimpulan dan Saran

Bab ini berisi tentang kesimpulan hasil penelitian dan saran-saran yang berkaitan dengan penelitian selanjutnya.


(55)

ABSTRAK

Kondisi udara dipengaruhi oleh banyaknya polusi yang terjadi di suatu daerah seperti materi partikel, ozon, nitrogen oksida dan karbon dioksida. Polutan - polutan tersebut memiliki nilai standar yang telah dikategorikan disebut dengan AQI (Air Quality Index). Nilai polutan yang bervariasi pada rentang waktu tertentu akan menyebabkan kualitas udara menjadi sulit untuk diklasifikasikan ke dalam kategori AQI. Sistem terdistribusi seperti cluster machine memiliki peforma yang baik dalam melakukan pengelolaan data secara terdistribusi. Raspberry pi yang dibangun secara cluster dapat meningkatkan peforma pemrosesan dan sumber daya yang dibutuhkan dalam pengelolaan data yang besar dan bervariasi. Penelitian ini dilakukan dengan menerapkan metode Naïve Bayes pada raspberry pi cluster server dimana data yang telah dikumpulkan menggunakan metode web scraping akan dibagikan ke setiap slave node cluster, kemudian master node mengirimkan sinyal untuk mengelola data. Setelah melakukan penelitian dan pembangunan aplikasi ini, dapat diambil kesimpulan dengan melakukan implementasi Naïve Bayes pada server cluster, dapat dilakukan pembangunan sebuah model pengumpulan data dan klasifikasi pada sistem terdistribusi serta memberikan hasil klasifikasi kualitas udara dengan akurasi 98%.


(56)

AIR QUALITY CLASSIFICATION USING NAÏVE BAYES

CLASSIFIER ON DISTRIBUTED SYSTEM RASPBERRY PI

CLUSTER SERVER

ABSTRACT

The air condition is influenced by the amount of pollution that occurred in a specific area, there are particulate matter, ozone, nitrogen oxides, and carbon dioxide. These pollutants has a standard categorized value called the AQI (Air Quality Index). Values of pollutants varies in specified time span, causing the air quality is difficult to be classified into categories of AQI. Distributed system such as cluster machine has a good performance in order to manage big data in distributed ways. The Raspberry pi that is being built as cluster can increase the performance of processing and resources that is needed to manage varies big data. This study was completed by implementing the Naïve Bayes method on raspberry pi cluster server where the collected data using web scraping method will be distributed to each slave node cluster, and then the master node will send the signal to process the data. After conducting research and development of this application, it can be concluded that by implementing the Naïve Bayes on cluster server, we can build a model of collecting data and classification on distributed system and it also can give the result of air quality classification with 98% accuracy.


(57)

KLASIFIKASI KUALITAS UDARA MENGGUNAKAN NAÏVE BAYES

CLASSIFIER PADA SISTEM TERDISTRIBUSI

RASPBERRY PI CLUSTER SERVER

SKRIPSI

REZA TAQYUDDIN

101402020

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2017


(58)

KLASIFIKASI KUALITAS UDARA MENGGUNAKAN NAÏVE BAYES

CLASSIFIER PADA SISTEM TERDISTRIBUSI

RASPBERRY PI CLUSTER SERVER

SKRIPSI

REZA TAQYUDDIN

101402020

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2017


(59)

KLASIFIKASI KUALITAS UDARA MENGGUNAKAN NAÏVE BAYES

CLASSIFIER PADA SISTEM TERDISTRIBUSI

RASPBERRY PI CLUSTER SERVER

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah

Sarjana Teknologi Informasi

REZA TAQYUDDIN

101402020

PROGRAM STUDI S1 TEKNOLOGI INFORMASI

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2017


(60)

PERSETUJUAN

Judul : KLASIFIKASI KUALITAS UDARA

MENGGUNAKAN NAÏVE BAYES CLASSIFIER PADA SISTEM TERDISTRIBUSI RASPBERRY PI CLUSTER SERVER

Kategori : SKRIPSI

Nama : REZA TAQYUDDIN

Nomor Induk Mahasiswa : 101402020

Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI Departemen : TEKNOLOGI INFORMASI

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Erna Budhiarti Nababan. M.IT Romi Fadillah Rahmat, B.Comp.Sc., M.Sc

NIP. - NIP. 19860303 201012 1 004

Diketahui/Disetujui Oleh

Program Studi Teknologi Informasi Ketua

Muhammad Anggia Muchtar, ST., MM.IT


(61)

PERNYATAAN

KLASIFIKASI KUALITAS UDARA MENGGUNAKAN NAÏVE BAYES CLASSIFIER PADA SISTEM TERDISTRIBUSI RASPBERRY PI CLUSTER

SERVER

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, Januari 2017

Reza Taqyuddin 101402020


(62)

UCAPAN TERIMA KASIH

Puji dan syukur kehadirat Allah SWT, karena rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Teknologi Informasi Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.

Ucapan terima kasih penulis sampaikan kepada:

1. Kedua Orang tua penulis, Efendi Zaimas S.E dan Ruminah, yang selalu memberikan doa, kasih sayang dan dukungan kepada penulis dari mulai mengikuti pendidikan hingga selesainya tugas akhir ini.

2. Bapak Romi Fadillah Rahmat B.Comp.Sc., M.Sc selaku Dosen Pembimbing I dan Ibunda Dr. Erna Budhiarti Nababan M.IT selaku Dosen Pembimbing II yang telah dengan sabar memberikan bimbingan dan saran kepada penulis. 3. Bapak Mohammad Fadly Syah Putra B.Sc., M.Sc.IT selaku Dosen Pembanding

I dan Bapak Ivan Jaya S.Si., M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.

4. Wak Mukhtar Nurlan, Bu Nurasiah Zaimas, Bu Nuriah Zaimas selaku keluarga yang selalu memberikan dukungan materi, doa dan semangat kepada penulis untuk menyelesaikan skripsi.

5. Mafazi Aditya, Shella Maulida dan Luthfan Aziz, Alm. Harry Fairuz, Syukri Jundi, Silvia Atika S.E, dan Elza Alfatunnisa yang memberikan motivasi kepada penulis.

6. Kepada Sarah Purnamawati ST., M.Sc yang tidak kenal lelah terus menemani dan memberikan semangat kepada penulis atas dukungan dan support yang diberikan beliau, serta kesabaran beliau dalam menghadapi segala tingkah laku penulis. Penulis ucapkan Terima Kasih yang sebesar besarnya sehingga akhirnya dapat menyelesaikan penulisan skripsi ini.


(63)

8. Semua dosen, staff dan pegawai di Jurusan Teknologi Informasi serta Fakultas Ilmu Komputer dan Teknologi Informasi yang tidak dapat saya sebutkan satu-persatu

9. Joko, Tri Annisa, Patricia, Atang, Wisnu, Fudin, Bang Zai, Andrew, Imah, Novi, Amel dan rekan rekan angkatan 2010. Terima kasih sudah menjadi keluarga penulis selama perkuliahan.

10. Indra, Atras, Imam, Maliki, Joko Kurnianto, Theresia, Grace, Rona, Harysa, Tika, Siti Hasanah, Josef, Sammy, Fachrin, Victoria, Nova, Afza, Cindy, Aidiel, Ibnu, Faris, Ezzay dan semua adik-adik junior dari penulis yang tidak dapat disebutkan satu-persatu yang telah memberikan bantuan dan supportnya.

Semoga Allah SWT melimpahkan berkah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.


(64)

ABSTRAK

Kondisi udara dipengaruhi oleh banyaknya polusi yang terjadi di suatu daerah seperti materi partikel, ozon, nitrogen oksida dan karbon dioksida. Polutan - polutan tersebut memiliki nilai standar yang telah dikategorikan disebut dengan AQI (Air Quality Index). Nilai polutan yang bervariasi pada rentang waktu tertentu akan menyebabkan kualitas udara menjadi sulit untuk diklasifikasikan ke dalam kategori AQI. Sistem terdistribusi seperti cluster machine memiliki peforma yang baik dalam melakukan pengelolaan data secara terdistribusi. Raspberry pi yang dibangun secara cluster dapat meningkatkan peforma pemrosesan dan sumber daya yang dibutuhkan dalam pengelolaan data yang besar dan bervariasi. Penelitian ini dilakukan dengan menerapkan metode Naïve Bayes pada raspberry pi cluster server dimana data yang telah dikumpulkan menggunakan metode web scraping akan dibagikan ke setiap slave node cluster, kemudian master node mengirimkan sinyal untuk mengelola data. Setelah melakukan penelitian dan pembangunan aplikasi ini, dapat diambil kesimpulan dengan melakukan implementasi Naïve Bayes pada server cluster, dapat dilakukan pembangunan sebuah model pengumpulan data dan klasifikasi pada sistem terdistribusi serta memberikan hasil klasifikasi kualitas udara dengan akurasi 98%.


(65)

AIR QUALITY CLASSIFICATION USING NAÏVE BAYES

CLASSIFIER ON DISTRIBUTED SYSTEM RASPBERRY PI

CLUSTER SERVER

ABSTRACT

The air condition is influenced by the amount of pollution that occurred in a specific area, there are particulate matter, ozone, nitrogen oxides, and carbon dioxide. These pollutants has a standard categorized value called the AQI (Air Quality Index). Values of pollutants varies in specified time span, causing the air quality is difficult to be classified into categories of AQI. Distributed system such as cluster machine has a good performance in order to manage big data in distributed ways. The Raspberry pi that is being built as cluster can increase the performance of processing and resources that is needed to manage varies big data. This study was completed by implementing the Naïve Bayes method on raspberry pi cluster server where the collected data using web scraping method will be distributed to each slave node cluster, and then the master node will send the signal to process the data. After conducting research and development of this application, it can be concluded that by implementing the Naïve Bayes on cluster server, we can build a model of collecting data and classification on distributed system and it also can give the result of air quality classification with 98% accuracy.


(66)

DAFTAR ISI

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penelitian 3

1.4 Batasan Masalah 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Pencemaran Lingkungan 6

2.1.1 Pencemaran udara 6

2.1.2 Kualitas udara dan kesehatan 8


(67)

2.2.2 HTML Parser 12

2.2.3 Extracting and Saving Data 12

2.3 Sistem Terdistribusi 13

2.3.1 Raspberry Pi 14

2.3.2 Message Passing 15

2.3.3 Multithreading 16

2.4 Naïve Bayes Classifier 17

2.5 Penelitian Terdahulu 18

BAB 3 ANALISIS DAN PERANCANGAN 20

3.1 Data Yang Digunakan 20

3.2 Arsitektur Umum 21

3.2.1 Web Scraping 22

3.2.2 Data Cleaning 25

3.2.3 Data Selection 26

3.3 Perancangan Server Cluster Raspberry Pi 26

3.4 Naïve Bayes Classifier 27

3.5 Perancangan Antarmuka Sistem 31

3.5.1 Perancangan Halaman Utama Hasil Klasifikasi 31 3.5.2 Perancangan Halaman Informasi Health Concern 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN 33

4.1 Implementasi Sistem 33

4.1.1 Konfigurasi Perangkat Keras 33

4.1.2 Konfigurasi Perangkat Lunak 34

4.2 Implementasi Perancangan Antar Muka 34 4.2.1 Tampilan Halaman Informasi Kualitas Udara 34


(68)

4.2.2 Tampilan Halaman Informasi Health Concern 36

4.3 Pengujian Sistem 38

4.3.1 Pengujian Cluster Server 38

4.3.2 Pengujian Web Scraping Data Polusi 41 4.3.3 Pengujian Pengambilan Data Cuaca 44 4.3.4 Pengujian Klasifikasi Kualitas Udara 47

BAB 5 KESIMPULAN DAN SARAN 47

5.1 Kesimpulan 47

5.2 Saran 47


(69)

DAFTAR TABEL

Tabel 2. 1 Bahan Yang Menghasilkan Pencemaran Udara 8

Tabel 2. 2 Level Pencemaran menurut AQI 9

Tabel 2. 3 Penelitian Terdahulu 19

Tabel 3. 1 Tabel Frekuensi AQI Level selama 24 Jam 29 Tabel 3. 2 Tabel Kemungkinan Berdasarkan tabel frekuensi 29 Tabel 4. 1 Konfigurasi perangkat keras yang digunakan 33 Tabel 4. 2 Konfigurasi perangkat lunak yang digunakan 34


(70)

DAFTAR GAMBAR

Gambar 2. 1 Siklus pencemaran udara (Sumber : http://scienceunraveled.com/) 7 Gambar 2. 2 Object Tree Model (Sumber: www.w3schools.com) 12 Gambar 2. 3 Arsitektur Sistem Terdistribusi (Sumber : skullbox.net) 14 Gambar 2. 4 Raspbery Pi 2 (Sumber : raspberrypi.org ) 15 Gambar 2. 5 Single Threaded dan Multi Threaded Process (Sumber : Silberchatz) 17 Gambar 3. 1 Halaman Website aqicn.org (Sumber : http://aqicn.org) 21

Gambar 3. 2 Arsitektur Umum 22

Gambar 3. 3 Pseudocode Web Scraping 23

Gambar 3. 4 Data yang akan diambil (sumber: http://aqicn.org/beijing) 24

Gambar 3. 5 Potongan code isi Wrapper 25

Gambar 3. 6 Raw data yang tidak valid 26

Gambar 3. 7 Arsitektur Raspberry Pi Server Grid 27

Gambar 3. 8 Data AQI selama 24 jam 28

Gambar 3. 9 Rancangan tampilan halaman utama 32

Gambar 3. 10 Rancangan tampilan halaman Health Concern 33 Gambar 4.1 Tampilan halaman utama Kualitas Udara 35 Gambar 4.2 Tampilan dialog indikator kualitas udara 36 Gambar 4.3 Tampilan halaman informasi Health Concern 37 Gambar 4.4 Form Untuk memilih Jenis Polutan dan Level Batas 37 Gambar 4.5 Tampilan hasil informasi pemilihan polutan 38

Gambar 4.6 Raspberry Pi Cluster Server 39


(71)

Gambar 4.10 Eksekusi command Curl untuk melakukan scraping 42 Gambar 4.11 Tampilan Halaman setelah dilakukan scraping (jam 14.05) 43

Gambar 4.12 Hasil Log web scraping 44

Gambar 4.13 Potongan File JSON hasil pengambilan Data Cuaca 46


(1)

DAFTAR ISI

PERSETUJUAN i

PERNYATAAN ii

UCAPAN TERIMA KASIH iii

ABSTRAK v

ABSTRACT vi

DAFTAR ISI vii

DAFTAR TABEL x

DAFTAR GAMBAR xi

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Tujuan Penelitian 3

1.4 Batasan Masalah 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 4

1.7 Sistematika Penulisan 4

BAB 2 LANDASAN TEORI 6

2.1 Pencemaran Lingkungan 6

2.1.1 Pencemaran udara 6

2.1.2 Kualitas udara dan kesehatan 8

2.1.3 Air Quality Index 9


(2)

2.2.2 HTML Parser 12

2.2.3 Extracting and Saving Data 12

2.3 Sistem Terdistribusi 13

2.3.1 Raspberry Pi 14

2.3.2 Message Passing 15

2.3.3 Multithreading 16

2.4 Naïve Bayes Classifier 17

2.5 Penelitian Terdahulu 18

BAB 3 ANALISIS DAN PERANCANGAN 20

3.1 Data Yang Digunakan 20

3.2 Arsitektur Umum 21

3.2.1 Web Scraping 22

3.2.2 Data Cleaning 25

3.2.3 Data Selection 26

3.3 Perancangan Server Cluster Raspberry Pi 26

3.4 Naïve Bayes Classifier 27

3.5 Perancangan Antarmuka Sistem 31

3.5.1 Perancangan Halaman Utama Hasil Klasifikasi 31

3.5.2 Perancangan Halaman Informasi Health Concern 32

BAB 4 IMPLEMENTASI DAN PENGUJIAN 33

4.1 Implementasi Sistem 33

4.1.1 Konfigurasi Perangkat Keras 33

4.1.2 Konfigurasi Perangkat Lunak 34

4.2 Implementasi Perancangan Antar Muka 34


(3)

4.2.2 Tampilan Halaman Informasi Health Concern 36

4.3 Pengujian Sistem 38

4.3.1 Pengujian Cluster Server 38

4.3.2 Pengujian Web Scraping Data Polusi 41

4.3.3 Pengujian Pengambilan Data Cuaca 44

4.3.4 Pengujian Klasifikasi Kualitas Udara 47

BAB 5 KESIMPULAN DAN SARAN 47

5.1 Kesimpulan 47

5.2 Saran 47


(4)

DAFTAR TABEL

Tabel 2. 1 Bahan Yang Menghasilkan Pencemaran Udara 8

Tabel 2. 2 Level Pencemaran menurut AQI 9

Tabel 2. 3 Penelitian Terdahulu 19

Tabel 3. 1 Tabel Frekuensi AQI Level selama 24 Jam 29

Tabel 3. 2 Tabel Kemungkinan Berdasarkan tabel frekuensi 29

Tabel 4. 1 Konfigurasi perangkat keras yang digunakan 33


(5)

DAFTAR GAMBAR

Gambar 2. 1 Siklus pencemaran udara (Sumber : http://scienceunraveled.com/) 7

Gambar 2. 2 Object Tree Model (Sumber: www.w3schools.com) 12

Gambar 2. 3 Arsitektur Sistem Terdistribusi (Sumber : skullbox.net) 14

Gambar 2. 4 Raspbery Pi 2 (Sumber : raspberrypi.org ) 15

Gambar 2. 5 Single Threaded dan Multi Threaded Process (Sumber : Silberchatz) 17

Gambar 3. 1 Halaman Website aqicn.org (Sumber : http://aqicn.org) 21

Gambar 3. 2 Arsitektur Umum 22

Gambar 3. 3 Pseudocode Web Scraping 23

Gambar 3. 4 Data yang akan diambil (sumber: http://aqicn.org/beijing) 24

Gambar 3. 5 Potongan code isi Wrapper 25

Gambar 3. 6 Raw data yang tidak valid 26

Gambar 3. 7 Arsitektur Raspberry Pi Server Grid 27

Gambar 3. 8 Data AQI selama 24 jam 28

Gambar 3. 9 Rancangan tampilan halaman utama 32

Gambar 3. 10 Rancangan tampilan halaman Health Concern 33

Gambar 4.1 Tampilan halaman utama Kualitas Udara 35

Gambar 4.2 Tampilan dialog indikator kualitas udara 36

Gambar 4.3 Tampilan halaman informasi Health Concern 37

Gambar 4.4 Form Untuk memilih Jenis Polutan dan Level Batas 37

Gambar 4.5 Tampilan hasil informasi pemilihan polutan 38

Gambar 4.6 Raspberry Pi Cluster Server 39

Gambar 4.7 Status Network File System pada Master Node 40


(6)

Gambar 4.10 Eksekusi command Curl untuk melakukan scraping 42

Gambar 4.11 Tampilan Halaman setelah dilakukan scraping (jam 14.05) 43

Gambar 4.12 Hasil Log web scraping 44

Gambar 4.13 Potongan File JSON hasil pengambilan Data Cuaca 46