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 O
3
3. Partikel Zat 10
nm
PM
10
4. Partikel Zat 2.5
nm
PM
2.5
Universitas Sumatera Utara
5. Sulfur Dioksida SO
2
Universitas Sumatera Utara
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.
Gambar 3. 1 Halaman Website aqicn.org Sumber : http:aqicn.org
Universitas Sumatera Utara
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:
Universitas Sumatera Utara
Langkah langkah pada pseudocode dapat dijelaskan sebagai berikut : 1.
Melakukan pengecekan url yang valid URL dari halaman website http:aqicn.orgbeijing diinisialisasikan pada awal
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 scrapingurl check_is_valid_urlurl
urlpage = this - url data = parseurlpage
for each parseData in data : getSpecialWrapperClass
constructParameters worth = WorthtoSave
If worth = true saveData
end
Gambar 3. 3 Pseudocode Web Scraping
Universitas Sumatera Utara
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.orgbeijing
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.
Universitas Sumatera Utara
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 gambar 3.5, terlihat bahwa pada kolom status, terdapat nilai yang tidak valid yaitu
nilai yang memiliki tag-tag html.
Universitas Sumatera Utara
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, SO
2
, CO, O
3
, dan Curah Hujan.
3.3 Perancangan Server Cluster Raspberry Pi