• Tidak ada hasil yang ditemukan

BAB 1 PENDAHULUAN

1.7. Sistematika Penulisan

Sistematika penulisan dari skripsi ini terdiri dari lima bagian utama sebagai berikut.

Bab 1 : Pendahuluan

Bab ini berisi latar belakang dari penelitian yang dilaksanakan, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metodologi penelitian, serta sistematika penulisan.

Bab 2 : Tinjauan Pustaka

Bab ini berisi teori-teori yang diperlukan untuk memahami permasalahan yang dibahas pada penelitian ini. Teori-teori yang berhubungan dengan mutu air, artificial neural networks (ANN), dan DNN akan dibahas pada bab ini.

Bab 3 : Analisis dan Perancangan

Bab ini menjabarkan arsitektur umum dari penelitian yang dilakukan. Setiap tahap yang dilakukan pada pre-processing, training, testing, dan perancangan aplikasi yang dibuat dalam penelitian akan dijabarkan pada bab ini.

Bab 4 : Implementasi dan Pengujian

Bab ini berisi pembahasan tentang implementasi dari perancangan yang telah dijelaskan pada Bab 3. Selain itu, hasil dari tahap pengujian terhadap implementasi yang dilakukan dalam penelitian juga dijabarkan pada Bab ini.

Bab 5 : Kesimpulan dan Saran

Bab ini berisi ringkasan serta kesimpulan dari rancangan yang telah dibahas pada Bab 3, serta hasil penelitian yang dijabarkan pada Bab 4. Bagian akhir dari bab ini memuat saran-saran yang diajukan untuk pengembangan penelitian selanjutnya.

BAB 2

TINJAUAN PUSTAKA

2.1. Pemanfaatan Air

Berdasarkan kamus universitas oxford (en.oxforddictionaries.com) yang dimaksud dengan air adalah senyawa oksigen dan hidrogen (rumus kimia: Hโ‚‚O) dengan sifat fisik dan kimia yang sangat khas. Air mampu melarutkan banyak zat lain; bentuk padatnya (es) kurang padat daripada bentuk cair; titik didihnya, viskositas, dan tegangan permukaannya sangat tinggi untuk berat molekulnya, dan sebagian terdisosiasi menjadi ion hidrogen dan hidroksil. Keberadaan air sangatlah penting. Air merupakan zat yang paling penting dalam kehidupan setelah udara Wandrivel et al. (2012).

Air merupakan kebutuhan utama bagi proses kehidupan di bumi, sehingga tidak akan ada kehidupan di bumi jika tidak ada air. Kebutuhan akan air terus meningkat dari waktu ke waktu. Salah satu penyebabnya adalah meningkatnya jumlah penduduk di muka bumi. Selain itu beragamnya jenis kebutuhan manusia juga menyebabkan peningkatan kebutuhan air. Berikut beberapa manfaat dari air:

a. Bahan baku b. Sumber pengairan

c. Pembangkit listrik tenaga air (PLTA) d. Sarana rekreasi

e. Pemenuh kebutuhan rumah tangga 2.2. Baku Mutu Air

Baku mutu air di Indonesia di atur oleh Peraturan pemerintah Nomor 82 Tahun 2001 tentang Pengelolaan Lingkungan Hidup. Dalam peraturan tersebut kriteria air dibagi menjadi 4 (empat) kelas, yaitu:

a. Kelas 1: air yang dapat digunakan untuk bahan baku air minum atau peruntukan lainnya yang mensyaratkan mutu air yang sama

b. Kelas 2: air yang dapat digunakan untuk prasarana/ sarana rekreasi air, budidaya ikan air tawar, peternakan, dan pertanian.

c. Kelas 3: air yang dapat digunakan untuk budidaya ikan air tawar, peternakan dan pertanian.

d. Kelas 4: air yang dapat digunakan untuk mengairi pertanaman/ pertanian.

Masing-masing kelas air di atas menunjukkan kualitas air tertentu yang dinilai layak untuk dimanfaatkan untuk kegunaan tertentu. Terdapat 5 (lima) kelompok tolok ukur atau parameter dalam kriteria mutu air, yaitu fisika, kimia anorganik, kimia organik, mikrobiologi, dan radioaktivitas. Parameter kualitas air dalam kelompok kimia anorganik salah satu contohnya adalah pH. Beberapa parameter yang menjadi penilaian dalam pengklasifikasian baku mutu air dalam dilihat pada Tabel 2.1.

Tabel 2.1. Kelas air berdasarkan PP No. 82 tahun 2001

Parameter Satuan Kelas

I II III IV

Suhu air 0C Deviasi 3 Deviasi 3 Deviasi 3 Deviasi 5

pH 6-9 6-9 6-9 5-9

DO Mg/L 6 4 3 0

2.3. Machine Learning

Samuel Arthur (1959) mendefinisikan bahwa machine learning adalah bidang studi dari komputer sains yang memberikan sistem komputer kemampuan untuk belajar tanpa diprogram secara eksplisit. Kemampuan belajar suatu mesin dominan berhantung dengan algoritma yang digunakan. Russell (2016) membagi tipe pembelajaran menjadi tiga, yaitu :

a) Pembelajaran terarah (supervised learning)

Tipe ini belajar berdasarkan sekumpulan contoh pasangan input-output yang diinginkan dalam jumlah yang cukup besar. Algoritma ini mengamati contoh-contoh tersebut dan kemudian menghasilkan sebuah model yang mampu memetakan masukan yang baru menjadi keluaran yang tepat.

8

b) Pembelajaran tak terarah (unsupervised learning)

Tipe ini mempunyai tujuan untuk mempelajari dan mencari pola-pola menarik pada input yang diberikan. Meskipun tidak disediakan output yang tepat secara eksplisit.

Salah satu algoritma unsupervised learning yang paling umum digunakan adalah clustering (pengelompokan).

c) Pembelajaran semi terarah (semi-supervised learning)

Semi-supervised learning merupakan tipe yang menggabungkan antara supervised dan unsupervised untuk menghasilkan suatu fungsi. Algoritma pembelajaran semi terarah menggabungkan kedua tipe algoritma di atas, di mana diberikan contoh masukan-keluaran yang tepat dalam jumlah sedikit dan sekumpulan masukan yang keluarannya belum diketahui. Algoritma ini harus membuat sebuah rangkaian kesatuan antara dua tipe algoritma di atas untuk dapat menutupi kelemahan pada masing-masing algoritma.

Terdapat dua fase dalam machine learning yaitu fase pembelajaran dan fase aplikasi. Pada fase pembelajaran dilakukan training model berdasarkan dataset yang diberikan, setelah itu dilakukan validasi untuk melihat seberapa baik performa dari model. Pada fase aplikasi, model akhir yang telah melalui fase pembelajaran digunakan untuk menghasilkan sebuah keputusan tertentu.

2.4. Neural Network

Neural Network (NN) atau Artificial Neural Network (ANN) adalah jaringan dari sekelompok unit pemproses yang dimodelkan berdasarkan jaringan saraf manusia (Negnevitsky, 2005). Otak terdiri dari sekumpulan sel saraf yang saling berhubungan, atau unit pemrosesan informasi dasar yang disebut neuron. Otak manusia menggabungkan hampir 10 miliar neuron dan 60 triliun koneksi, sinapsis, di antara mereka (Shepherd, 2003). Dengan menggunakan beberapa neuron secara bersamaan, otak dapat menjalankan fungsinya lebih cepat daripada komputer tercepat yang ada saat ini. ANN merupakan gabungan dari pendekatan statistik dan pendekatan sintaks.

Dengan gabungan dari dua metode, maka ANN merupakan pengenalan pola yang lebih akurat

Setiap neuron (atau node) dalam NN menerima sejumlah input. Sebuah fungsi yang disebut fungsi aktivasi diterapkan pada nilai-nilai input ini, yang menghasilkan tingkat aktivasi dari neuron, yang menjadi nilai output dari neuron. Ada sejumlah fungsi

yang dapat digunakan dalam neuron. Fungsi aktivasi menentukan neuron mana yang harus aktif dan tidak. Berdasarkan Gambar 2.1, sumbu x dari setiap grafik mewakili nilai input ke neuron, dan sumbu y mewakili output atau tingkat aktivasi dari neuron.

Gambar 2.1. Fungsi aktivasi (Coppin,2004)

Salah satu fungsi yang paling sering digunakan adalah fungsi step atau fungsi linear threshold. Dalam menggunakan fungsi ini, input ke neuron dijumlahkan (masing-masing dikalikan dengan weight), dan jumlah ini dibandingkan dengan ambang ๐‘ก. Jika jumlah lebih besar dari ambang, maka neuron akan aktif dan memiliki tingkat aktivasi 1. Sebaliknya, jika jumlah dari input lebih kecil dari ambang ๐‘ก maka neuron tidak aktif dan memiliki tingkat aktivasi nol. Dalam beberapa network, ketika jumlahnya tidak melebihi ambang batas, tingkat aktivasi dianggap 1 bukannya 0. Oleh karena itu, perilaku neuron dapat didefinisikan pada persamaan 2.1:

๐‘‹ = โˆ‘๐‘›๐‘–=1๐‘ค๐‘–๐‘ฅ๐‘– + ๐‘ โ€ฆโ€ฆโ€ฆ.โ€ฆ 2.1 ๐‘‹ adalah jumlah tertimbang (weight) dari ๐‘› input dari neuron ๐‘ฅ1 ke ๐‘ฅ๐‘›, di mana setiap input ๐‘ฅ๐‘› dikalikan dengan weight-nya dan ditambah dengan bias (๐‘). Untuk aktivasi level ๐‘Œ dapat didefinisikan pada persamaan 2.2:

๐‘Œ = {1 ๐‘“๐‘œ๐‘Ÿ ๐‘‹ > ๐‘ก

0 ๐‘“๐‘œ๐‘Ÿ ๐‘‹ < ๐‘กโ€ฆโ€ฆโ€ฆ...โ€ฆโ€ฆโ€ฆโ€ฆ 2.2 Dalam NN ada yang disebutkan perceptron yang merupakan sebuah neuron sederhana yang digunakan untuk mengklasifikasikan inputnya ke dalam satu dari dua kategori. Perceptron dapat memiliki sejumlah input, yang terkadang berbentuk berupa grid. Grid ini dapat digunakan untuk merepresentasikan gambar, sehingga perceptron dapat digunakan untuk melakukan klasifikasi gambar sederhana atau pengenalan.

Gambar 2.2 menunjukkan proses yang terjadi dalam satu perceptron.

10

Gambar 2.2. Struktur Perceptron dari ANN (https://towardsdatascience.com)

1. Pada nomor satu terdapat neuron-neuron x yang bersubskrip 1, 2, โ€ฆ, m yang membawa data input.

2. Kalikan masing-masing input dengan bobot (weight) w, juga diberi label dengan subskrip 1, 2,โ€ฆ, m, di sepanjang panah (juga disebut sinaps) ke lingkaran besar di tengah. Jadi w1 * x1, w2 * x2, w3 * x3 dan seterusnya.

3. Setelah semua input dikalikan, jumlahkan semuanya kemudian tambahkan dengan angka yang telah ditentukan sebelumnya yang disebut dengan bias.

4. Pata tahap ini hasil perhitungan dimasukkan ke dalam fungsi aktivasi. Jika perhitungan pada tahap tiga bernilai lebih dari nol maka mendapatkan output yang dihasilkan 1 dan sebaliknya jika mendapatkan hasil lebih kecil dari 0 maka output yang dihasilkan adalah 0.

5. Output berupa nilai 0 atau 1.

Gambar 2.3. (a) neuron biologis; (b) neuron buatan; (c) sinaps biologis; (d) sinaps buatan; (Sumber: Mohamed et al. 2016)

Sebuah NN terdiri dari node-node yang saling berhubungan (Sonalkadu et al, 2012). Neuron-neuron dalam NN disusun dalam grup, yang disebut dengan layer (lapis). Pada dasarnya ANN terdiri dari 3 lapisan, yaitu :

a) Lapis masukan (input layer) terdiri dari neuron yang menerima data masukan dari variabel X. Semua neuron pada lapis ini dapat terhubung ke neuron pada lapisan tersembunyi atau langsung ke lapisan luaran jika jaringan tidak menggunakan lapisan tersembunyi.

b) Lapisan tersembunyi (hidden layer) terdiri dari neuron yang menerima data dari lapisan masukan.

c) Lapisan luaran (output layer) terdiri dari neuron yang menerima data dari lapisan tersembunyi atau langsung dari lapisan masukan yang nilai luarannya melambangkan hasil kalkulasi dari X menjadi nilai Y.

Karakter di atas menunjukkan bahwa ANN dapat diandalkan dalam melakukan beberapa tugas dalam rangka menemukan solusi dari suatu kasus. Tugas-tugas yang dapat dilakukan oleh ANN diantaranya adalah prediksi atau penaksiran fungsi, klasifikasi, pengelompokan dan peramalan (forecasting).

2.5. Deep Neural Network

Versi sebelumnya dari NN masih dangkal, terdiri dari satu input layer, satu output layer, dan paling banyak satu hidden layer di antara keduanya. Untuk memenuhi syarat sebagai DNN haruslah terdiri dari 3 layer (termasuk input layer dan output layer). Jadi, DNN adalah ANN dengan beberapa hidden layer di antara input layer dan output layer (Schmidhuber, 2015). Dengan DNN, setiap lapisan node melatih serangkaian fitur yang berbeda berdasarkan output dari layer sebelumnya. Semakin dalam jaringan neural, semakin kompleks fitur-fitur yang dapat dikenali oleh node dikarenakan penggabungan dan pengombinasian fitur-fitur dari layer sebelumnya.

Dalam NN back-propagation, algoritma pembelajaran memiliki dua fase.

Pertama, training input dimasukkan ke input layer. Kemudian network memberi input dari layer ke layer sampai output dihasilkan oleh output layer. Jika output yang dihasilkan berbeda dari hasil yang diinginkan, nilai error akan dihitung dan kemudian diberikan ke belakang dari output layer ke input layer. Nilai error ini mengakibatkan perubahan weight sepanjang perjalanan. Hal ini dilakukan berulang-ulang sampai

12

output yang dihasilkan cukup dekat dengan nilai yang diinginkan, atau dengan kata lain, sampai nilai kesalahan cukup kecil (Schmidhuber, 2015).

Back-propagation biasanya menggunakan fungsi aktivasi sigmoid. Adapun fungsi sigmoid didefinisikan pada persamaan 2.3 (Coppin, 2004):

๐œŽ(๐‘ฅ) = 1

1+๐‘’โˆ’๐‘ฅ โ€ฆโ€ฆโ€ฆ.โ€ฆโ€ฆโ€ฆ 2.3

Fungsi sigmoid tidak dapat mencapai 0 atau 1, biasanya nilai seperti 0,9 dibulatkan menjadi 1 dan 0,1 dibulatkan menjadi 0.

Untuk fungsi softmax dapat dilihat pada persamaan 2.4.

๐œŽ(๐‘ง) = ๐‘’๐‘ง

โˆ‘๐พ๐‘˜=1๐‘’๐‘ง๐‘˜โ€ฆโ€ฆโ€ฆ... 2.4.

Dimana ๐‘ง merupakan hasil perhitungan di layer, ๐‘’ merupakan nilai error atau loss, ๐‘˜ merupakan jumlah dimensi label (output).

Untuk fungsi relu dapat dilihat pada persamaan 2.5.

๐œŽ(๐‘ง) = max (0, ๐‘ง)โ€ฆโ€ฆโ€ฆ.โ€ฆโ€ฆ 2.5.

Berikut adalah rumus yang digunakan untuk penyesuaian weight dengan menggunakan back-propagartion dimana ๐‘– mempresentasikan node pada input layer, ๐‘— mempresentasikan node pada hidden layer, ๐‘— mempresentasikan node pada output layer.

Fungsi yang digunakan untuk mendapatkan nilai output untuk node ๐‘— terlihat pada ambang (bias) untuk node ๐‘—, yang merupakan nilai acak antara 0 dan 1; ๐‘ฅ๐‘– adalah nilai input untuk node ๐‘–; dan ๐‘Œ๐‘— adalah output dari node ๐‘—.

Setelah input dimasukkan untuk menghasilkan output, error gradient dihitung untuk setiap node ๐‘˜ di output layer.

Error signal (๐‘’) untuk ๐‘˜ didefinisikan sebagai perbedaan antara nilai yang diinginkan dan nilai dari node tersebut:

๐‘’๐‘˜ = ๐‘‘๐‘˜โˆ’ ๐‘ฆ๐‘˜โ€ฆโ€ฆโ€ฆ...โ€ฆ... 2.8

๐‘‘๐‘˜ adalah nilai yang diinginkian; ๐‘ฆ๐‘˜ adalah nilai yang sebenarnya, dalam iterasi ini.

Error gradient untuk output node ๐‘˜ didefinisikan sebagai nilai kesalahan untuk node ini dikalikan dengan turunan dari fungsi aktivasi:

๐›ฟ๐‘˜ =๐œ•๐‘ฆ๐‘˜

๐œ•๐‘ฅ๐‘˜. ๐‘’๐‘˜ โ€ฆโ€ฆโ€ฆ... 2.9

๐‘ฅ๐‘˜ merupakan jumlah weight dari nilai input ke node ๐‘˜.

Jika menggunakan fungsi sigmoid maka rumus untuk mendapatkan error gradient menjadi seperti ini:

๐›ฟ๐‘˜ = ๐‘ฆ๐‘˜. (1 โˆ’ ๐‘ฆ๐‘˜). ๐‘’๐‘˜ โ€ฆโ€ฆโ€ฆ...โ€ฆโ€ฆ 2.10 Demikian pula, untuk menghitung error gradient untuk setiap node ๐‘— di hidden layer:

๐›ฟ๐‘— = ๐‘ฆ๐‘—. (1 โˆ’ ๐‘ฆ๐‘—). โˆ‘๐‘›๐‘˜=1๐‘ค๐‘—๐‘˜๐›ฟ๐‘˜ โ€ฆโ€ฆโ€ฆ.โ€ฆ 2.11 Dimana ๐‘› merupakan jumlah node di output layer, dan merupakan jumlah output dari setiap hidden layer.

Sekarang setiap weight diperbarui sesuai dengan persamaan 2.12:

๐‘ค๐‘–๐‘— โ† ๐‘ค๐‘–๐‘— + ๐›ผ. ๐‘ฅ๐‘–. ๐œ•๐‘— โ€ฆโ€ฆโ€ฆ 2.12 ๐‘ค๐‘—๐‘˜ โ† ๐‘ค๐‘—๐‘˜+ ๐›ผ. ๐‘ฅ๐‘—. ๐œ•๐‘˜

Dimana ๐‘ฅ๐‘– adalah nilai input untuk input node ๐‘–, dan ๐›ผ adalah tingkat pembelajaran, yang merupakan angka positif di bawah 1, dan yang seharusnya tidak terlalu tinggi.

Metode ini dikenal sebagai gradient descent karena mengikuti jalan curam ke bawah permukaan yang merepresentasikan fungsi error untuk menemukan ruang error terkecil, yang menyesuaikan kumpulan weight untuk memberikan kinerja terbaik dari network. Bahkan, iterasi dari algoritma back-propagation biasanya berhenti ketika jumlah kuadrat dari kesalahan dari nilai output untuk semua data training dalam satu epoch lebih kecil dari beberapa ambang (bias), seperti 0,001. Algoritma backpropagation merupakan metode yang banyak digunakan untuk menyelesaikan persoalan yang luas, namun algoritma backpropagation juga mempunyai keterbatasan yaitu laju konvergensi yang cukup lambat .

2.6. Penelitian Terdahulu

Penelitian mengenai kualitas air telah dilakukan oleh banyak peneliti. Xue dan Chen (2011) melakukan klasifikasi kualitas air menggunakan back-propagation neural network (BPNN). Hasil klasifikasi digunakan untuk mengevaluasi kualitas air sehingga dapat mengontrol polusi di permukaan air. Dibandingkan dengan metode evaluasi tradisional, hasil penilaian menggunakan BPNN menjadi lebih objektif dan masuk akal, model ini juga menujukkan fleksibilitas dan kemampuan berdaptasi yang kuat. Jianlin et al. (2012), melakuakan penilaian kualitas air hujan menggunakan radial basis

14

function atrifical neural network (RBF-ANN). RBF-ANN sangat cocok untuk penilaian kualitas air secara menyeluruh karena kemampuan aproksimasi yang lebih baik, kecepatan pelatihan yang lebih cepat, menghindari nilai minimum lokal dalam perhitungan dan mengatasi efek yang dibawa oleh faktor subjektif selama pemodelan.

Wang et al. (2017), memprediksi kualitas air meggunakan metode long sort term memory neural network (LSTM NN). Nantinya akan dilakukan perbandingan dengan metode lain yaitu BP NN dan extereme learning machine (ELM). Dari penelitian tersebut disimpulkan bahwa akurasi dari LSTM NN memiliki akurasi lebih tinggi dibanding dengan BP NN dan ELM. Adnan et al. (2014), mengklasifikasi dan memantau kualitas air untuk budidaya udang menggunakan e-nose dan e-tounge. Dari penelitian ini didapatkan akurasi diskriminan Fungsi 1 86,02% dan Fungsi Diskriminan fungsi 2 8,82% dengan menggunakan e-nose. Sedangkan dengan e-tounge didapatkan akurasi diskriminan fungsi 1 84,5% dan diskriminan 2 15,2%. Zhu dan Hao. (2009), mengevaluasi kualitas air menggunakan fuzzy neural network (FNN). Penggunaan FNN meningkatkan akurasi evaluasi kualitas air sehingga disimpulkan metode ini dapat diandalkan dan efektif.

Berdasarkan penelitian-penelitian sebelumnya, dapat dilihat jika metode yang menggunakan NN mendapatkan hasil yang lebih baik dibanding dengan machine learning biasa. Terdapat juga penelitian yang membandingkan antar NN dan didapatkan NN jenis yang satu lebih baik atau lebih cocok dengan jenis yang lainnya dalam menghadapi masalah dari penelitian tersebut. Dari hal tersebut terlihat jika dalam NN sendiri setiap metode menghasilkan performa yang berbeda-beda tergantung masalah yang ingin diselesaikan. Pada penelitian ini metode yang digunakan adalah DNN.

Pada penelitian ini, air diklasifikasi lebih bedasarkan tingkat pemanfaatannya dibanding tingkat polusinya. Data yang digunakan merupakan data pemantauan kualitas air yang dilakukan oleh Rahmat et al (2016). Nantinya data akan diklasifikasi menggunakan DNN. Hasil yang ditampilkan berupa grafik akurasi dan error, berkas excel hasil testing, dan berkas excel hasil pengklasifikasian.

Rangkuman penelitian terdahulu dapat dilihat pada Tabel 2.2.

Tabel 2.2. Penelitian Terdahulu

No Peneliti Judul Penelitian Tahun Keterangan 1 Xue Xicheng Model Based on Radial Basis Function Artificial

2017 akurasi dari LSTM NN memiliki akurasi lebih

2014 akurasi Fungsi 1 86,02%

dan diskriminan fungsi 2 8,82% menggunakan e-nose. Dengan e-tounge akurasi fungsi 1 84,5%

dan fungsi 2 15,2%

16

5 Changjun Zhu dan Zhenchun Hao

Fuzzy Neural Network Model and its

Application in Water Quality Evaluation

2009 Penggunaan FNN meningkatkan akurasi evaluasi kualitas air sehingga disimpulkan metode ini dapat diandalkan dan efektif

BAB 3

ANALISIS DAN PERANCANGAN

Bab ini membahas tentang implementasi metode yang digunakan dalam mengklasifikasi mutu air Danau Toba. Selain itu, bab ini juga akan membahas mengenai data yang digunakan, analisis sistem, dan perancangan antarmuka. Di bab ini juga akan membahas proses dari awal sampai keluaran hasil akhir berdasarkan metode yang digunakan.

3.1. Data yang Digunakan

Data yang digunakan merupakan data dari penelitian Rahmat et al (2016). Data tersebut merupakan data pengukuran kualitas Danau Toba. Data diambil selama dua hari pada tanggal 25-26 oktober 2016. Adapun parameter yang terdapat dalam data tersebut adalah parameter fisika dan kimia. Parameter tersebut antara lain suhu air, pH, tingkat oksigen terlarut (dissolved oxygen), tingkat potensi reduksi oksidasi (oxidation reduction potential), suhu udara, dan kelembaban udara. Pengukuran dilakukan di tiga lokasi, yaitu:

โ€ข Haranggaol Horison, Kabupaten Simalungun;

โ€ข Ajibata, Kabupaten Toba Samosir; dan

โ€ข Parapat, Kabupaten Simalungun.

Data diambil menggunakan sensor DS18S20 Probe untuk mengukur suhu dalam air, Analog pH Meter Pro untuk mengukur pH, Dissolved Oxygen Sensor Kit untuk mengukur DO, Sensor dht11 untuk mengukur kelembapan udara, dan ORP meter DFrobot untuk mengukur reduksi oksidasi. Sensor-sensor tersebut dimasukkan ke dalam air selama 1-2 hari agar dapat dilihat perubahan nilai setiap parameter.

File dari data yang digunakan memiliki format comma separated column (CSV).

Data dipisah dengan menggunakan tanda titik koma (;). Setiap file memiliki jumlah

18

baris yang berbeda-beda. Contoh d ari bentuk data yang digunakan dapat dilihat dari Gambar 3.1.

Gambar 3.1. Contoh bentuk dari data yang digunakan 3.2. Analisis Sistem

Gambar 3.2. Arsitektur umum

Proses klasifikasi kualitas air Danau Toba berdasarkan data yang diperoleh dari penelitian Rahmat et al. (2016), dilakukan melalui beberapa langkah. Secara garis besar langka-langkah tersebut yaitu preprocessing, training, dan, testing. Data yang digunakan nantinya akan diolah terlebih dahulu sebelum digunakan. Sebelum masuk ke proses training dan testing, terlebih dahulu dilakukan pembentukan model DNN.

Setelah itu dilakukan training dengan menggunakan model dan data yang telah diolah.

Kemudian, proses dilanjutkan dengan melakukan testing. Setelah proses tersebut selesai, maka akan ditampilkan grafik yang memperlihatkan akurasi dan loss/error dari training dan testing. Pada tahap pengaplikasian akan menggunakan data yang lain. Hasil pengklasifikasian ditampilkan dalam bentuk tabel dan tersedia pula fitur ekspor tabel ke excel sehingga pengguna bisa mengunduh hasil dari klasifikasi. Lebih jelasnya proses pengklasifikasian dapat dilihat dari arsitektur umum yang terdapat pada Gambar 3.2.

3.2.1. Pre-processing

Tahap pre-processing merupakan tahap yang pertama kali dilakukan. Pada tahap ini dilakukan beberapa proses. Tahap ini bertujuan mengolah data sehingga dapat digunakan untuk tahap selanjutnya. Sebelum data digunakan, semua data harus diubah terlebih dahulu menjadi numerik. Data dengan tipe string kategorikal harus diubah menjadi 0, 1, 2, dan seterusnya. Hal ini bertujuan agar model dapat membaca data.

Proses yang pertama adalah adalah cleaning. Pada proses ini, tiap baris dari data diperiksa. Jika terdapat baris yang bernilai kosong, memiliki jumlah indeks yang berbeda, dan tidak valid maka baris akan dihapus. Kemudian data akan dipecah menjadi dua untuk dijadikan data training dan data testing. Perbandingan dari pembagian data adalah 80:20, dimana 80% untuk data training dan 20% untuk data testing. Kemudian tiap data akan dipecah lagi menjadi dua. Pembagian kali ini untuk menentukan indeks mana yang menjadi feature dan indeks mana yang menjadi label. Untuk data input, akan dilakukan dua kali pengujian. Yang pertama menggunakan tiga parameter yaitu DO, pH, dan suhu. Untuk pengujian kedua akan menggunakan semua parameter yang ada di dalam file. Selanjutnya, untuk setiap data feature akan dinormalisasi. Proses normalisasi berfungsi memodifikasi nilai dalam variabel sehingga kita dapat mengukurnya dalam skala umum. Bentuk normalisasi yang digunakan pada penelitian ini adalah least absolute deviations (LAD). Normalisasi LAD mengacu pada penyimpangan absolut

20

terkecil, bekerja dengan memastikan bahwa jumlah nilai absolut adalah 1 dalam setiap baris. Dalam bentuk matematika ukuran vektor (norm) menggunakan LAD dapat dilihat pada persamaan 3.1.

๐‘† = โˆ‘๐‘›๐‘–=1|๐‘ฅ๐‘–|โ€ฆโ€ฆโ€ฆ..โ€ฆโ€ฆ.... 3.1.

Perhitungan ini pada dasarnya menjumlahkan semua masukan (๐‘ฅ) dari ๐‘ฅ1 sampai ๐‘ฅ๐‘›. Setelah mendapatkan norm dari baris n, maka nilai baru dari ๐‘ฅ dapat dilihat pada persamaan 3.2.

๐‘ฅ๐‘›๐‘’๐‘ค = ๐‘ฅ1

๐‘† โ€ฆโ€ฆโ€ฆ. 3.2.

Setelah dinormalisasi maka nilai dari data feture akan berubah antara rentang -1 sampai 1. Contoh data setelah dinormalisasi, dapat dilihat pada Gambar 3.3.

Gambar 3.3. Bilangan sebelum dan sesudah di normalisasi

Proses terakhir dilakukan encoding pada data label. Hal ini dilakukan karena label yang menjadi output pada aplikasi nantinya berupa data kategorikal. Contoh data setelah di encoding dapat dilihat pada Gambar 3.4.

Gambar 3.4. Data sebelum dan setelah di-encoding categorical

Setelah proses encoding maka tahap pre-processing selesai dan data telah siap untuk digunakan pada tahapan berikutnya.

3.2.2. Compile model

Pada tahap ini, dilakukan pembentukan model DNN. Diantaranya yaitu jumlah hidden layer, neuron setiap layer, fungsi aktivasi, optimizer, loss, learning rate, batch size, dan epoch. Parameter-parameter tersebut di-input sebelum memulai proses pembelajaran.

3.2.3. Training

Training merupakan tahap dimana DNN diimplementasikan. Pada tahap ini dilakukan pelatihan terhadap model yag sudah dibuat pada tahap sebelumnya. Data training yang sudah sudah dinormalisasi dan di-encoding akan digunakan pada tahap ini.

Training merupakan tahap dimana DNN diimplementasikan. Pada tahap ini dilakukan pelatihan terhadap model yag sudah dibuat pada tahap sebelumnya. Data training yang sudah sudah dinormalisasi dan di-encoding akan digunakan pada tahap ini.

Dokumen terkait