SISTEM PENDETEKSI DINI BANJIR MENGGUNAKAN SENSOR KECEPATAN AIR DAN SENSOR KETINGGIAN AIR PADA MIKROKONTROLER ARDUINO GIGIH PRIO NUGROHO NRP 519 1 2 Dosen Pembimbing Ary Mazharuddin S, S.Kom., M.Comp.Sc. Hudan Studiawan, S.Kom., M.Kom. JURUSAN TEKNIK INFORMATIKA Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya 213
LATAR BELAKANG Curah hujan tinggi. Data BMKG 5 mm per hari. Volume air Rumah melebihi terendam kapasitas saluran air
LATAR BELAKANG (2) Minim mekanisme pendeteksi
SOLUSI SISTEM PENDETEKSI DINI BANJIR MENGGUNAKAN SENSOR KECEPATAN AIR DAN SENSOR KETINGGIAN AIR PADA MIKROKONTROLER ARDUINO
TUJUAN Memantau ketinggian dan kecepatan air pada tempat tertentu Memberi peringatan apabila ketinggian air dan kecepatan air melebihi batas yang ditentukan Memberikan solusi suatu sistem pendeteksi dini banjir
RUMUSAN MASALAH Bagaimana cara mengukur kecepatan air dan ketinggian air? Bagaimana cara mengolah dan mengirim data ke server? Bagaimana cara mengolah dan menyajikan informasi? Bagaimana cara menampilkan pesan peringatan?
BATASAN MASALAH Aplikasi hanya untuk menginfokan kondisi kecepatan dan ketinggian air, Perangkat sensor menggunakan mikrokontroler Arduino, Aplikasi hanya melakukan transfer data dari perangkat sensor ke aplikasi menggunakan USB, Aplikasi untuk end user adalah aplikasi web Aplikasi menggunakan bahasa PHP, Java dan C/C++.
ARSITEKTUR SISTEM Terdiri dari 3 proses utama
PROSES PADA MIKROKONTROLER Pembacaan Data Sensor Kalibrasi Nilai Hitung Delay (fuzzy logic) Tampilkan Data
PROSES PADA MIKROKONTROLER ARDUINO
PROSES PADA APLIKASI JAVA Pembacaan Data Mikrokontroler Hitung Delay (fuzzy logic) Gabungkan Data Kirim ke Server
PROSES PADA APLIKASI JAVA
PROSES PADA APLIKASI WEB Terima Data Pecah Data Insert ke Database
TAMPILAN PADA WEB Pesan peringatan Tampilan kondisi kecepatan Kondisi dan tanda ketinggian bahaya air berdasar lokasi
MARKER LOKASI Kecepatan = - 15 Kecepatan = 15-2 Kecepatan = 2 ++ Ketinggian = 2 Ketinggian = 21 25 Ketinggian = 25++
TAMPILAN PADA WEB (2)
UJI COBA APLIKASI
LINGKUNGAN UJI COBA 1. Bak air dengan ukuran 44 x 29 x 25 cm, 2. Perangkat sensor (mikrokontroler Arduino, sensor ultrasonik, sensor kecepatan air, breadboard, satu set kabel jumper, kabel USB), 3. Pipa air, 4. Selang air, 5. Modem GSM Prolink PHS1, 6. Alat ukur penggaris, 7. Notebook Sony VAIO VGN-CS36GJ Intel Core 2 Duo P87 2.53 GHZ dengan RAM 4. GB DDR3.
UJI COBA
UJI COBA PERFORMA AKURASI Uji coba dilakukan dengan membandingkan hasil pembacaan sensor dengan hasil pembacaan secara manual Dibagi menjadi 3 kategori Nilai akurasinya dihitung dengan cara Keakuratan=(ketinggian air terdeteksi / ketinggian air sebenarnya) 1
HASIL UJI COBA PERFORMA AKURASI 94.2% 12 93.9% 1 91.1% 8 Rendah Sedang 6 Tinggi Rendah 4 2 Kategori Percobaan Rata-rata Keakuratan Rata-rata Error Rate Sedang Tinggi Rendah 91,1% 8,9% Sedang 94,2% 5,8% Tinggi 93,9% 6,1% Rata-rata 93% 7%
UJI COBA PERFORMA PENGIRIMAN DATA Uji coba dilakukan dengan mengirimkan data ke server Lama pengiriman dihitung dengan mengambil selisih waktu pengiriman dan waktu diterima oleh server
HASIL UJI COBA PERFORMA PENGIRIMAN DATA 11,2 11 1,8 1,6 1,4 1,2 1 9,8 9,6 9,4 Pengiriman Data 1 2 3 4 5 6 7 8 9 111121314151617181922122232425 detik
UJI COBA PERFORMA PENGIRIMAN SMS Uji coba dilakukan dengan mengirimkan data ke server Lama pengiriman dihitung dengan mengambil selisih waktu pengiriman dan waktu diterima sms oleh user
HASIL UJI COBA PENGIRIMAN SMS
KESIMPULAN Sistem mengukur kecepatan dan ketinggian air menggunakan sensor dengan rata-rata akurasi 93%. Delay pengiriman data didapat dari hasil penghitungan dengan fuzzy logic dengan input ketinggian air dan kecepatan air. Pengiriman data ke server menggunakan protokol HTTP fungsi POST. Server menyimpan data yang diterima ke dalam sebuah database. Aplikasi web client menampilkan peta yang didalamnya terdapat marker dan menampilkan grafik perubahan data. Sistem dapat mengirimkan pesan tanda bahaya berupa SMS.
SARAN Menggunakan GSM shield sebagai pengganti aplikasi Java untuk melakukan pengiriman data. Mengganti masukan power mikrokontroler baterai laptop dengan power adapter atau battery. Mengganti sensor yang performanya lebih baik dan lebih akurat. Untuk pengembangan selanjutnya aplikasi dapat berjalan pada smartphone Ditambahkan modul GPS
TERIMA KASIH
FUZZY LOGIC logika untuk menjelaskan fuzziness. Misal: jarak, ketinggian, kecepatan pada skala antara dan 1 1 1 1.2.4.6.8 1 1 (a) Boolean Logic. (b) Fuzzy Logic. Membership Function: Fungsi keanggotaan untuk menyatakan derajat kebenaran Fuzzification Rules Defuzzification
FUZZY LOGIC SEDERHANA (2 INPUT) 1 dekat Jauh 1 1 Lambat 5 25 Jarak (cm) Cepat 3 2 7 Delay (detik) 1 2 Debit Air (L/jam) 3
RULES Jika ketinggian airnya rendah dan arusnya lambat maka delay lambat (Slow) Jika ketinggian airnya tinggi atau arusnya cepat maka delay cepat (Fast) 1 dekat Jauh(jarak) Lambat(arus) Lambat(delay) Dekat(jarak) Cepat(arus) Cepat(delay) Jauh 5 Jarak (cm) 25 3 1 Lambat Cepat 1 2 3 Debit Air (L/jam) Ketinggian air = posisi sensor jarak(yang terbaca sensor)
Fuzzification: Berapa delay bila jarak sensor 17 cm dan arus air 296 L/jam? 17 cm Dekat =.4, Jauh =.6 296 L/jam Lambat = 1, Cepat =
Jika jaraknya jauh dan arusnya lambat, delay pengiriman lambat (Slow) Jauh(jarak) Lambat(arus) Lambat(delay).6 1 =.6 Slow =.6 Jika jaraknya dekat atau arusnya cepat, delay pengiriman cepat (Fast) Dekat(jarak) Cepat(arus) Cepat(delay).4 =.4 Fast =.4 1 Delay = weighted mean = (.6*7 +.4*2)/ (.6+.4) = 5 detik 2 7 Delay (detik)
RULES 1 dekat Jauh 1 cepat lambat 1 Lambat 5 Jarak (cm) 25 Cepat 3 2 7 Delay (detik) 1 2 Debit Air (L/jam) 3 Jauh(jarak) Lambat(arus) Lambat(delay) Jauh(jarak) Cepat(arus) Cepat(delay) Dekat(jarak) Lambat(arus) Cepat(delay) Dekat(jarak) Cepat(arus) Cepat(delay) Jauh(jarak) Lambat(arus) Lambat(delay) Dekat(jarak) Cepat(arus) Cepat(delay)
FUZZY LOGIC SEDERHANA (1 INPUT)