Fakultas Ilmu Komputer
Universitas Brawijaya 1996
Implementasi Prototype Kapal sebagai Sistem Monitoring Kualitas Air menggunakan Algoritme Naïve Bayes
Axel Elcana Duncan1, Rizal Maulana2, Eko Setiawan3
Program Studi Teknik Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya Email: 1[email protected], 2[email protected], 3[email protected]
Abstrak
Makhluk hidup sangat membutuhkan air sebagai sumber kehidupan. Banyak sekali masyarakat yang menggunakan air di perairan untuk berbagai hal. Baku mutu kualitas air dengan menggunakan 3 sifat, fisika, kimia dan biologi menjadi syarat sebagai mutu kualitas air suatu perairan. Melalui peranannya yang sangat penting bagi seluruh makhluk hidup, sangat dibutuhkannya sebuah sistem tertanam yang dilengkapi dengan sebuah algoritme untuk melakukan monitoring kualitas air, mengingat rumit dan konvensionalitas metode yang ada sekarang dalam mengukur kualitas air. Sebuah sistem berbentuk prototype kapal dengan menggunakan Arduino Nano, WEMOS D1 Mini, sensor Genuine Analog pH Meter, sensor DS18B20, sensor Turbidity, sensor JSN-SR04T, driver motor L298N dan motor DC 6V dapat membantu dari permasalahan yang ada. Sistem ini berbentuk kapal agar dapat melakukan monitoring secara menyeluruh. Sistem ini juga menggunakan algortime Naïve Bayes dalam melakukan klasifikasi melalui fitur seperti pH, suhu, kekeruhan dan kedalaman sebagai input. Hasil baik, sedang dan buruk akan menjadi kelas akan menjadi output. Dalam mendapatkan hasil tersebut, sistem ini menggunakan sebanyak 40 data training dan 20 data uji. Rata-rata error pembacaan sensor Genuine Analog pH Meter dari 10 kali pengujian adalah 8.233%. Rata-rata error pembacaan sensor DS18B20 dari 10 kali pengujian adalah 0.859%. Sensor Turbidity memiliki grafik yang linear, semakin keruh air maka semakin kecil nilai tegangan. Rata-rata error pembacaan sensor JSN-SR04T dari 10 kali pengujian adalah 2.492%. Tingkat akurasi pengiriman data yang dilakukan dari 10 kali pengujian adalah 100%.
Tingkat akurasi klasifikasi dengan menggunakan algoritme Naïve Bayes adalah 90%. Rata-rata waktu komputasi yang dilakukan sistem dari 10 kali pengujian adalah 3.7055 ms. Tingkat akurasi pada sistem penggerak dari 3 kali pengujian adalah 100%.
Kata kunci: Klasifikasi, Kapal, Genuine Analog pH Meter, DS18B20, Sensor Turbidity, JSN-SR04T Abstract
Living things really need water as a source of life. Lots of people use water in the waters for various things. Water quality standards using three characteristics, physics, chemistry, and biology are prerequisites for water quality. Through its very important role for all living things, it is very much needed an embedded system that is equipped with an algorithm for monitoring water quality, given the complexity, and conventionality of existing methods for measuring water quality. A ship prototype system using Arduino Nano, WEMOS D1 Mini, Genuine Analog pH Meter sensor, DS18B20 sensor, Turbidity sensor, JSN-SR04T sensor, L298N motor driver, and 6V DC motor can help from existing problems. This system is in the form of a ship so that it can carry out comprehensive monitoring. This system also uses the Naïve Bayes algorithm in classifying through features such as pH, temperature, turbidity, and depth as inputs. Good, medium, and bad results will be the class will be output. In getting these results, this system uses as many as 40 training data and 20 test data. The average error reading of the Genuine Analog pH Meter sensor from 10 tests is 8,233%. The average error of DS18B20 sensor readings from 10 tests is 0.859%. Turbidity sensors have a linear graph, the more turbid the water the smaller the voltage value. The average error of sensor reading JSN-SR04T from 10 times the test is 2.492%. The accuracy of sending data from 10 tests is 100%. The accuracy of the classification using the Naïve Bayes algorithm is 90%. The average computational time performed by the system from 10 tests is 3.7055 ms. The accuracy rate on the drive system from 3 times of testing is 100%.
Keywords: Classification, Ship, Genuine Analog pH Meter, DS18B20, Turbidity Sensor, JSN-SR04T
1. PENDAHULUAN
Semua zat yang asalnya dari sumber air yang ada di permukaan tanah adalah air (Effendi, 2003). Air memiliki sebuah kualitas yang diukur melalui 3 sifat, fisika, kimia dan biologi. Dari 3 sifat itulah, pemantauan sebuah kualitas air sangat diperlukan karena dapat mengetahui kualitas air pada sebuah perairan yang memiliki banyak sekali peran penting dalam kehidupan manusia. Salah satu peran penting perairan bagi manusia adalah sebagai tempat budidaya perikanan karena keuntungan dalam menunjang ekonomi melalui pembudidayaan secara berkala (Effendi & Mulyadi, 2012). Terdapat sebuah masalah yang cukup siginifikan yang dialami oleh para pembudidaya yaitu perubahan secara drastis pada kualitas air sehingga menurunnya imun ikan dan makhluk hidup lainnya (Abdillah, 2017).
Pemantauan kualitas air pada sutu perairan yang dilakukan secara berkelanjutan sangat diperlukan agar kualitas air tersebut dapat terjaga. Namun pada kenyatannya hinggat saat ini kegiatan tersebut masih dilakukan secara konvensional. Walaupun sudah terdapat alat atau sistem untuk mengetahui kualitas air, namun belum ada algoritme yang diimplementasikan pada alat tersebut (Amani & Prawiroredjo, 2016).
Sistem yang dibuat ini nantinya akan berbentuk seperti kapal agar dapat memonitoring dengan mudah pada seluruh wilayah perairan.
Sistem ini juga menggunakan sensor Genuine Analog pH Meter untuk mengukur parameter pH. Sensor DS18B20 untuk mengukur parameter suhu. Sensor Turbidity untuk mengukur parameter kekeruhan. Sensor JSN-
SR04T untuk mengukur parameter kedalman.
Lalu menggunakan algoritme Naïve Bayes untuk mengklasifikasikan data pada yang didapatkan melalui proses sensing. Algoritme Naïve Bayes digunakan karena dapat melakukan proses klasifikasi dengan jumlah fitur yang banyak ketika menghitung nilai probabilitas posterior (Varalakshmi, et al., 2016).
Dari permasalahan yang telah dijelaskan, maka akan dibuat sebuat sistem berbentuk prototype kapal untuk mempermudah dalam melakukan proses monitrong. Sistem dapat bergerak melalui motor DC ketika user mengontrol melalui aplikasi. Hal ini tentunya dapat membantu banyak pihak dalam proses pengukuran serta monitoring kualitas air.
2. METODE PENELITIAN 2.1 Diagram Blok
Diagram blok dari sistem yang dirancang dapat dilihat pada Gambar 1. Pada proses monitoring, sensor Genuine Analog pH Meter, sensor DS18B20, sensor Turbidity dan sensor JSN-SR04T akan melakukan sensing terhadap kualitas air yang diukur. Lalu setelah mendapatkan data dari proses sensing, data akan diklasifikasikan dengan algoritme Naïve Bayes pada Arduino Nano. Data hasil klasifikasi akan dikirim secara serial ke WEMOS D1 Mini untuk dikirimkan ke cloud MQTT agar dapat ditampilkan pada aplikasi. Pada proses pengontrol pergerakan sistem, aplikasi akan memberikan perintah melalui ketika tombol- tombol tanda panah ditekan. Perintah tersebut akan dikirimkan ke cloud MQTT agar dapat diproses oleh WEMOS D1 Mini menggerakkan motor DC.
Gambar 1. Diagram Blok 2.2 Perancangan Sistem
Desain body sistem yang dirancang dapat dilihat pada Gambar 2. Desain body sistem
memiliki ukuran 27cmx13cmx9cm. Semua sensor yang digunakan untuk melakukan sensing diletakkan pada bagian bawah. Pada bagian kiri dan kanan terdapat cadik yang berguna untuk
menyeimbangkan sistem. Motor DC dan baling- baling diletakkan pada bagian belakang.
Gambar 2. Desain Body Sistem
Desain skematik sistem yang dirancang dapat dilihat pada Gambar 3. Sistem akan mendapat tegangan sebesar 12V dari baterai
Lippo 2200mAh yang terhubung dengan driver motor L298N. Setelah itu driver motor L298N akan memberikan daya sebesar 5V ke semua komponen yang terhubung dengan pin VCC dan pin GND.Motor DC pada sistem akan terhubung dengan pin output driver motor L298N.
Setelah proses perancangan dari perangkat keras telah selesai, sekarang akan dilakukan proses perancangan pada perangkat lunak agar sistem dapat bekerja. Perancangan untuk program kese;uruhan sistem dapat dilihat pada Gambar 4. Proses dimulai dengan sistem melakukan sensing melalui sensor yang digunakan. Lalu data tersebut akan diposes pada Arduino Nano. Setelah diporses akan didapatkan sebuah output kualitas air.
Gambar 3. Desain Skematik Sistem
Gambar 4. Perancangan Perangkat Lunak Sistem
Perancangan program pada Arduino Nano dapat dilihat pada Gambar 5. Proses dimulai dengan inisialisasi pin pada sensor. Lalu selanjutnya adalah tahap sub pengambilan data
oleh sensor. Lalu data akan diklasifikasikan pada tahap sub klasifikasi. Data yang diperoleh dari proses klasifikasi beserta data sensing sensor akan dikirimkan secara serial ke WEMOS D1 Mini.
Perancangan pada tahap sub pengambilan data sensor dapat dilihat pada Gambar 6. Proses dimulai dengan melakukan inisialisasi pin yang digunakan pada semua sensor. Lalu proses selanjutnya adalah melakukan kalibrasi. Jika proses dilakukan, maka tahap selanjutnya adalah proses pembacaan data oleh sensor Genuine Analog pH Meter, sensor DS18B20, sensor Turbidity dan sensor JSN-SR04T. Data-data yang ditelah dibaca oleh semua sensor akan diproses dengan menggunakan algoritma sehingga akan didapatkan hasil kualitas air.
Gambar 5. Perancangan Program Arduino Nano
Perancangan pada tahap sub klasifikasi dapat dilihat pada Gambar 7. Proses dimulai dengan menjadikan data sensing sensor sebagai input. Setelah itu data training yang sudah ada akan dibaca sebelum masuk pada proses perhitungan. Setelah data training dibaca, maka akan masuk pada proses perhitungan Naïve Bayes yang dimulai dengan tahap sub Probabilitas Prior(), tahap sub Gaussian() dan tahap sub Probabilitas Posterior(). Setelah nilai posterior didapatkan pada tahap sub Probabilitas Posterior() maka akan dicari nilai yang paling tertinggi. Nilai paling tinggi yang akan menjadi hasil klasifikasi kualitas air.
Perhitungan pada tahap sub Probabilitas Prior() dapat dilihat pada Gambar 8. Proses dimulai dengan memasukkan data kualitas air pada kelas Y. Setelah itu menghitung nilai prior pada kelas Y dengan menggunakan rumus pada Persamaan (1). Hasil proses perhitungan tersebut akan didapatkan sebuah nilai peluang kualitas air pada kelas Y.
𝑃𝑟𝑖𝑜𝑟 =𝐽𝑢𝑚𝑙𝑎ℎ 𝑎𝑛𝑔𝑔𝑜𝑡𝑎 𝑝𝑎𝑑𝑎 𝑘𝑒𝑙𝑎𝑠 𝑌 𝐽𝑢𝑚𝑙𝑎ℎ 𝑠𝑒𝑙𝑢𝑟𝑢ℎ 𝑑𝑎𝑡𝑎 (1)
Gambar 6. Perancangan Pembacaan Sensor
Perhitungan pada tahap sub Probabilitas Prior() dapat dilihat pada Gambar 9. Proses dimulai dengan memasukkan data sensor pada parameter X beserta data training. Setelah itu menghitung nilai mean dengan menggunakan Persamaan (2) dan standar deviasi dengan menggunakan Persamaan (3).
𝑀𝑒𝑎𝑛 =∑𝑛𝑖=1𝑅𝑖
𝑛 (2)
𝑆 = √∑ (𝑥𝑖−𝑥̅)2
𝑛 𝑖=1
𝑛−1 (3)
Hasil proses perhitungan tersebut yang akan digunakan untuk mencari nilai Gaussian.
Nilai Gaussian dihitung dengan menggunakan Persamaan (4).
𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛 = 1
√2𝜋𝜎𝑖𝑗2
𝑒
−(𝑥𝑖−𝜇𝑖𝑗) 2 2𝜎𝑖𝑗2
(4)
Gambar 7. Perancangan Algoritme Naïve Bayes
Gambar 8. Perhitungan Probabilitas Prior
Gambar 9. Perhitungan Gaussian
Perhitungan pada tahap sub Posterior() dapat dilihat pada Gambar 10. Proses dimulai dengan memasukkan data kualitas air pada kelas Y dan jumlah parameter X. Lalu data-data tersebut akan dicek dikarenakan proses yang real time. Setelah melalui pengecekan, data tersebut akan digunakan untuk menghitung nilai posterior dengan menggunakan Persamaan (5).
Nilai yang paling tinggi pada perhitungan posterior yang akan menjadi hasil dari klasifikasi kualitas air pada saat proses pengukuran.
𝑃(𝑌|𝑋) = 𝑃𝑟𝑖𝑜𝑟 × 𝐺𝑎𝑢𝑠𝑠𝑖𝑎𝑛 (5)
Gambar 9. Perhitungan Probabilitas Posterior
Setelah semua data telah didapatkan seperti data proses pembacaan oleh sensor dan klasifikasi dengan menggunakan algoritme Naïve Bayes, data tersebut akan dikirimkan secara serial ke WEMOS D1 Mini untuk ditampilkan pada aplikasi. Perancangan program pada WEMOS D1 Mini dapat dilihat pada Gambar 10. Pada proses awal, WEMOS D1 Mini akan melakukan pengecekan data yang dikirim oleh Arduino Nano. Jika terdapat data yang diterima maka data tersebut akan dikirimkan secara langsung ke cloud MQTT untuk ditampilkan pada aplikasi. Selain itu WEMOS D1 Mini juga menerima data dari cloud MQTT untuk membuat sistem dapat bergerak.
Gambar 10. Perancangan Program WEMOS D1 Mini
Perancangan aplikasi pada penelitian ini dapat dilihat pada Gambar 11. Pada perancangan desain aplikasi terdapat 2 menu bagian yaitu, monitoring dan pengontrol. Pada menu monitoring terdapat beberapa tampilan seperti nilai dari masing-masing parameter air serta hasil klasifikasi kualitas air. Pada menu pengontrol terdapat beberapa tombol yang berfungsi untuk menggerakkan sistem.
Gambar 10. Perancangan Desain Aplikasi
2.3 Implementasi Sistem
Hasil implementasi pada sistem yang dibuat dapat dilihat pada Gambar 11. Body sistem terbuat dari bahan fiber dengan ukuran 27cmx13cmx9cm. Pada bagian atas, terdapat tombol untuk menghidupkan sistem. Pada bagian bawah terdapa sensor-sensor yang digunakan. Pada bagian belakang terdapat sepasang motor beserta baling-baling.
Gambar 11. Implementasi Body Sistem
Hasil implementasi skematik sistem dapat dilihat pada Gambar 12. Semua komponen yang digunakan terhubung pada papan PCB.
Gambar 12. Implementasi Rangkaian Skematik
Hasil implementasi pada aplikasi dapat dilihat pada Gambar 13. Pada menu bagian monitoring, data-data hasil sensing dan klasifikasi akan ditampilkan. Pada menu bagian pengontrol terdapat tombol-tombol yang dapat menggerakkan sistem beserta layar kecil untuk melakukan monitoring.
Gambar 13. Tampilan Aplikasi
3. PENGUJIAN DAN ANALISIS 3.1 Pengujian Sensor
Nilai error pada pengujian sensor Genuine Analog pH Meter dapat dilihat pada Tabel 1.
Pengujian sensor Genuine Analog pH Meter dilakukan sebanyak 10 kali.
Tabel 1. Pengujian Sensor Genuine Analog pH Meter
Pengujian Nilai Error
1 17.69%
2 13.66%
3 11.31%
4 5 6 7 8 9 10
3.75%
15.61%
4.85%
3.2%
4.56%
5.05%
2.65%
Rata-Rata 8.233%
Rata-rata error yang diperoleh dari 10 kali pengujian adalah 8.233%. Dari pengujian ini dapat disimpulkan bahwa sensor Genuine Analog pH Meter memiliki pembacaan data yang baik.
Nilai error pada pengujian DS18B20 dapat dilihat pada Tabel 2. Pengujian sensor DS18B20 dilakukan sebanyak 10 kali.
Tabel 2. Pengujian Sensor DS18B20
Pengujian Nilai Error
1 0.24%
2 0.98%
3 0.75%
4 5 6 7 8 9
0.39%
2.1%
1.7%
1.6%
0.5%
0.28%
10 0.05%
Rata-Rata 0.859%
Rata-rata error yang diperoleh dari 10 kali pengujian adalah 0.859%. Dari pengujian ini dapat disimpulkan bahwa sensor DS18B20 memiliki pembacaan data yang baik.
Nilai tegangan pada pengujian sensor Turbidity dapat dilihat pada Tabel 3. Pengujian sensor Turbidity dilakukan sebanyak 5 kali.
Tabel 3. Pengujian Sensor Turbidity Pengujian Tingkat Kekeruhan Tegangan
1 Air Bening 3.48
2 1 Sendok Kopi 3.35
3 2 Sendok Kopi 2.91
4 5
3 Sendok Kopi 4 Sendok Kopi
2.66 1.30
Nilai tegangan yang diperoleh dari 5 kali pengujian semakin kecil. Dari pengujian ini dapat disimpulkan bahwa sensor Turbidity memiliki grafik yang linear, semakin keruh air maka semakin kecil nilai tegangan.
Nilai error pada pengujian sensor JSN- SR04T dapat dilihat pada Tabel 4. Pengujian sensor JSN-SR04T dilakukan sebanyak 10 kali.
Tabel 4. Pengujian Sensor JSN-SR04T
Pengujian Nilai Error
1 4.76%
2 0%
3 2.5%
4 5 6 7 8 9 10
2%
1.66%
2.85%
2.5%
1.11%
3%
4.54%
Rata-Rata 2.492%
Rata-rata error yang diperoleh dari 10 kali pengujian adalah 2.492%. Dari pengujian ini dapat disimpulkan bahwa sensor JSN-SR04T memiliki pembacaan data yang baik.
3.2 Pengujian Waktu Komputasi
Nilai rata-rata komputasi pada pengujian waktu komputasi sistem dapat dilihat pada Tabel 5. Pengujian waktu komputasi dilakukan sebanyak 10 kali.
Tabel 5. Pengujian Waktu Komputasi Pengujian Waktu Komputasi
1 3.0350 ms
2 3.6710 ms
3 3.7320 ms
4 5 6 7 8 9 10
3.7170 ms 4.3520 ms 3.6550 ms 3.7330 ms 3.7120 ms 3.7150 ms 3.7330 ms
Rata-Rata 3.7055 ms
Rata-rata waktu komputasi yang diperoleh dari 10 kali pengujian adalah 3.7055 ms. Waktu komputasi pada masing-masing pengujian didapatkan dengan menjumlah waktu komputasi pada Arduino Nano dan WEMOS D1 Mini.
3.3 Pengujian Verifikasi Data
Nilai akurasi pada pengujian waktu komputasi sistem dapat dilihat pada Tabel 6.
Pengujian akurasi verifikasi data dilakukan sebanyak 10 kali.
Tabel 6. Pengujian Verifikasi Data
Total Pengujian 10
Data yang terkirim Data yang tidak terkirim
10 0
Persentase Akurasi 100%
Persentase akurasi yang diperoleh dari 10 kali pengujian pengirim data adalah 100%. Data berhasil dikirimkan dari Arduino Nano menuju WEMOS D1 Mini lalu cloud MQTT.
3.4 Pengujian Klasifikasi Naïve Bayes
Nilai akurasi pada pengujian klasifikasi Naïve Bayes dapat dilihat pada Tabel 7.
Pengujian akurasi klasifikasi Naïve Bayes dilakukan sebanyak 20 kali dengan menggunakan 40 data training.
Tabel 7. Pengujian Klasifikasi Naïve Bayes
Total Pengujian 20
Pembacaan kelas yang sesuai Pembacaan kelas yang tidak sesuai
18 2
Persentase Akurasi 90%
Persentase akurasi yang diperoleh dari 20 kali pengujian klasifikasi Naïve Bayes adalah 90%. Sebanyak 18 kali pengujian yang berhasil dilakukan oleh sistem dari 20 kali pengujian.
3.5 Pengujian Sistem Penggerak
Nilai akurasi pada sistem penggerak dapat dilihat pada Tabel 8. Pengujian akurasi sistem penggerak dilakukan sebanyak 3 kali pada masing-masing tombol.
Tabel 8. Pengujian Sistem Penggerak Pengujian Tombol Keterangan
1 Up Bisa
Down Bisa
Right Bisa
2
3
Left Stop Up Down Right Left Stop Up Down Right Left Stop
Bisa Bisa Bisa Bisa Bisa Bisa Bisa Bisa Bisa Bisa Bisa Bisa
Rata-Rata 100%
Persentase akurasi yang diperoleh dari 3 kali pengujian sistem penggerak adalah 100%.
Sistem dapat bergerak sesuai dengan tombol yang ditekan pada aplikasi.
4. KESIMPULAN DAN SARAN
Kesimpulan yang didapatkan dari penelitian ini adalah pada pembacaan data sensor, rata-rata error pembacaan sensor Genuine Analog pH Meter dari 10 kali pengujian adalah 8.233%, rata-rata error pembacaan sensor DS18B20 dari 10 kali pengujian adalah 0.859%, sensor Turbidity mempunyai grafik yang linear sehingga semakin keruh air maka semakin kecil nilai tegangan serta rata-rata error pembacaan sensor JSN-SR04T dari 10 kali pengujian adalah 2.492%. Ra-rata waktu komputasi yang diperoleh pada sistem ini dari 10 kali pengujian adalah 3.7055 ms. Persentase akurasi verifikasi data dari 10 kali pengujian dalah 100%. Persentase akurasi klasifikasi Naïve Bayes dari 20 kali pengujian dengan menggunakan 40 data training adalah 100%.
Persentase akurasi sistem penggerak dari 3 kali pengujian pada tombol yang ada pada aplikasi dalah 100%.
Saran yang diberikan untuk peneliti lain untuk mengembangkan penelitian ini adalah menambahkan jumlah parameter yang dimonitoring pada sistem karena dapat
meningkatkan akurasi klasifikasi, memakai mikorkontroler dengan Wi-Fi modul yang mempunyai jumlah pin analog yang cukup banyak, serta penambahan nilai untuk air dengan pH asam pada data latih dan data training. Selain itu penambahan kelompok wilayah perairan yang dimonitoring, penggunakan baterai daya yang besar serta cloud server yang bisa digunakan oleh banyak user.
5. DAFTAR PUSTAKA
Abdillah. 2017. Mengatasi Permasalahan Pembudidayaan Ikan, Dinas Peternakan dan Perikanan Kabupaten Blitar Gandeng FPK UNAIR Laksanakan Pelatihan Kesehatan Ikan. [Online] Availabe at:
http://fpk.unair.ac.id/mengatasi-
permasalahan-pembudidaya-ikan-dinas- peternakan-dan-perikanan-kabupaten- blitar-gandeng-fpk-unair-laksanakan- pelatihan-kesehatan-ikan/ [Accessed February, 12 2020].
Amani, F & Prawiroredjo, K. 2016. ALAT UKUR KUALITAS AIR MINUM DENGAN PARAMETER PH, SUHU,
TINGKAT KEKERUHAN, DAN
JUMLAH PADATAN TERLARUT.
JETri, 14(1), 49-62.
Effendi. 2003. Telaah Kualitas Air. Yogyakarta:
Kanisius.
Effendi, I. & Mulyadi. 2012. Budidaya Perikanan. MODUL 1.
Varalakshmi, P., Vandhana, S. & Vishali, S.
2016. Prediction of Water Quality using Naïve Bayesian Algorithm, IEEE Eight International Conference on Advanced Computin (ICoAC).