JCONES Vol. 3, No. 2 (2014) 18-25
Journal of Control and Network Systems Situs Jurnal : http://jurnal.stikom.edu/index.php/jcone
RANCANG BANGUN PROTOTIPE APLIKASI WIRELESS SENSOR NETWORK UNTUK PERINGATAN DINI TERHADAP BANJIR Budi Hari Nugroho1) Jusak2) Pauladie Susanto 3) Program Studi/Jurusan Sistem Komputer STMIK STIKOM Surabaya Jl. Raya Kedung Baruk 98 Surabaya, 60298 Email: 1)
[email protected], 2)
[email protected], 3)
[email protected] Abstract: Frequent floods occurred in several areas in Indonesia annually that eventually cause who are affected by the flood. More often floods arrive at night when most people were fast asleep. This means that people are mostly not ready when disaster comes. This is one of the reasons why long-range early-detection flood device was designed. Not only to improve the accuracy of detection of the flooding but it will be able to monitor so there will be an accurate precaution signal of this disaster at the right time. Monitoring the water level of the river situation in real time using Wireless Sensor Network (WSN) technology. WSN is a wireless network infrastructure that uses sensors to monitor physical or environmental conditions that are connected to the network. In this study, each node in the WSN consists of the Arduino Uno microcontroller modules, XBee series 2 as wireless communications, and PING ultrasonic sensor and RTC (Real Time Clock). Base on our examination the WSN technology for early warning of flooding detection is able to produce a system that allows people predict the possibility of flooding. Water level measurements with PING ultrasonic sensor has an error percentage between 2.09% to 2.56%. The results show that the system is able to work well with a 97.44% accuracy. Key words: WSN, Sensor Ultrasonic PING, RTC, Arduino Uno, Xbee Banjir sering melanda beberapa wilayah di Indonesia setiap tahunnya menjadi kerugian yang cukup besar bagi warga yang terkena banjir. Banjir yang terkadang datang dimalam hari disaat warga sedang tertidur lelap membuat warga tidak bisa siaga ketika bencana datang. Tentu saja ini membuat warga tidak hanya mengalami kerugian harta dan benda namun bisa kehilangan nyawa orang yang dicintai karena terjebak banjir yang datang tiba-tiba. Untuk itu perlu adanya alat pendeteksi banjir jarak jauh, tidak hanya meningkatkan keakuratan pendeteksian pada banjir namun nantinya bisa dipantau secara real time sehingga memberikan kondisi ketinggian air dan siaga banjir disaat yang tepat. Untuk memudahkan warga mengetahui ketinggian air dan waktu secara real time yaitu dengan Wireless sensor network. Dengan begitu warga dapat memperoleh informasi waktu nyata (real time) perubahan tentang keadaan atau situasi ketinggian air sungai pada saat itu juga. Sungai dalam tugas akhir ini merupakan sebuah prototipe. Wireless sensor network (WSN) merupakan jaringan nirkabel yang terdiri dari beberapa alat sensor yang saling bekerja sama untuk memonitor kondisi fisik dan kondisi lingkungan seperti temperature, air, suara,getaran atau gempa, polusi udara dan lain-lain ditempat yang berbeda. Perkembangan wireless sensor pada awalnya digunakan oleh pihak militer sebagai aplikasi untuk keperluan pengawasan. Namun saat ini banyak digunakan oleh masyarakat umum antara lain untuk aplikasi lingkungan,
memonitor tempat tinggal dan digunakan untuk aplikasi kesehatan. Adapun permasalahan yang akan dihadapi oleh penulis ke depannya dalam proses pengerjaan tugas akhir adalah bagaimana marancang bangun WSN yang terdiri atas node router & coordinator untuk mengambil data ketinggian air dan waktu pada prototipe. Tujuan pembuatan tugas akhir ini adalah rancang dan bangun prototipe aplikasi WSN dengan perangkat pendukung sensor node untuk mempermudah monitoring ketinggian air dan waktu secara real time pada prototipe.
METODE Perancangan Sistem Secara garis besar dari keseluruhan sistem pada alat ini sesuai dengan blok diagram pada Gambar 1. INPUT
PROSES
OUTPUT
MODUL MIKROKONTROLER ARDUINO UNO
Sensor Ultrasonik PING)))
Modul RTC
MENAMPILKAN DATA INPUT & DATA NODE ROUTER 2
PEMBACAAN KETINGGIAN AIR
READ DATA NODE ROUTER 2
PEMBACAAN TANGGAL DAN WAKTU
MODUL XBEE
SEND / RECEIVE DATA INPUT & DATA NODE ROUTER 2 & REQUEST DATA
INPUT / OUTPUT
PROSES
MODUL XBEE
MODUL MIKROKONTROLER ARDUINO UNO
RECEIVE DATA NODE ROUTER 1 & 2
REQUEST DATA
NODE ROUTER 1
SEND REQUEST DATA
REQUEST DATA
SEND HASIL PERBANDINGAN DATA
MENAMPILKAN HASIL PERBANDINGAN DATA
PROSES MODUL MIKROKONTROLER ARDUINO UNO
Sensor Ultrasonik PING)))
Modul RTC
PEMBACAAN KETINGGIAN AIR
PEMBACAAN TANGGAL DAN WAKTU
MENAMPILKAN DATA INPUT & DATA NODE ROUTER 1 READ DATA NODE ROUTER 1
MODUL XBEE
SEND / RECEIVE DATA INPUT & DATA NODE ROUTER 1 & REQUEST DATA
NODE ROUTER 2
COMPARE DATA MASINGMASING NODE ROUTER HASIL PERBANDINGAN DATA
NODE COORDINATOR
MODUL XBEE MODUL MIKROKONTROLER ARDUINO
REQUEST DATA
INPUT
READ DATA NODE ROUTER 1 & 2
OUTPUT
NODE END DEVICE
PC
Gambar 1. Blok diagram sistem keseluruhan Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 18
Proses pertama adalah node coordinator akan mengirimkan pesan yang berisi request data secara broadcast ke node router 1 dan 2. Proses kedua adalah ketika node router 1 dan 2 menerima pesan request data dari coordinator, maka maka node router 1 tersebut akan mengirimkan data ketinggian air dan waktu dengan ID “N1” secara broadcast. Node router 1 akan mengirimkan data tersebut secara broadcast ke node coordinator dan node router 2. Sedangkan node router 2 akan mengirimkan data dengan ID “N2” secara broadcast ke node coordinator dan node router 1. Ketika node router 2 menerima data dari node router 1, maka router 2 merubah ID data dari node router 1 menjadi “S1” dan akan memforward data tersebut ke node coordinator. Begitu juga dengan node router 1 ketika menerima data dari node router 2 akan merubah ID data menjadi “S2” dan selanjutnya akan memforward data tersebut ke node coordinator. Proses ketiga, jika semua data yang dikirimkan oleh node router 1 dan 2 telah diterima pada node coordinator, maka ID semua data tersebut akan diubah menjadi “C1” dan “C2”. Selanjutnya node coordinator akan membandingkan data tersebut. Kemudian hasil dari perbandingan data tersebut akan dikirimkan ke node router end device.
Perancangan Perangkat Keras
Arduino uno Pada perancangan ini, arduino berfungsi sebagai pusat pengendali dari setiap node pada sistem secara keseluruhan. Tugas utama arduino adalah memproses data yang dikirimkan dan yang diterima oleh arduino/ node yang lain, yaitu: Setelah proses pembacaan ketinggian air pada prototipe dan waktu saat pengambilan data ketinggian air tersebut, arduino akan mengirimkan data tersebut pada node coordinator.
Gambar 2. Arduino Uno R3 Sisi Depan (Kiri) Dan Belakang(Kanan). Arduino ini berisi semua yang diperlukan untuk mendukung mikrokontroler, untuk mengaktifkan cukup menghubungkannya ke komputer dengan kabel USB dengan adaptor AC-DC atau baterai. Pada perancangan ini membahas tentang koneksi sensor dan modul pencatat waktu dengan arduino yang menggunakan kabel sebagai media penghubungnya. Sensor yang digunakan adalah sensor utrasonik PING sebagai pembacaan ketinggian air dan modul RTC sebagai pencatat waktu saat data ketinggian air tersebut didapat, sebelum sensor dan modul RTC dihubungkan dengan arduino harus menentukan pin dengan benar pada arduino supaya dalam pengiriman data dari sensor dan modul ke arduino sukses.
Gambar 3. Sensor dan Modul yang Terhubung Dengan Arduino. Pada Gambar 3. terdapat sensor ultrasonik PING dan modul RTC yang terhubung dengan arduino, dengan ketentuan: 1. Pin out vcc pada sensor ultrasonik PING dihubungkan pin out 5v pada arduino. 2. Pin out data/signal(I/O) pada sensor ultrasonik PING dihubungkan pin in digital 7 pada arduino. 3. Pin out gnd pada sensor ultrasonik PING dihubungkan pin in gnd pada arduino. 4. Pin out vcc pada modul RTC dihubungkan pin out 5v pada arduino. 5. Pin out SDA pada modul RTC dihubungkan pin in analog 4 pada arduino. 6. Pin out SCL pada modul RTC dihubungkan pin in analog 5 pada arduino. 7. Pin out gnd pada modul RTC dihubungkan pin in gnd pada arduino.
Xbee series 2 dan Xbee Shield Xbee merupakan perangkat yang menunjang komunikasi data secara nirkabel (wireless). Untuk menghubungkan Xbee dengan arduino digunakan shield supaya lebih mudah dalam perakitan seperti pada Gambar 4. Ada 2 jenis xbee series 2 yaitu : - Xbee ZB Series 2 Xbee series 2 dapat digunakan untuk komunikasi point to point, point to multipoint dan topologi star, dan topologi mesh dengan jangkauan 40 meter indoor dan 120 meter outdoor (Inc, 2012). - Xbee ZB-PRO Series 2 Xbee ZB-PRO series 2 juga dapat digunakan untuk komunikasi point to point, point to multipoint dan topologi star, dan topologi mesh dengan jangkauan 60 meter pada indoor dan mencapai 1500 meter pada outdoor. Xbee series 2 tersedia dalam 2 bentuk berdasarkan kekuatan transmisinya yaitu xbee reguler dan Xbee-pro. Xbee reguler biasa disebut dengan xbee saja. Xbee-PRO mempunyai kekuatan transmisi lebih kuat, ukuran fisik lebih besar, dan harganya lebih mahal. Xbee-PRO mempunyai jangkauan indoor mencapai 60 meter dan outdoor mencapai 1500 meter (Inc, 2007).
Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 19
Untuk konfigurasi Xbee sebagai node router, function set diatur menjadi ZIGBEE ROUTER AT dan isi PAN ID=666, DH=0, DL=FFFF (pengiriman broadcast). Sedangkan konfigurasi sebagai node coordinator, function set diatur menjadi ZIGBEE COORDINATOR AT dan isi PAN ID=666, DH=0, DL=FFFF (pengiriman broadcast). Gambar 6. Modul RTC.
Perancangan Perangkat Lunak
Gambar 4. Xbee dan Xbee Shield.
Sensor Ultrasonik PING Sensor ultrasonik PING atau ultrasonic range finder merupakan sebuah sensor pengukur jarak tanpa kontak langsung, dengan kemampuan jarak ukur 2 cm (0.8 inches) sampai 3 m (3.3 yards) di udara yang memiliki cepat rambat 344 m/s. Sehingga untuk menempuh jarak 1 cm dibutuhkan waktu 29 µs. Sensor ini hanya memerlukan 1 pin I/O dari mikrokontroler untuk mengontrolnya (Gambar 5). (Yunidar, 2009)
Selain perancangan hardware yang diperlukan pada perancangan sistem wireless sensor network untuk monitoring ketinggian air dan pembacaan waktu pada prototipe meliputi algoritma dan program pada IDE arduino beserta flowchart yang menjelaskan alur proses program tersebut.
Program Arduino sebagai Node Router 1 dan Node router 2 Diagram alir untuk proses end point 1 dan end point2 sebagai berikut: MULAI
INISIALISASI
PEMBACAAN DATA DARI MASING-MASING NODE
APAKAH DATA BERASAL DARI NODE COORDINATOR
YA
PEMBACAAN DAN PERHITUNGAN SENSOR ULTRASONIK
TIDAK
APAKAH DATA BERASAL DARI NODE ROUTER 2
YA
PEMBERIAN ID DATA BARU UNTUK NODE ROUTER 2
PEMBACAAN TANGGAL DAN WAKTU RTC
TIDAK
HAPUS DATA
Gambar 5. Sensor Ultrasonik PING. HAPUS DATA
Sensor ini bekerja berdasarkan prinsip pantulan gelombang suara, dimana sensor akan memancarkan gelombang suara yang kemudian menangkap pantulannya kembali dengan perbedaan waktu sebagai dasar penginderaannya. Perbedaan waktu antara gelombang suara dipancarkan dengan ditangkapnya kembali gelombang suara tersebut adalah berbanding lurus dengan jarak atau tinggi objek yang memantulkannya. Jenis objek yang dapat diindera diantaranya adalah: objek padat, cair, butiran maupun tekstil.
Modul RTC (Real Time Clock) DS1307 Real Time Clock merupakan suatu chip (IC) yang memiliki fungsi sebagai penyimpan waktu dan tanggal. RTC DS1307 (Gambar 6) merupakan Real-time clock (RTC) yang dapat meyimpan data-data detik, menit, jam, tanggal, bulan, hari dalam seminggu, dan tahun valid hingga 2100. 56-byte, battery-backed, RAM nonvolatile (NV) RAM untuk penyimpanan. RTC DS1307 merupakan Real-time clock (RTC) dengan jalur data paralel yang memiliki Antarmuka serial Two-wire (I2C). (Arrosyid, Tjahjono, & Epyk Sunarno, 2009)
SELESAI
FORWARD DATA NODE ROUTER 2 KE NODE COORDINATOR
HAPUS DATA
PEMBERIAN ID DATA UNTUK NODE ROUTER 1
PENGIRIMAN DATA KETINGGIAN DAN WAKTU
Gambar 7. Diagram Alir pada Node Router 1 Berikut penjabaran dari Gambar 7 yaitu: a. Inisialisasi. Bagian ini merupakan inisialisasi dan harus ada dalam setiap program yang dibuat pada node router. Berisi library dan variabel-variabel yang dibutuhkan oleh program dalam node router. Pada dasarnya alur dari node router 1 dan node router 2 sama, hanya terdapat perbedaan kode id node router masing-masing dan logika program pembacaan atau penerimaan masingmasing node router. b. Pembacaan/Penerimaan dan Pengiriman Data. Format pembacaan atau pengiriman data pesan yang terjadi pada setiap node diatur seperti Gambar 8.
Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 20
Gambar 8. Format Penulisan Pesan Setiap node memiliki head dan id node yang harus dikenali. Semua penulisan tersebut ditulis semua dan dipisahkan oleh tanda titik. Dalam tugas akhir ini penulis menggunakan simbol % untuk digunakan sebagai head. Maka setiap node akan mengetahui apabila data yang diterima harus mempunyai awalan %. Simbol head disini akan mengantisipasi sebuah node ilegal yang tiba-tiba mengirimkan data ke node. Apabila data yang diterima tidak memiliki head, maka data tersebut akan dianggap ilegal dan node akan membuang data tersebut. Dari penjelasan di atas, node router 1 harus menyeleksi data yang berhak untuk diterima olehnya. Karena node router 1 hanya diijinkan untuk menerima data dari node coordinator dan node router 2, maka data tersebut harus memiliki head dan ID “N2”. Sedangkan node router 2 hanya diijinkan untuk menerima data dari node coordinator dan node router 1. maka data tersebut harus memiliki head dan ID “N1”. Ketika node router 1 dan 2 menerima pesan dari node coordinator yang berisi request data (%1), maka node router akan melakukan pembacaan sensor ultrasonik dan RTC, data dari sensor akan disimpan atau ditampung pada suatu variabel yang kemudian akan dijadikan satu pesan data dengan data RTC lalu diberi ID “N1” (node router 1), dan diberi ID “N2” (node router 2) seperti Gambar 8 kemudian dikirimkan ke coordinator dan router 2 (ketika alur program terjadi pada node router 1), dikirimkan ke coordinator dan router 1 (ketika alur program terjadi pada node router 2). Berikut potongan source code penerimaan data dan pembacaan sensor dan RTC: void loop(){ while(Serial.available()>0){ char data_masuk=(char)Serial.read(); id += data_masuk; if(data_masuk =='\n') { if((id[0]=='%') && (id[1]=='1')) { delay(1000); // fungsi sph merupakan pembacaan // pembacaan sensor dan RTC sph(); id=""; } else if id[0]=='%') && (id[1]=='N')) { delay(4500); // fungsi sensor2 merupakan // pemberian ID data baru // yang berasal dari node router2 sensor2(); } id=""; } } }
maka node ini akan mengubah ID data yang sebelumnya mempunyai ID “N1” menjadi “S1”. Perubahan ID data ini bertujuan agar node coordinator mengetahui asal data tersebut. Setelah perubahan ID data tersebut, data dengan ID yang baru dikirimkan ke node coordinator. Berikut source code perubahan/pemberian ID data yang baru: void sensor2 () { if (id[0]=='%') { // id[2]==’1’ jika terjadi pada node router if ((id[1]=='N') && (id[2]=='2')) { id[1]='S'; indata=id; } Serial.print(id); } id=""; }
2
Gambar 9. Pengiriman dan Penerimaan Pada Node router 1 & 2
Program Arduino sebagai Node Coordintor Diagram alir untuk proses node coordinator sebagai berikut:
Ketika node router 1 menerima data dari node router 2, maka node ini akan mengubah ID data yang sebelumnya mempunyai ID “N2” menjadi “S2”. Sedangkan ketika node router 2 menerima data dari node router 1, Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 21
Serial.print('\n'); }
MULAI
}
INISIALISAI
MENGIRIMKAN REQUEST DATA
PEMBACAAN DATA DARI MASING-MASING NODE
APAKAH DATA YANG MASUK BERASAL DARI NODE ROUTER DAN BERAWALAN SIMBOL % DENGAN ID N1, N2, S1, S2
TIDAK
YA
PEMBERIAN ID DATA BARU UNTUK NODE ROUTER
TAMPUNG DATA
MEMBANDINGKAN DATA MASINGMASING NODE ROUTER
HAPUS DATA
SELESAI
KIRIM DATA HASIL PERBANDINGAN NODE ROUTER KE NODE END DEVICE
Gambar 10. Diagram Alir pada Node Coordinator Node coordinator dalam sistem WSN ini sangat penting, karena node ini berfungsi untuk membentuk suatu jaringan dengan mengijinkan node router untuk bergabung dalam jaringan tersebut. Setelah jaringan terbentuk, fungsi coordinator seperti router (dapat berpartisipasi dalam routing paket dan menjadi sumber atau tujuan untuk paket data). Berikut penjabaran dari Gambar 10: a. Inisialisasi Bagian ini merupakan inisialisasi dan harus ada dalam program yang dibuat pada node coordinator. Berisi variabel-variabel yang dibutuhkan oleh program dalam node coordinator. b.
Pengiriman Request Data dan Pembacaan Data Bagian ini merupakan pengiriman request data (angka %1) selama 20 detik sekali ke node router 1 dan 2. Kemudian akan membaca data yang masuk dari node router 1 dan 2 selama 4 kali dengan selang waktu 5 detik pada setiap kali pembacaannya. Ketika pembacaan keempat kalinya, program akan memanggil atau menjalankan fungsi banding ( ) untuk membandingkan data yang diterima node coordinator. Berikut potongan source code pengiriman request data dan pembacaan data: void kirim(int dat) { if (dat == 1) { //kondisi tampung dikosongkan setiap //mengirimkan request data tampung1=""; tampung2=""; tampung3=""; tampung4=""; Serial.print('%'); Serial.print(dat); Serial.print(" : request data :");
akan
void loop(){ b=1; //merupakan pembacaan data yang dilakukan //selama 4 kali dengan //selang waktu 5 detik pada setiap kali pembacaannya. while(b<5){ kirim(b); while(Serial.available()>0){ char data_masuk=(char)Serial.read(); indata += data_masuk; if(data_masuk=='\n'){} seleksi(); //memanggil atau menjalankan fungsi //seleksi data indata=""; } } indata=""; if (b == 4) { banding(); //memanggil atau menjalankan fungsi //banding data } delay(5000); b++; } }
c.
Penyeleksian Data dan Pemberian ID Baru Pada bagian ini merupakan penyeleksian data yang masuk dan pemberian ID baru “C” yang selanjutnya akan ditampung sebelum data tersebut dibandingkan. Karena node ini hanya menerima data dari node router 1 dan 2 yang masing-masing mempunyai format pesan dengan simbol awal “%” dan ID “N1”, “N2”, “S1” dan “S2”. Berikut potongan source code dalam penyeleksian data dan pemberian ID baru: void seleksi() { if ((indata[0]=='%') && (indata[1]=='N') ) { //pemberian ID baru C indata[1]='C'; if (indata[2]=='1') { tampung1=indata;// tampung data //untuk N1 indata="";// mengkosongkan data Serial.print("N1"); Serial.print(tampung1); } if (indata[2]=='2') { tampung3=indata;// tampung data //untuk N2 indata="";// mengkosongkan data Serial.print("N2"); Serial.print(tampung3); } } else if ((indata[0]=='%') && (indata[1]=='S')) { //pemberian ID baru C indata[1]='C';
Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 22
if (indata[2]=='1') { tampung2=indata;// tampung data //melalui N2 indata="";// mengkosongkan data Serial.print("N1viaN2"); Serial.print(tampung2); } if (indata[2]=='2') { tampung4=indata;// tampung data //melalui N1 indata="";// mengkosongkan data Serial.print("N2viaN1"); Serial.print(tampung4); } } else { indata=""; } }
} N1
if ((tampung3 != "") && (tampung4 != "")) { if (tampung3 == tampung4) { Serial.print(tampung3); } } }
N2
Kondisi perbandingan yang terjadi adalah seperti berikut: 1. Jika node coordinator tidak menerima data dari node router 1 atau 2, maka node coordinator akan mengirimkan pesan error yang terjadi pada node router 1 atau 2 ke node router end device. 2. Jika node coordinator hanya menerima salah satu data dari node router 1 atau 2, maka node ini akan membandingkan data tersebut. Jika salah satu tampung terisi, node coordinator akan mengirim data sesuai dengan tampung yang diterima ke node router end device. 3. Jika node coordinator menerima semua data dari node router 1 dan 2 atau tampung1, 2, 3, 4 terisi, maka akan dilakukan perbandingan data. Jika data tampung1 sama dengan tampung2, maka node ini akan mengirimkan data salah satu dari tampung ke node router end device (dalam skrip ini akan mengirimkan data tampung1). Jika data tampung3 sama dengan tampung4, maka node ini akan mengirimkan data salah satu dari tampung ke node router end device (dalam skrip ini akan mengirimkan data tampung3).
d.
Perbandingan Data dan Pengirimannya Perbandingan ini dilakukan untuk validasi data agar mengetahui apakah terdapat perbedaan data antara data yang berasal dari node router 1 langsung ke node coordinator dengan data yang berasal dari node router 1 ke node coordinator yang melalui node router 2. Begitu juga untuk node router 2. Jika terdapat perbedaan data atau waktu maka data tersebut tidak akan dikirimkan ke node router end device. Berikut potongan source code dalam membandingkan data: void banding() { Serial.println("Hasil Perbandingan :"); //jika seluruh tampung tidak terisi atau //node coordinator tidak //menerima data if ((tampung1 == "") && (tampung2 == "")) { //tampung0 berisi info error pada node 1 Serial.println(tampung0); } if ((tampung3 == "") && (tampung4 == "")) { //tampung berisi info error pada node 2 Serial.println(tampung); } // jika tampung terisi 1 if ((tampung1 != "") && (tampung2 == "")) { Serial.print(tampung1); } if ((tampung1 == "") && (tampung2 != "")) { Serial.print(tampung2); } if ((tampung3 != "") && (tampung4 == "")) { Serial.print(tampung3); } if ((tampung3 == "") && (tampung4 != "")) { Serial.print(tampung4); } // dua tampung terisi if ((tampung1 != "") && (tampung2 != "")) { if (tampung1 == tampung2) { Serial.print(tampung1); }
Gambar 11. Pengiriman dan Penerimaan Node Coordinator
PENGUJIAN SISTEM Hasil pengujian Pengujian keseluruhan sistem dilakukan dengan melakukan pengamatan terhadap data yang terukur pada node router 1 dan 2 serta penerimaan Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 23
dan pengiriman pada setiap node dalam sistem WSN ini: a. Sensor ultrasonik PING pada node router 1 dan node router 2 mampu bekerja dengan baik b. Pengiriman dan penerimaan data dari setiap node ke node yang dituju benar dan sesuai yang diharapkan. c. Jarak jangkauan xbee mampu bekerja dengan baik.
No. 1 2 3 4 5 6 7 8 9 10 11
Tabel 1. Hasil Pengamatan Sensor Ultrasonik PING dan Alat Ukur Node Node Alat Alat No Router Selisih Router Selesih Ukur Ukur 1 2 1 4 cm 4 cm 0 1 cm 1 cm 0 2
8 cm
8 cm
0
2 cm
2 cm
0
3
13 cm
13 cm
0
4 cm
4 cm
0
4
18 cm
18 cm
0
9 cm
9 cm
0
5
20 cm
21 cm
1
19 cm
20 cm
1
6
21 cm
22 cm
1
24 cm
25 cm
1
7
33 cm
34 cm
1
29 cm
30 cm
1
8
35 cm
36 cm
1
36 cm
37 cm
1
9
37 cm
38 cm
1
39 cm
41 cm
2
10
38 cm
39 cm
1
41 cm
43 cm
2
Gambar 12. Keseluruhan Pengiriman dan Penerimaan antar Node Tabel 2. Hasil Pengamatan Komunikasi Data pada Xbee Dalam Kondisi Di Luar Ruangan (Outdoor Area).
Jarak (meter) 10 20 30 40 50 60 70 80 90 100 101
Keterangan Ok Ok Ok Ok Ok Ok Ok Ok Ok Ok Gagal
KESIMPULAN & SARAN Kesimpulan Kesimpulan dari tugas akhir “RANCANG BANGUN PROTOTIPE APLIKASI WIRELESS SENSOR NETWORK UNTUK PERINGATAN DINI TERHADAP BANJIR” adalah : 1. Sistem WSN dalam pengukuran ketinggian air pada prototipe ini menggunakan 4 node yaitu node router 1, router 2, coordinator dan router end device. Node router 1 dan 2 terdiri dari modul mikrokontroler arduino uno sebagai otak keseluruhan sistem untuk menentukan pembacaan ketinggian air oleh sensor ultrasonik dan pembacaan waktu oleh modul RTC. Data ketinggian air dan waktu akan dikirimkan ke node lainnya secara nirkabel menggunakan modul Xbee series 2 beserta shield. Sedangkan node coordinator dan router end device terdiri dari modul mikrokontroler arduino uno dan modul Xbee series 2 beserta shield. 2. Sistem melakukan pengukuran ketinggian air dan waktu secara real time melalui komunikasi nirkabel dan didapatkan hasil pengujian seperti: a. Rata – rata persentase keselahan (error) pengukuran ketinggian air menggunakan sensor ultrasonik berkisar antara 2,09% sampai dengan 2,56%. Secara umum, semakin dekat jarak yang ditampilkan oleh pembacaan sensor semakin kecil persen kesalahan. b. Hasil pengujian komunikasi pengiriman dan penerimaan data secara nirkabel menggunakan Xbee series 2 memiliki jangkauan jarak 1 – 100 meter pada kondisi outdoor.
Saran Sebagai pengembangan dari penelitian yang telah dilakukan, penulis memberikan saran sebagai berikut:
Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 24
1. Prinsip kerja sensor ultrasonik PING berdasarkan pemantulan gelombang ultrasonik melalui udara, terkadang pantulan gelombang tersebut menjadi tidak periodik, sehingga menyebabkan hasil pengkuran atau pembacaan sensor tidak akurat. Oleh karena itu, dalam pemasangan sensor ultrasonik PING harus diperhatikan posisi (penempatan sensor ultrasonik) dan jalur pembacaan sensor ultrasonik. 2. Jika ingin memiliki jangkauan jarak komunikasi secara nirkabel yang lebih jauh, bisa menggunakan modul Xbee Pro series 2 disetiap nodenya atau modul komunikasi nirkabel lainnya.
DAFTAR PUSTAKA Faludi, R. (2011). Building Wireless Sensor Networks. In R. Faludi, Building Wireless Sensor Networks. United States of America: O’Reilly Media, Inc. Arief, U. M. 2011. Pengujian Sensor Ultrasonik PING untuk Pengukuran Level Ketinggian dan Volume Air. Elektrikal Enjiniring , 72-77. Yunidar. 2009. Penerapan Sensor Ping Sebagai Pemantau Ketinggian Air Berbasis Mikrokontroler AT89C2051. Rekayasa Elektrika , 71-76 Inc, D. I. 2012. XBee / XBee-Pro ZB RF Modules. Minnetonka: Digi International Inc. Inc, D. I. 2007. XBee Series 2 OEM RF Modules. Lindon: MaxStream. Arrosyid, M. H., Tjahjono, I. A., & Epyk Sunarno, S. 2009. Implementasi Wireless Sensor Network untuk Monitoring Parameter Energi Listrik sebagai Peningkatan Layanan bagi Penyedia Energi Listrik. arduino.cc. (2013). Arduino Xbee Shield, [online], (http://arduino.cc/en/Main/ArduinoXbeeShield, diakses tanggal 24 November 2013) arduino.cc. (2013). Arduino Board Uno SMD, [online] (http://arduino.cc/en/Main/ArduinoBoardUnoSMD, diakses tanggal 24 November 2013
Budi Hari Nugroho, Jusak, Pauladie Susanto JCONES Vol. 3, No. 2 (2014) Hal: 25