SISTEM PENDETEKSI DINI BANJIR MENGGUNAKAN SENSOR KECEPATAN AIR DAN SENSOR KETINGGIAN AIR PADA MIKROKONTROLER ARDUINO GIGIH PRIO NUGROHO NRP 5109 100 002
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 2013
LATAR BELAKANG
Curah hujan tinggi. Data BMKG 50 mm per hari .
Volume airRumah 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 = 0 - 1500 Ketinggian = 0 – 20 Ketinggian = 21 – 25
Ketinggian = 25++
Kecepatan = 1500 - 2000
Kecepatan = 2000 ++
TAMPILAN PADA WEB (2)
UJI COBA APLIKASI
LINGKUNGAN UJI COBA 1. 2.
3. 4.
5. 6. 7.
Bak air dengan ukuran 44 x 29 x 25 cm, Perangkat sensor (mikrokontroler Arduino, sensor ultrasonik, sensor kecepatan air, breadboard, satu set kabel jumper, kabel USB), Pipa air, Selang air, Modem GSM Prolink PHS100, Alat ukur penggaris, Notebook Sony VAIO VGN-CS36GJ Intel Core 2 Duo P8700 2.53 GHZ dengan RAM 4.00 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)∗100
HASIL UJI COBA PERFORMA AKURASI 94.2%
120 100
93.9%
91.1% Rendah
80
Sedang Tinggi
60
Rendah Sedang
40 20
Kategori Percobaan
Rata-rata Keakuratan
Rata-rata Error Rate
0
Rendah
91,1%
8,9%
Sedang
94,2%
5,8%
Tinggi
93,9%
6,1%
Rata-rata
93%
7%
Tinggi
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 Pengiriman Data 11,2 11 10,8 10,6 10,4 10,2 10 9,8 9,6 9,4
detik
1 2 3 4 5 6 7 8 9 10111213141516171819202122232425
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 0 dan 1
0
0
0 1
1
1
0 0
(a) Boolean Logic.
0.2
0.4
0.6
0.8
1 1
(b) Fuzzy Logic.
Membership Function: Fungsi keanggotaan untuk menyatakan derajat kebenaran Fuzzification
Rules
Defuzzification
FUZZY LOGIC SEDERHANA (2 INPUT) dekat
1
Jauh
1
0
5
0
Jarak (cm)
Lambat
1
0
2
0
0 0
30
25 Cepat
7 Delay (detik)
1000
2000 Debit Air (L/jam)
3000
RULES
Jika ketinggian airnya rendah dan arusnya lambat maka delay lambat (Slow) Jauh(jarak) Lambat(arus) Lambat(delay)
Jika ketinggian airnya tinggi atau arusnya cepat maka delay cepat (Fast) Dekat(jarak) Cepat(arus) Cepat(delay) dekat
1
0
Jauh
5
0
25
30
Jarak (cm) Cepat
Lambat
1
0 0
1000
2000 Debit Air (L/jam)
3000
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 = 0.4, Jauh = 0.6
296 L/jamLambat = 1, Cepat = 0
Jika jaraknya jauh dan arusnya lambat, delay pengiriman lambat (Slow) Jauh(jarak) Lambat(arus) Lambat(delay) 0.6 1 = 0.6 Slow = 0.6 Jika jaraknya dekat atau arusnya cepat, delay pengiriman cepat (Fast) Dekat(jarak) Cepat(arus) Cepat(delay) 0.4 0 = 0.4 Fast = 0.4
1
Delay = weighted mean = (0.6*7 + 0.4*2)/ (0.6+0.4) = 5 detik 0 0
2
7 Delay (detik)
RULES dekat
1
Jauh
cepat
1 0
5
0
lambat
30
25 Jarak (cm) Cepat
Lambat
1
0 0
0 0
1000
2000 Debit Air (L/jam)
2
7 Delay (detik)
3000
• 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)