• Tidak ada hasil yang ditemukan

TA : Rancang Bangun Aplikasi Pemantau Data Wireless Sensor Network Untuk Peringatan Dini Terhadap Banjir.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Rancang Bangun Aplikasi Pemantau Data Wireless Sensor Network Untuk Peringatan Dini Terhadap Banjir."

Copied!
81
0
0

Teks penuh

(1)

RANCANG BANGUN APLIKASI PEMANTAU DATA WIRELESS SENSOR NETWORK UNTUK PERINGATAN DINI TERHADAP BANJIR

TUGAS AKHIR

Disusun Oleh :

Nama : Muhammad Syakir Kautsar

NIM : 09.41020.0019 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

(2)

ABSTRAK

Banjir sering yang 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. Karena alasan inilah perlu dirancang alat pendeteksi banjir jarak jauh, tidak hanya meningkatkan keakuratan pendeteksian pada banjir namun nantinya bisa dipantau secara real time sehingga memberikan siaga banjir disaat yang tepat.

Pemantauan ketinggian air sungai secara real time ini menggunakan teknologi Wireless Sensor Network (WSN). WSN adalah suatu infrastruktur jaringan wireless yang menggunakan sensor untuk memonitor kondisi fisik atau kondisi lingkungan yang dapat terhubung ke jaringan. Untuk menampilkan data yang dikirimkan node WSN, dibuatlah aplikasi dari software visual basic 6.

(3)

Halaman

ABSTRAK ... v

KATA PENGANTAR ... vi

DAFTAR ISI ... viii

DAFTAR TABEL ... xi

DAFTAR GAMBAR ... xii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah ... 3

1.4 Tujuan Masalah ... 3

1.5 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Wireless Sensor Network (WSN) ... 6

2.2 Arduino ... 8

2.3 Software Arduino IDE ... 12

2.4 Bahasa Pemograman Arduino ... 14

2.5 Xbee Series 2 Chip Antenna ... 21

2.5 Topologi Point to Point ... 29

2.6 Topologi Point to Multipoint ... 31

2.7 Xbee Shield ... 32

(4)

3.2 Model Perancangan ... 36

3.3 Perancangan sistem ... 37

3.4 Input node end device ... 38

3.5 Pemrogaman mikrokontroler Arduino Uno ... 40

3.6 Konfigurasi Xbee ... 43

3.7 Pemrogaman visual basic ... 44

BAB IV HASIL PENGUJIAN DAN PENGAMATAN ... 52

4.1 Pengujian Xbee ... 52

4.1.1 Tujuan ... 52

4.1.2 Alat yang digunakan ... 52

4.1.3 Prosedur Pengujian ... 53

4.1.4 Hasil Pengujian ... 53

4.2 Pengujian Arduino ... 54

4.2.1 Tujuan ... 54

4.2.2 Alat yang digunakan ... 54

4.2.3 Prosedur Pengujian ... 54

4.2.4 Hasil Pengujian ... 55

4.3 Pengujian tampilan prediksi ... 57

4.3.1 Tujuan ... 57

4.3.2 Alat yang digunakan ... 57

4.3.3 Prosedur pengujian : ... 57

(5)

4.4.2 Alat yang digunakan ... 62

4.4.3 Prosedur pengujian : ... 63

4.4.4 Hasil Pengujian ... 64

BAB V KESIMPULAN DAN SARAN ... 73

5.1 Kesimpulan ... 73

5.2 Saran ... 74

(6)

BAB I PENDAHULUAN

1.1 Latar Belakang

Telekomunikasi merupakan teknik pengiriman atau penyampaian informasi dari satu tempat ke tempat yang lain. Dewasa ini kebutuhan informasi yang semakin meningkat mengharuskan informasi tersebut dapat diketahui secara real time atau pada saat itu juga. Didorong dari kebutuhan-kebutuhan realtime inilah dibutuhkan komunikasi yang dapat mengirimkan data secara cepat dan terus menerus. Penggunaan wireless atau jaringan nirkabel bertujuan untuk menggantikan kabel yang menghubungkan terminal komputer dengan jaringan, sehingga tetap dapat berkomunikasi dengan kecepatan transmisi yang memadai. Wireless atau jaringan nirkabel ini menggunakan gelombang radio sebagai media transmisinya.

(7)

Pada penelitian sebelumnya telah banyak ditemukan alat peringatan dini terhadap banjir namun masih dengan menggunakan mikrokontroler atmega dan data langsung ditampilkan di LCD (Arief, 2011). Pada tugas akhir ini, perancangan pendeteksi ketinggian air sungai jarak jauh yang dikonsepkan untuk memberikan informasi kepada para penggunanya untuk memperoleh informasi waktu nyata (real time) perubahan tentang keadaan atau situasi ketinggian air sungai pada saat itu juga. Pemantauan ketinggian air sungai secarareal time ini menggunakan teknologi Wireless Sensor Network (WSN). WSN adalah suatu infrastruktur jaringan wireless yang menggunakan sensor untuk memonitor kondisi fisik atau kondisi lingkungan yang dapat terhubung ke jaringan. Masing– masing node dalam jaringan sensor nirkabel biasanya dilengkapi dengan radio tranciever atau alat komunikasi wireless lainnya (Xbee series 2), mikrokontroler,

dan sumber energi, biasanya baterai. Pendeteksi banjir jarak jauh ini akan mendeteksi perubahan-perubahan ketinggian air dan memberikan peringatan dini banjir dengan menggunakan modul sensor ultrasonik atau modul ping yang memanfaatkan gelombang ultrasonik yang dipantulkan kemudian menghitung jarak gelombang yang terpantulkan kembali ketika mengenai benda penghalang (menyentuh permukaan air), dan data yang tercatat akan ditambahkan catatan waktu dengan tambahan rangkaian atau modul RTC (realtimeclock) kemudian data diolah oleh mikrokontroller dan setelah itu dikirimkan ke node lainnya melalui wireless.

1.2 Rumusan Masalah

(8)

1. Bagaimana seleksi data pada node end device sehingga hanya data dari node coordinator yang diproses.

2. Bagaimana menampilkan data yang diterima node end device ke komputer.

1.3 Batasan Masalah

Batasan masalah dari pembahasan tugas akhir ini adalah : 1. Menggunakan modul mikrokontroler Arduino Uno.

2. Menggunakan modul Xbee series 2 untuk transmisi radio dan pengiriman data Xbee series 2 memiliki jarak maksimum 100 meter.

3. Menggunakan software arduino IDE untuk memprogram mikrokontroler pada arduino uno.

4. Menggunakan software X-CTU untuk menkonfigurasi modul Arduino ZigBee (Xbee series 2) dalam mode AT.

5. Bahasa pemrograman menggunakan bahasa C/C++ pada arduino IDE. 6. Menggunakan penmograman VB 6 untuk menampilkan data ke komputer. 7. Membahas model komunikasi satu arah dari coordinator sampai ke

komputer

1.4 Tujuan Masalah

Dalam rancang bangun WSN untuk peringatan dini terhadap banjir ini, bertujuan untuk :

(9)

2. Menampilkan data yang telah diterima end device dan ditampilkan di software VB 6.

1.5 Sistematika Penulisan

Pembahasan Tugas Akhir ini secara Garis besar tersusun dari 5 (lima) bab, yaitu diuraikan sebagai berikut:

BAB I. PENDAHULUAN

Pada Bab ini akan dibahas mengenai latar belakang masalah, batasan masalah, tujuan penulisan, dan sistematika penulisan.

BAB II. LANDASAN TEORI

Pada Bab ini akan dibahas teori penunjang dari permasalahan, yaitu mengenai WSN, Arduino Uno, software arduino IDE, ZigBee (Xbee series 2) mode AT, software X-CTU dan Visual Basic

BAB III. METODE PENELITIAN DAN PERANCANGAN SISTEM

Pada Bab ini akan dibahas tentang blog diagram sistem serta metode yang dilakukan dalam perancangan sistem prototipe, meliputi cara pembuatan skrip pada software arduino IDE untuk komunikasi antara Xbee coordinator sampai end device, konfigurasi Xbee series 2 dalam mode AT pada software X-CTU dan flow cart software visual basic untuk menampilkan data yang diterima oleh arduino.

BAB IV. HASIL DAN PEMBAHASAN

(10)

BAB V. KESIMPULAN DAN SARAN

(11)

BAB II

LANDASAN TEORI

2.1 Wireless Sensor Network (WSN)

Wireless Sensor Network (WSN) atau jaringan sensor nirkabel merupakan

suatu jaringan nirkabel yang terdiri dari beberapa sensor node yang bersifat individu yang diletakkan ditempat – tempat yang berbeda untuk memonitoring kondisi suatu tempat dan dapat berinteraksi dengan lingkungannya dengan cara sensing, controlling dan communication terhadap parameter – parameter fisiknya.

Gambar 2.1 Arsitektur WSN Sumber : (http://virtual-labs.ac.in)

(12)

seperti koneksi internet atau satelit sehingga memungkinkan user untuk dapat mengakses secara realtime melalui remote server. (E, Sugiarto, & Sakti, 2009)

Setiap node dalam WSN terdiri dari lima komponen yaitu kontroller/mikrokontroler, memori, sensor/akuator, perangkat komunikasi dan catu daya. Umumnya catu daya yang dipakai adalah baterai. Komponen – komponen dari sebuah node ditunjukkan pada Gambar 2.2.

Gambar 2.2 Komponen – Komponen Penyusun Node dalam WSN Sumber : (E, Sugiarto, & Sakti, 2009)

1. Communication device (perangkat komunikasi)

Berfungsi untuk menerima/mengirim data dengan menggunakan protokol IEEE 802.15.4 atau IEEE 802.11b/g kepada device atau node lainnya.

2. Mikrokontroler

Berfungsi untuk melakukan fungsi perhitungan, mengontrol dan memproses device – device yang terhubung dengan mikrokontroler.

3. Sensor

(13)

diukur menjadi energi listrik yang kemudian diubah oleh ADC menjadi deretan pulsa terkuantisasi yang kemudian bisa dibaca oleh mikrokontroler.

4. Memory

Berfungsi sebagai tambahan memori bagi sistem Wireless Sensor, pada dasarnya sebuah unit mikrokontroler memiliki unit memori sendiri.

5. Power supply

Berfungsi sebagai sumber energi bagi sistem Wireless Sensor secara keseluruhan.

2.2 Arduino

Arduino adalah prototipe platform elektronik opensource yang terdiri dari mikrokontroler, bahasa pemrograman, dan IDE. Arduino adalah alat untuk membuat aplikasi interaktif, yang dirancang untuk mempermudah proyek bagi pemula tetapi masih cukup fleksibel bagi para ahli untuk mengembangkan proyek-proyek yang kompleks. (Banzi, Getting Started with Arduino, 2009)

2.2.1 Arduino Uno SMD R3

Arduino Uno adalah papan mikrokontroler berbasis ATmega328. Dalam

bahasa Italy “Uno” berarti satu, maka peluncuran arduino ini diberi nama Uno.

(14)

Gambar 2.3 Arduino Uno SMD R3 Sisi Depan (Kiri) dan Belakang(Kanan) Sumber : (arduino.cc)

Secara umum arduino terdiri dari dua bagian, yaitu: 1. Hardware: papan input/output (I/O)

2. Software: software arduino meliputi IDE untuk menulis program, driver untuk koneksi dengan komputer, contoh program dan library untuk pengembangan program. (Djuandi, 2011)

Berikut adalah Tabel 2.1 spesifikasi dari arduino uno smd R3: Tabel 2.1 Spesifikasi Arduino Uno SMD R3

Mikrokontroler ATmega328

Tegangan pengoperasian 5V

Tegangan input yang

disarankan 7-12V

Batas tegangan input 6-20V

Jumlah pin I/O digital 14 (6 di antaranya menyediakan keluaran PWM)

Jumlah pin input analog 6

Arus DC tiap pin I/O 40 mA

Arus DC untuk pin 3.3V 50 mA

Memori Flash 32 KB (ATmega328), sekitar 0.5 KB digunakan oleh bootloader

SRAM 2 KB (ATmega328)

EEPROM 1 KB (ATmega328)

(15)

2.2.2 Daya (Power)

Arduino Uno dapat disuplai melalui koneksi USB atau dengan sebuah power suplai eksternal. Suplai eksternal (non-USB) dapat diperoleh dari sebuah adaptor AC ke DC atau baterai. Adaptor dapat dihubungkan dengan mencolokkan sebuah center-positive plug yang panjangnya 2,1 mm ke power jack dari board. Kabel lead dari sebuah battery dapat dimasukkan dalam header/kepala pin Ground (Gnd) dan pin Vin dari konektor POWER.

Board Arduino Uno dapat beroperasi pada sebuah suplai eksternal 6 sampai 20 Volt. Jika disuplai dengan yang lebih kecil dari 7 V, kiranya pin 5 Volt mungkin mensuplai kecil dari 5 Volt dan board Arduino Uno bisa menjadi tidak stabil. Jika menggunakan suplai yang lebih dari besar 12 Volt, voltage regulator bisa kelebihan panas dan membahayakan board Arduino Uno. Range yang direkomendasikan adalah 7 sampai 12 Volt. (arduino.cc)

Pin-pin dayanya adalah sebagai berikut:

a) VIN. Tegangan input ke Arduino board ketika board sedang menggunakan sumber suplai eksternal (seperti 5 Volt dari koneksi USB atau sumber tenaga lainnya yang diatur). Kita dapat menyuplai tegangan melalui pin ini, atau jika penyuplaian tegangan melalui power jack, aksesnya melalui pin ini.

(16)

c) 3V3. Sebuah suplai 3,3 Volt dihasilkan oleh regulator pada board. Arus maksimum yang dapat dilalui adalah 50 mA.

d) GND. Pin ground.

2.2.3 Memori

ATmega328 mempunyai 32 KB yang bersifat non-volatile, digunakan untuk menyimpan program yang dimuat dari komputer. (dengan 0,5 KB digunakan untuk bootloader). ATmega 328 juga mempunyai 2 KB SRAM yang volatile (hilang saat daya dimatikan), digunakan oleh variable-variabel di dalam program. dan 1 KB EEPROM (yang dapat dibaca dan ditulis (RW/read and written). (arduino.cc)

2.2.4 Input dan Output

Setiap 14 pin digital pada Arduino Uno dapat digunakan sebagai input dan output. Fungsi-fungsi tersebut beroperasi di tegangan 5 Volt. Setiap pin dapat memberikan atau menerima suatu arus maksimum 40 mA dan mempunyai sebuah resistor pull-up (terputus secara default) 20-50 kOhm. Selain itu, beberapa pin mempunyai fungsi-fungsi sebagai berikut:

a) Serial: 0 (RX) dan 1 (TX). Digunakan untuk menerima (RX) dan memancarkan (TX) serial data TTL (Transistor-Transistor Logic). Kedua pin ini dihubungkan ke pin-pin yang sesuai dari chip Serial Atmega8U2 USB-ke-TTL.

(17)

c) PWM: 3, 5, 6, 9, 10, dan 11. Memberikan 8-bit PWM output dengan fungsi analogWrite().

d) SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Pin-pin ini mensupport komunikasi SPI menggunakan SPI library.

e) LED: 13. Ada sebuah LED yang terpasang, terhubung ke pin digital 13. Ketika pin bernilai HIGH LED menyala, ketika pin bernilai LOW LED mati.

Arduino UNO mempunyai 6 input analog, diberi label A0 sampai A5, setiapnya memberikan resolusi 10 bit. Secara default, 6 input analog tersebut mengukur tegangan dari ground sampai tegangan 5 Volt, dengan itu memungkinkan untuk mengganti batas atas dari rangenya dengan menggunakan pin AREF dan fungsi analogReference(). Di sisi lainnya, beberapa pin mempunyai fungsi spesifik yaitu pin A4 atau SDA dan pin A5 atau SCL. Mendukung komunikasi TWI dengan menggunakan Wire library. Ada sepasang pin lainnya pada board yaitu AREF referensi tegangan untuk input analog. Digunakan dengan analogReference(), dan reset untuk mereset mikrokontroler. (arduino.cc)

2.3 Software Arduino IDE

Arduino IDE adalah software yang ditulis menggunakan java dan berdasarkan pengolahan seperti, avr-gcc, dan perangkat lunak open source lainnya (Djuandi, 2011). Arduino IDE terdiri dari:

1. Editor program, sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing.

(18)

akan bisa memahami bahasa processing, yang dipahami oleh mikrokontroller adalah kode biner.

3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam memori mikrokontroller di dalam papan arduino.

Gambar 2.4 Tampilan Software Arduino IDE

(19)

2.4 Bahasa Pemograman Arduino

Arduino ini bisa dijalankan di komputer dengan berbagai macam platform karena didukung atau berbasis Java. Source program yang dibuat untuk aplikasi mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan assembly. (arduino.cc)

1. Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada (arduino.cc). Antara lain:

a) void setup( ) { }

Semua kode didalam kurung kurawal akan dijalankan hanya satu kali ketika program Arduino dijalankan untuk pertama kalinya.

b) void loop( ) { }

Fungsi ini akan dijalankan setelah setup (fungsi void setup) selesai. Setelah dijalankan satu kali fungsi ini akan dijalankan lagi, dan lagi secara terus menerus sampai catu daya (power) dilepaskan.

2. Serial

(20)

a) Serial.begin ( )

Fungsi ini digunakan untuk transmisi data serial dan mengatur data rate dalam bits per second (baud). Untuk berkomunikasi dengan komputer gunakan salah satu dari angka ini: 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, atau 115200.

b) Serial.available ( )

Fungsi ini digunakan untuk mendapatkan jumlah data byte (characters) yang tersedia dan membacanya dari port serial. Data tersebut adalah data yang telah tiba dan disimpan dalam buffer serial yang menampung sampai 64 bytes. c) Serial.read ( )

Fungsi digunakan untuk membaca data serial yang masuk. d) Serial.print ( ) dan Serial.println ( )

Fungsi ini digunakan untuk mencetak data ke port serial dalam format text ASCII. Sedangkan fungsi Serial.println ( )sama seperti fungsi Serial.print ( ) hanya saja ketika menggunakan fungsi ini akan mencetak data dan kemudian diikuti dengan karakter newline atau enter.

3. Syntax

Berikut ini adalah elemen bahasa C yang dibutuhkan untuk format penulisan. (arduino.cc)

a) //(komentar satu baris)

(21)

b) /* */(komentar banyak baris)

Jika anda punya banyak catatan, maka hal itu dapat dituliskan pada beberapa baris sebagai komentar. Semua hal yang terletak di antara dua simbol tersebut akan diabaikan oleh program.

c) { }(kurung kurawal)

Digunakan untuk mendefinisikan kapan blok program mulai dan berakhir (digunakan juga pada fungsi dan pengulangan).

d) ;(titk koma)

Setiap baris kode harus diakhiri dengan tanda titik koma (jika ada titik koma yang hilang maka program tidak akan bisa dijalankan).

4. Variabel

Sebuah program secara garis besar dapat didefinisikan sebagai instruksi untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan untuk memindahkannya. (arduino.cc)

a) int (integer)

Digunakan untuk menyimpan angka dalam 2 byte (16 bit). Tidak mempunyai angka desimal dan menyimpan nilai dari -32,768 dan 32,767.

b) long (long)

Digunakan ketika integer tidak mencukupi lagi. Memakai 4 byte (32 bit) dari memori (RAM) dan mempunyai rentang dari -2,147,483,648 dan 2,147,483,647.

c) boolean (boolean)

(22)

d) float (float)

Digunakan untuk angka desimal (floating point). Memakai 4 byte (32 bit) dari RAM dan mempunyai rentang dari -3.4028235E+38 dan 3.4028235E+38. e) char (character)

Menyimpan 1 karakter menggunakan kode ASCII (misalnya „A‟ = 65). Hanya

memakai 1 byte (8 bit) dari RAM. 5. Operator Matematika

Operator yang digunakan untuk memanipulasi angka (bekerja seperti matematika yang sederhana). (arduino.cc)

a) = (sama dengan)

Membuat sesuatu menjadi sama dengan nilai yang lain (misalnya: x = 10 * 2, x sekarang sama dengan 20).

b) % (persen)

Menghasilkan sisa dari hasil pembagian suatu angka dengan angka yang lain (misalnya: 12 % 10, ini akan menghasilkan angka 2).

c) + (penjumlahan) d) – (pengurangan) e) * (perkalian) f) / (pembagian)

6. Operator Pembanding

Digunakan untuk membandingkan nilai logika. a) ==

(23)

b) !=

Tidak sama dengan (misalnya: 12 != 10 adalah TRUE (benar) atau 12 != 12 adalah FALSE (salah)).

c) <

Lebih kecil dari (misalnya: 12 < 10 adalah FALSE (salah) atau 12 < 12 adalah FALSE (salah) atau 12 < 14 adalah TRUE (benar)).

d) >

Lebih besar dari (misalnya: 12 > 10 adalah TRUE (benar) atau 12 > 12 adalah FALSE (salah) atau 12 > 14 adalah FALSE (salah)).

7. Struktur Pengaturan

Program sangat tergantung pada pengaturan apa yang akan dijalankan berikutnya, berikut ini adalah elemen dasar pengaturan (banyak lagi yang lain dan bisa dicari di internet). (arduino.cc)

a) If else, dengan format seperti berikut ini: if (kondisi) { }

else if (kondisi) { } else { }

Dengan struktur seperti diatas program akan menjalankan kode yang ada di dalam kurung kurawal jika kondisinya TRUE, dan jika tidak (FALSE) maka akan diperiksa apakah kondisi pada else if dan jika kondisinya FALSE maka kode pada else yang akan dijalankan.

(24)

Dengan struktur ini, while akan melakukan pengulangan terus menurus dan tak terbatas sampai kondisi didalam kurung ( ) menjadi false.

c) for, dengan format seperti berikut ini: for (int i = 0; i < #pengulangan; i++) { }

Digunakan bila ingin melakukan pengulangan kode di dalam kurung kurawal beberapa kali, ganti #pengulangan dengan jumlah pengulangan yang diinginkan. Melakukan penghitungan ke atas dengan i++ atau ke bawah dengan i–-.

8. Operator Boolean

Operator ini dapat digunakan dalam kondisi if, antara lain: a) && (logika and), dengan format seperti berikut ini:

if (digitalRead(2) == HIGH && digitalRead(3) == HIGH) {}

Digunakan bila ingin mendapatkan nilai yang true hanya jika kedua input bernilai HIGH.

b) | | (logika or), dengan format seperti berikut ini: if (x > 0 || y > 0) {}

Digunakan bila ingin mendapatkan nilai yang true hanya jika nilai x dan y lebih besar dari 0.

c) ! (not), dengan format seperti berikut ini: if (!x) {}

(25)

9. Digital

a) pinMode(pin, mode)

Digunakan untuk menetapkan mode dari suatu pin, pin adalah nomor pin yang akan digunakan dari 0-19 (pin analog 0-5 adalah 14-19). Mode yang bisa digunakan adalah INPUT atau OUTPUT.

b) digitalWrite(pin, value)

Ketika sebuah pin ditetapkan sebagai OUTPUT, pin tersebut dapat dijadikan HIGH (5 volts) atau LOW (diturunkan menjadi ground).

c) digitalRead(pin)

Ketika sebuah pin ditetapkan sebagai INPUT maka anda dapat menggunakan kode ini untuk mendapatkan nilai pin tersebut apakah HIGH (5 volts) atau LOW (diturunkan menjadi ground).

10. Analog

Arduino adalah mesin digital tetapi mempunyai kemampuan untuk beroperasi di dalam analog. Berikut ini cara untuk menghadapi hal yang bukan digital.

a) analogWrite(pin, value)

(26)

b) analogRead(pin)

Ketika pin analog ditetapkan sebagai INPUT anda dapat membaca keluaran voltase-nya. Keluarannya berupa angka antara 0 (untuk 0 volts) dan 1024 (untuk 5 volts).

2.5 Xbee Series 2 Chip Antenna

Xbee series 2 modul RF dirancang untuk beroperasi dalam protokol ZigBee dengan biaya yang murah dan jaringan sensor nirkabel menggunakan daya yang rendah. Modul ini membutuhkan daya yang rendah dan dapat melakukan pengiriman data yang handal antara perangkat dengan jarak yang jauh. Modul ini beroperasi pada frekuensi 2.4 GHz. (Inc, XBee Series 2 OEM RF Modules, 2007)

Xbee series 2 ini mempunyai beberapa model antena, salah satunya adalah chip antenna. Chip antenna merupakan suatu chip keramik yang terletak pada board modul Xbee, bentuknya lebih kecil. Chip antenna memiliki pola radiasi cardoid, yang berarti sinyal dilemahkan dalam berbagai arah dan sangat baik digunakan dalam area yang tidak luas atau kecil. Pada Gambar 2.5 merupakan gambar dari modul Xbee series 2 chip antenna.

(27)

Berikut adalah spesifikasi dari modul Xbee series 2 chip antenna : 1. Jarak jangkauan indoor 133 ft atau 40 meter.

2. Jarak jangkauan outdoor line of sight 400 ft atau 120 meter. 3. Transmit power output 2 mW (+ 3 dbm).

4. Radio Frekuensi data rate 250 Kbps. 5. Frekuensi 2.4 GHz.

6. Receiver sensitivity -98 dbm (1 % pakcet error rate). 7. Antena menggunakan chip antenna.

2.6 Xbee Usb Adapter dan Software X-CTU

(28)

Gambar 2.6 Xbee Usb Adapter dan Kabel Mini Usb

Gambar 2.7 Tampilan Software X-CTU

Pada Gambar 2.7 software X-CTU, terdapat empat tab di bagian atas program. Masing – masing tab mempunyai fungsi yang berbeda – beda (Inc, 2008). Berikut adalah ke empat tab tersebut:

1. PC Settings

(29)

diinginkan. Terdapat tombol Test / Query pada tab PC Settings, tombol ini digunakan untuk menguji COM port yang telah dipilih, jika pengaturan dan COM port benar, maka akan muncul kotak dialog respon seperti pada Gambar 2.8.

Gambar 2.8 Kotak Dialog Respon 2. Range Test

Pada tab range test ini, pengguna dapat melakukan pengujian range test antara dua Xbee dengan mengirimkan paket data yang ditentukan pengguna dan memverifikasi apakah paket data yang dikirim sama dengan yang diterima.

3. Terminal

(30)

Gambar 2.9 Tab Terminal

Gambar 2.10 Assemble Packet

(31)

4. Modem Configuration Tab

Pada tab ini, pengguna dapat melakukan pemrograman pada pengaturan firmware Xbee dan merubah versi firmwarenya melalui Graphical User Interface (GUI). Terdapat 4 fungsi dasar dalam modem configuration tab, yaitu:

a) Menyediakan fasilitas GUI untuk mengatur firmware pada Xbee. b) Read dan write firmware ke mikrokontroler Xbee.

(32)

Gambar 2.12 Tab Modem Configuration

(33)

Gambar 2.13 Firmware Xbee Telah Terbaca

c) Meng-update firmware pada Xbee

(34)

d) Save atau load modem profile

X-CTU dapat menyimpan dan men-load profil modem atau konfigurasi yang telah disimpan, ini sangat berguna ketika paramater konfigurasi yang sama ditetapkan pada beberapa Xbee yang berbeda (Gambar 2.15)

Gambar 2.15 Save dan Load Modem Profile

2.5 Topologi Point to Point

Topologi point to point adalah topologi yang membangun hubungan langsung antara dua node jaringan. Dalam jaringan sensor nirkabel atau WSN ini dapat menggunakan topologi point to point. Jenis node dan parameter yang harus dikonfigurasi agar dua Xbee dapat berkomunikasi secara point to point adalah salah satu node harus menjadi coordinator dan lainnya menjadi router atau end

(35)

configuration dalam software X-CTU untuk dapat membaca modul Xbee, pada bagian function set diatur menjadi ZIGBEE COORDINATOR AT, selanjutnya parameter pada node coordinator yang harus diatur adalah parameter PAN ID, PAN ID dalam satu jaringan (antara dua Xbee) harus sama agar dapat berkomunikasi. Kemudian DH dan DL yang harus diatur sesuai dengan SH dan SL milik router atau end device yang merupakan source address. Jika jenis node

dan parameter sudah diatur, setelah itu klik “Write” untuk menyimpan konfigurasi

yang telah diatur ke dalam Xbee. (Gambar 2.16).

Gambar 2.16 Konfigurasi Node Coordinator

Pada node yang akan dijadikan router atau end device, pada bagian function set diatur menjadi ZIGBEE ROUTER AT ATAU END DEVICE AT.

(36)

parameter PAN ID, PAN ID dalam satu jaringan (antara dua Xbee) harus sama agar dapat berkomunikasi dalam hal ini mengikuti PAN ID coordinator. Kemudian DH dan DL yang harus diatur sesuai dengan SH dan SL milik coordinator yang merupakan source address. Jika jenis node dan parameter sudah

diatur, setelah itu klik “Write” untuk menyimpan konfigurasi yang telah diatur ke

dalam Xbee. (Gambar 2.17).

Gambar 2.17 Konfigurasi Node End device 2.6 Topologi Point to Multipoint

(37)

adalah salah satu node harus menjadi coordinator dan lainnya menjadi router atau end device. Parameter yang harus diatur hampir sama dengan parameter dalam

komunikasi point to point, perbedaannya terletak pada DH dan DL node yang bersangkutan. Dalam point to multipoint ini, DH dan DL diatur nilainya menjadi DH = 0 dan DL = FFFF, FFFF mempunyai arti bahwa data akan dikirim secara broadcast sehingga beberapa node dalam PAN ID yang sama akan mendapat data tersebut. (Gambar 2.18).

Gambar 2.18 Konfigurasi Point to Multipoint 2.7 Xbee Shield

(38)

Gambar 2.19 Xbee Shield

Xbee shield memiliki dua jumper terbuat dari plastik yang dapat di removeable dari tiga pin pada shied yang berlabel Xbee/USB (Gambar 2.20).

Jumper ini menentukan komunikasi serial Xbee agar terhubung pada komunikasi serial antar mikrokontroller atau USB pada board arduino. (arduino.cc)

(39)

2.8 Visual Basic

Visual Basic adalah salah suatu development tools untuk membangun

aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form. Tampilan Visual Basic terdapat pada Integrated Development Environment

(IDE) seperti pada Gambar 2.21.

Gambar 2.21 Tampilan Utama Visual Basic 6.0 Adapun pejelasan jendela-jendela adalah sebagai berikut :

a) Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll

b) Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. c) Jendela Project, jendela berisi gambaran dari semua modul yang terdapat

dalam aplikasi.

(40)

e) Jendela Toolbox, jendela berisi komponen-komponen yang dapat anda gunakan untuk mengembangkan user interface.

f) Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda dapat menampilkan jendela dengan menggunakan kombinasi Shift-F7.

g) Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latar belakang (background). Anda dapat menggunakan F4 untuk menampilkan jendela properti.

h) Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object.

(41)

BAB III

METODE PENELITIAN DAN PERANCANGAN SISTEM

3.1 Metode Penelitian

Pada metode penelitian tugas akhir ini dilakukan untuk mendapatkan informasi data ketinggian air sungai beserta waktu saat itu untuk ditampilkan ke komputer. Data-data tersebut dikirimkan secara nirkabel dari node satu ke node yang lain. Data tersebut berasal dari node yang bertanggung jawab untuk mencatat ketinggian dan waktu yang disebut dengan node sensor lalu dikirimkan ke node lainnya sampai data diterima oleh end device yang kemudian dikirimkan ke komputer untuk ditampilkan pada software visual basic.

3.2 Model Perancangan

Pada perancangan ini penulis menggambarkan perancangan sistemnya seperti pada Gambar 3.1 berikut.

Gambar 3.1 Gambaran Perancangan

(42)

a) Node sensor

Pada node ini, node bertanggung jawab sebagai mencatat ketinggian air sungai dan waktu saat perekaman yang kemudian dikirimkan ke node selanjutnya. b) Node coordinator

Pada node ini, node bertanggung jawab atas pertukaran data yang telah dikirimkan oleh node sensor. Data yang diterima oleh node ini akan ditampung terlebih dahulu sebelum diteruskan ke node yang lainnya. Penampungan ini bertujuan agar data yang diterima isinya sama, maka cukup hanya satu data yang diteruskan ke node berikutnya.

c) Node end device

Pada node ini, node berperan sebagai penerima data dari node coordinator. Node ini berkomunikasi secara unicast (point to point) dengan node coordinator.

Karena node ini bersifat unicast terhadap coordinator, data yang keluar tidak akan sampai ke node sensor.

(43)

Dalam tugas akhir ini, penulis hanya akan menjelaskan data yang diterima node end device dari node coordinator. Sedangkan pada blok diagram node sensor

dan node coordinator dikerjakan dalam judul tugas akhir “Rancang Bangun Prototipe Aplikasi Wireless Sensor Network (WSN) Untuk Peringatan Dini Terhadap Banjir” oleh Budi Hari Nugroho. Data yang telah diterima oleh node end device akan ditampilkan ke komputer melalui progam visual basic.

3.4 Input node end device

Dalam tugas akhir ini penulis memberi identitas pada setiap node. Pemberian identitas disini agar setiap node mengenal pengirim asal data tersebut. Pemberian identitas itu sendiri ditulis pada modul mikrokontroler arduino uno.

Data yang nantinya dikirim akan mendapatkan tambahan identitas node. Dari tambahan itu yang akan membuat node dapat mengenali asal data tersebut dan dapat pula menyeleksi apakah data tersebut perlu diterima atau tidak.

Contoh pemberian identitasnya yaitu pada coordinator diberi identitas C (huruf c besar). Identitas ini akan dikirim bersamaan dengan inti data yang node coordinator akan kirimkan. Pada isi data yang diterima end device nantinya

terdapat simbol C dan diikuti oleh inti pesan yang dikirim dari node coordinator.

Gambar 3.3 Format penulisan data

(44)

head dan id node yang harus dikenali. Semua penulisan tersebut ditulis semua dan dipisahkan oleh tanda titik.

Semua node disini akan memiliki head yang sama. Namun untuk id node tergantung dengan node mana yang mengirimkan data tersebut. Jadi setiap node yang akan mengirim data harus mengganti id node sebelumnya (pengirim) dengan id node yang ia miliki. Namun pada node end device tidak perlu mengganti id node karena node ini tidak berhak untuk mengirim data ke node yang lain kecuali

komputer.

Dalam tugas akhir ini penulis menggunakan simbol % untuk digunakan sebagai head. Maka dari itu setiap node akan mengetahui apabila data yang diterima harus mempunyai simbol %. 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.

(45)

3.5 Pemrogaman mikrokontroler Arduino Uno

MULAI

INISIALISAI

CETAK

SELESAI

TIDAK PEMBACAAN DATA PUNYA

SIMBOL “%” dan “C”

YA TAMPUNG

DATA MASUK SAMPAI “\n”

Hapus Data

Gambar 3.4 Flowcart node end device

Pada alur proses Gambar 3.4 node end device akan mengambil data yang memiliki simbol % dari node coordinator. Apabila node end device menerima data selain itu, maka data akan dihapus atau dibuang.

Pemrogaman pada setiap node dilakukan pada modul mikrokontrolernya. Pemrogaman ini bertujuan untuk memasukkan perintah yang harus dilakukan mikrokontroler itu.

(46)

Gambar 3.5 Tampilan program arduino pada software Arduino IDE

Berikut contoh pemrogaman modul arduino uno pada node end device yang diprogam pada Arduino IDE :

a. Pembuatan variabel

Dalam pembuatan variabel ini penulis menggunakan variabel tipe string yang bernama “indata” untuk menampung data. Pembuatan variabel ini diletakkan

diluar fungsi void agar variabel ini dapat digunakan secara global. Berikut sebagai contoh :

(47)

b. fungsi void setup

Dalam fungsi void setup perintah akan dibaca 1 kali setelah progam berjalan. Dalam tugas akhir ini penulis mengisikan baudrate dan variabel indata dalam kondisi kosong. Berikut sebagai contoh :

void setup() penulis mengisi perintah menunggu data yang masuk (listening), pemanggilan void lain, dan pengosongan data kembali. Berikut contohnya :

void loop() {

while(Serial.available()>0) {

char data_masuk=(char)Serial.read(); indata+=data_masuk; bertemu tanda “\n” (end/enter). Apabila data telah bertemu tanda seperti itu maka dia akan memanggil perintah “void pisahdata” dan setelah itu pengosongan

kembali variabel “indata”.

d. fungsi void pisahdata

(48)

void pisahData() {

//masukkan data yg ditampung di indata

if ((indata[0] == '%') && (indata[1] == 'C')) “indata” dan dibaca pada karakter ke 0 dan ke 1. Apabila data berisikan % dan C,

maka data itu akan dicetak atau diteruskan ke komputer. Apabila data tersebut tidak berisikan % dan C, maka data akan dibuang. Setelah semua perintah sudah berjalan perintah terakhir adalah mengosongkan variabel lagi untuk proses pembacaan data selanjutnya.

3.6 Konfigurasi Xbee

Dalam setiap node harus memiliki xbee untuk dapat saling berkomunikasi. Xbee pada tiap node merupakan komponen penting dalam komunikasi nirkabel. Maka dari itu konfigurasi xbee merupakan langkah penting sebelum xbee itu digunakan.

Untuk mengkonfigurasi xbee tersebut dibutuhkan sebuah software. Software yang biasa digunakan untuk mengkonfigurasi xbee salah satunya ialah

X-CTU.

Xbee dikonfigurasi untuk menjadi end device dalam mode AT. Dalam mengkonfigurasi xbee series 2 hal yang terpenting ialah mengisi nilai PAN ID, DH dan DL.

(49)

3.7 Pemrogaman visual basic

Pada pemrogaman ini, komputer akan mengolah data yang dikirimkan oleh node end device. Data yang diterima akan diambil isi dari data tersebut yaitu nilai ketinggian, tanggal dan waktu untuk ditampailkan di layar monitor.

Gambar 3.6 Tampilan software dari visual basic

Dalam aplikasi ini penulis memberikan informasi untuk mendukung data yang masuk ke dalam komputer. Informasi tersebut berupa pesan apabila ada hardware yang komunikasinya terputus, indikator siaga, grafik ketinggian air dan juga perhitungan untuk potensi mencapai siaga berikutnya.

Dalam aplikasi ini penulis juga memberikan penulis log. Log ini bertujuan untuk merekam data yang mana data akan tetap ada meskipun aplikasi ini ditutup.

(50)

Langkah kedua yaitu memilih port serial (COM) yang terdeteksi sebagai port node end device sebelum menekan tombol “Connect”. Ketika menekan tombol “Connect” namun port serial belum dipilih maka akan muncul kotak

pengingat bahwa port belum dipilih.

Setelah langkah pertama dan kedua telah terpenuhi maka software akan

“DEVICE 1 OK” “DEVICE 2 OK”TAMPILKAN

(51)

SELESAI

Gambar 3.8 Flowcart dari visual basic bag. 2

Pada flowcart Gambar 3.7 dan Gambar 3.8 menunjukkan aplikasi ini memiliki banyak proses. Dengan ini penulis akan menjabarkan proses dalam aplikasi tersebut.

a. Error Checking dan rekam data

Setelah program berjalan maka proses yang dilakukan pertama kalinya yaitu dengan melakukan error cheking. Proses ini merupakan proses dimana terdapat informasi tentang baik tidaknya kondisi hardware.

(52)

Apabila karakter terakhir bertemu karakter „s‟ menunjukkan pesan yang

dikirimkan node coordinator bermakna terdapat hardware yang error. Secara detail pesan yang diterima seperti %C1.errors atau % C2.errors. Apabila pesan memiliki id C1 maka program akan memberikan pemberitahuan dan alarm bahwa “device 1 error”. Begitu juga bila pesan memiliki id C2 maka program memberikan pemberitahuan dan alarm bahwa “device 2 error”.

Sebaliknya apabila karakter akhir bertemu karakter ‟$‟ maka pengiriman

data berhasil dengan baik (hardware tidak ada masalah). Setelah data dibaca sampai tail atau karakter “$” maka data akan disimpan pada file log .csv.

Log tersebut akan dipisahkan menjadi 2 bagian yaitu apakah data tersebut memiliki id “C1” atau “C2”. Apabila data memiliki id “C1” maka program akan

mengeluarkan pesan “Device 1 OK” dan data akan disimpan dengan nama

“log_sensor1.csv” begitu juga untuk id “C2” maka program akan mengeluarkan

pesan “Device 1 OK” dan data akan disimpan dengan nama “log_sensor2.csv”.

b. Penguraian data

Secara detail data yang diterima oleh komputer adalah data yang diteruskan oleh node end device yang diterima oleh node coordinator. Jadi data yang didalamnya masih terkandung isi yang tidak dibutuhkan seperti head, tanda titik, id node dan tail akan dihapus.

(53)

akan ditampilkan pada layar sensor 1dan apabila C2 artinya pesan yang diteruskan node coordinator dari node sensor 2 akan ditampilkan pada layar sensor 2.

Setelah data tinggi, tanggal dan waktu telah diuraikan, data tersebut disimpan pada “data_ketinggian1.csv” (untuk data sensor 1) dan

“data_ketinggian2.csv” (untuk data sensor2).

c. Tampilan grafik

Tampilan grafik ini digunakan untuk mempresentasikan data ketinggian, tanggal dan waktu yang diperoleh dari data yang dikirimkan node coordinator ke node end device. Sumbu x dalam grafik ini mempresentasikan data ketinggian dan sumbu y mepresentasikan tanggal dan waktu.

d. Perhitungan perkiraan banjir

Proses ini merupakan bagian dari sistem yang berfungsi untuk memperkirakan kapan area 2 mengalami kenaikan dari tingkat 1 ke tingkat selanjutnya. Metode yang digunakan merupakan metode melihat perbandingan perubahan tinggi dari waktu sebelumnya dan waktu sekarang. (IT Telkom) Dengan metode ini dapat diketahui besar kecepatan perubahan air pada area 2. Berikut adalah rumus perhitungan kecepatan perubahan air pada area 2.

Pada tugas akhir ini, penulis menggunakan interval waktu 20 detik dalam setiap pengiriman. Maka banyaknya waktu untuk mencapai ketinggian air saat itu adalah sebagaimana yang dirumuskan berikut ini:

………..(1)

(54)

n = banyak data sama tinggi

20 = interval waktu pengiriman dalam detik

Untuk mengetahui perbedaan/perubahan ketinggian saat ini adalah dengan menggunakan rumus berikut:

Setelah mengetahui perbedaan ketinggian saat ini, maka kecepatan perubahan tinggi air dapat dirumuskan sebagai berikut ini:

……….………..(3)

Keterangan :

v = kecepatan perubahan air (cm/detik)

h

 = selisih tinggi (cm)

t = waktu (detik)

Dikarenakan kecepatan perubahan air selalu berubah-ubah, maka kecepatan yang harus digunakan bukanlah kecepatan saat ini namun kecepatan rata-rata saat ini. Untuk mengetahui kecepatan rata-rata perubahan tinggi air tersebut ialah dengan menggunakan rumus berikut ini:

(55)

Keterangan :

n

v = rata-rata kecepatan sekarang

v

n = banyak data kecepatan

v= kecepatan sekarang

Dari perumusan di atas maka dapat diketahui perhitungan waktu untuk memprediksi berapa banyak waktu untuk mencapai ketinggian yang ditentukan. Sebelum menghitung waktu perkiraan yang perlu diketahui ialah menghitung selisih/sisa tinggi untuk mencapai batas yang ditentukan (dalam hal ini batas siaga 2, siaga 1 ataupun batas ketinggian):

………..………(5)

Keterangan :

t

= waktu (detik)

batas

h = tinggi batas yang ditentukan

n

v = rata-rata kecepatan perubahan air

Dari perumusan diatas maka akan diketahui berapa banyak waktu dimana air akan mencapai batas siaga 2, siaga 1 dan mencapai batas maksimum/meluap. Waktu yang telah diketahui akan ditampilkan pada aplikasi dan dikonversi dalam jam, menit dan detik.

e. Tingkat siaga

(56)

Tabel 3.1 Tingkat siaga dari survei dari beberapa sungai yang mempunyai ketinggian atau kedalaman 250 cm – 300cm yang telah telah direkam oleh serverjakarta.com. Sedangkan batas tinggi adalah tinggi prototipe yang digunakan pada tugas akhir ini.

f. Langkah terakhir

(57)

BAB IV

HASIL PENGUJIAN DAN PENGAMATAN

Dalam bab ini penulis akan menguraikan dan menjelaskan beberapa hasil pengujian dari hasil penelitian tugas akhir ini. Pengujian yang dilakukan meliputi pengujian perangkat keras (hardware), perangkat lunak (software) dan kinerja keseluruhan sistem pada tugas akhir ini.

4.1 Pengujian Xbee

Pengujian Xbee dilakukan dengan menggunakan program X-CTU. Program X-CTU merupakan open source yang digunakan untuk menkonfigurasi awal Xbee.

4.1.1 Tujuan

Pengujian ini dilakukan untuk mengetahui apakah Xbee yang digunakan dapat berfungsi dengan baik atau tidak.

4.1.2 Alat yang digunakan

Untuk melakukan percobaan ini maka diperlukan beberapa alat sebagai berikut.

a. Usb adapter b. Xbee adapter c. Xbee

(58)

4.1.3 Prosedur Pengujian Prosedur pengujian alat :

a. Hubungkan xbee adapter dengan kabel usb adapter.

b. Nyalakan komputer kemudian hubungkan kabel usb adapternya ke komputer/laptop.

c. Buka software X-CTU dan tekan tombol “ Test / Query” pada tab “PC

Setting”.

d. Maka akan muncul dialog yang dapat mengetahui apakah Xbee yang digunakan dapat terbaca oleh X-CTU atau tidak.

Gambar 4.1 Tampilan Software X-CTU

4.1.4 Hasil Pengujian

Pada Gambar 4,2 tertulis “Communication with Modem OK ” hal ini

(59)

Gambar 4.2 Xbee dalam keadaan normal

4.2 Pengujian Arduino

Pengujian arduino dilakukan dengan memasukan skrip program sederhana pada arduino menggunakan aplikasi arduino IDE. Arduino yang baik dapat mengeksekusi program dengan baik.

4.2.1 Tujuan

Pengujian ini dilakukan untuk mengetahui apakah arduino yang digunakan tidak mengalami kerusakan. Sehingga saat aruino digunakan pada sistem dapat membantu sistem berjalan dengan baik.

4.2.2 Alat yang digunakan

Alat yang digunakan untuk melakukan pengujian antara lain : a. Kabel usb

b. Arduino Uno c. Komputer/laptop d. Software Arduino IDE

4.2.3 Prosedur Pengujian

(60)

b. Nyalakan komputer kemudian hubungkan kabel usb tadi dengan komputer.

c. Buka software Arduino IDE dan isi perintah dalam bahasa C. Sebagai contoh penulis memasukkan perintah sebagai berikut :

void setup()

d. Apabila telah selesai untuk mengisi perintah, maka tekan “Verify” untuk mengecek apabila terdapat perintah yang salah dalam bahasa C. Dan tekan

“Upload” untuk memasukkan perintah tersebut ke dalam Arduino Uno.

e. Setelah program telah berhasil dimasukkan, maka tekan icon Serial monitor pada kanan atas. Maka akan muncul tampilan serial monitor.

f. Setelah window serial monitor muncul, amati kiriman data serial oleh arduino.

4.2.4 Hasil Pengujian

(61)

Gambar 4.3 upload program berhasil

Program yang dimasukan kedalam arduino merupakan program untuk mengirimkan data menggunakan serial. Proses pengiriman ini apabila arduino masih dihubungkan dengan USB PC maka kita dapat menerima data yang dikirim menggunakan menu serial monitor pada software arduino IDE. Hasil dari serial monitor dapat dilihat pada Gambar 4.4.

(62)

Gambar 4.4 menunjukan bahwa data dikirimkan sesuai dengan perintah program yang telah diisi pada arduino. Dengan begitu arduino ini dapat bekerja dengan baik, dan dapat digunakan untuk sistem.

4.3 Pengujian tampilan prediksi

Pengujian ini merupakan pengujian prediksi pada aplikasi visual basic dengan memberikan data tinggi bertambah secara konstan, bertambah berubah tapi beraturan dan bertambah berubah tidak beraturan.

4.3.1 Tujuan

Pengujian ini bertujuan untuk mengetahui waktu prediksi yang ditampilkan oleh aplikasi.

4.3.2 Alat yang digunakan

Alat yang digunakan untuk pengujian sistem ini antara lain: a. Arduino Uno

b. Kabel USB c. Komputer/laptop d. Software Arduino IDE e. Software Visual Basic

4.3.3 Prosedur pengujian :

a. Hubungkan Arduino dan komputer dengan menggunakan kabel USB. b. Aktifkan komputer dan buka program Arduino IDE.

(63)

e. Isi sampel ketinggian, pilih port serial yang terdeteksi dan tekan tombol

“Connect”.

f. Amati data, apakah terdapat data yang tidak diinginkan.

4.3.4 Hasil Pengujian

Dalam aplikasi ini, waktu prediksi potensi siaga selalu diperbaharui setiap perubahan nilai tinggi berdasarkan data ketinggian yang masuk ke komputer.

Dalam percobaan ini menggunakan interval waktu pengiriman data setiap 20 detik sekali (sesuai waktu pengiriman node coordinator atau data diambil setiap 20 detik). Dalam pengujian, prediksi potensi siaga yang dihitung adalah prediksi waktu untuk mencapai 6 cm.

1. Tinggi bertambah secara teratur

Gambar 4.5 Percobaan pada pola teratur

(64)

Waktu prediksi potensi siaga 2 yang ditampilkan pada Gambar 4.5 merupakan waktu yang dihitung dari 5 cm menuju 6 cm dengan perhitungan sebagai berikut:

-Besar nilai perubahan tinggi = Tinggi sekarang – tinggi sebelumnya = 2 - 1 = 1 cm

-Waktu selang perubahan ketinggian 1 cm = 3 x interval pengiriman = 3 x 20 detik = 60 detik.

-Jadi kecepatan perubahan sebesar 1 cm/menit

-Karena nilai bertambah secara teratur, maka kecepatan rata-rata yaitu = 1 cm/menit

-Waktu prediksi perubahan tinggi air dari 5 cm ke 6 cm = (batas tinggi – tinggi sekarang)/kecepatan rata-rata = (6 cm – 5 cm)/1cm = 1 menit.

Dari perhitungan diatas, hasil hitung waktu prediksi sama dengan pola pengiriman yang diharapkan (3x pengiriman atau 1 cm per 1 menit).

(65)

Berdasarkan Gambar 4.6 pada sensor 2, nilai tinggi bertambah setiap 3 kali pengiriman data (1 menit) kemudian nilai tinggi bertambah lagi 2 kali pengiriman data (40 detik) dan kembali berubah 3 kali pengiriman dan seterusnya.

Tabel 4.1 berikut adalah tabel data masuk seperti Gambar 4.6 dan hasil perhitungan kecepatan rata-rata perubahan ketinggian:

Tabel 4.1 Tabel data masuk dengan pola berubah dan teratur Tinggi

Prediksi yang ditampilkan pada Gambar 4.6 merupakan hasil perhitungan untuk mengisi tanda tanya (?) pada tabel 4.1. Berikut adalah perhitungan dari waktu prediksi di atas:

Waktu prediksi = (batas tinggi – tinggi sekarang) / kecepatan rata-rata = (6– 5) / 0.02 = 50 detik

(66)

3. Tinggi bertambah tidak beraturan

Gambar 4.7 Percobaan pada pola berubah tidak beraturan

Berdasarkan Gambar 4.7 pada sensor 2, nilai tinggi bertambah 2 cm (dari 1 cm ke 3 cm) dalam 20 detik kemudian naik 2 cm dalam 1 menit.

Tabel 4.2 berikut adalah tabel data masuk seperti Gambar 4.7 dan hasil perhitungan kecepatan rata-rata perubahan ketinggian:

Tabel 4.2 Tabel data masuk dengan pola berubah tidak beraturan Tinggi

(67)

Waktu prediksi = (batas tinggi – tinggi sekarang) / kecepatan rata-rata = (6–5) / 0.0667 = 15 detik.

Jadi waktu prediksi potensi siaga 2 ketika tinggi 5cm ke 6 cm dengan kecepatan rata-rata di atas adalah 15 detik.

Dari percobaan di atas, ketika data tinggi berubah secara drastis atau berubah tidak beraturan, prediksi akan tetap dapat menghitung namun prediksi berubah (update) ketika 20 detik sesudahnya (ketika data masuk). Semakin cepat interval waktu pengiriman data, semakin cepat perhitungan prediksi yang dilakukan.

4.4 Pengujian sistem

Pengujian ini merupakan pengujian secara keseluruhan sistem. Pengujian ini menggunakan perangkat secara lengkap yaitu dengan menggabungkan perangkat xbee, arduino dan komputer.

4.4.1 Tujuan

Pengujian ini bertujuan untuk

1. Mengetahui bahwa aplikasi dapat menerima/membaca data yang masuk melalui xbee sesuai apa yang diharapkan.

2. Mengetahui apakah aplikasi visual basic dapat mengolah data masuk, menampilkan grafik, memberikan informasi keadaan hardware,melakukan perhitungan perkiraan dan memberikan keadaan status ketinggian air saat itu.

4.4.2 Alat yang digunakan

(68)

a. Xbee

a. Hubungkan Xbee dengan Xbee Shield.

b. Hubungkan xbee shield yang telah terhubung dengan xbee tersebut dengan Arduino uno.

c. Hubungkan Arduino dengan kabel usb dan hubungkan ke komputer. d. Buka software arduino IDE dan isikan perintah dalam bahasa C. Dalam

tugas akhir ini penulis mengisikan perintah untuk mendengarkan atau menerima data khusus dari node coordinator. Berikut isi perintah yang diberikan oleh penulis.

(69)

{

//masukkan data yg ditampung di indata

if ((indata[0] == '%') && (indata[1] == 'C')) {

// cetak atau kirim Serial.print(indata); }

}

e. Verify dan upload perintah tersebut dengan menekan tombol upload. f. Buka aplikasi monitoring dari visual basic.

g. Isi sampel ketinggian, pilih port serial yang terdeteksi dan tekan tombol

“Connect”.

h. Amati data, apakah terdapat data yang tidak diinginkan.

4.4.4 Hasil Pengujian

Data yang masuk nantinya pasti memiliki simbol “%C” dikarenakan data yang masuk berasal dari node coordinator. Jika data tersebut telah diterima oleh node end device, maka node ini berhak meneruskannya ke komputer dalam software visual basic. Sedangkan jika data tidak mempunyai simbol tersebut maka

data akan dibuang.

(70)

1. Proses pembacaan data

Gambar 4.8 Pengolahan data masuk

Dari gambar 4.8 di atas dapat disimpulkan aplikasi hanya dapat membaca data yang diharapkan yaitu data yang memiliki simbol “%” dan “C” saja dimana data tersebut merupakan data dari coordinator.

2. Tampilan error checking

Tampilan ini bertujuan untuk memberi informasi kepada user tentang baik tidaknya kondisi node sensor/router. Dalam tugas akhir ini node coordinator sebagai pemberi pesan bila terdapat node sensor/router yang rusak.

Pada dasarnya data masuk dibaca per karakter sampai karakter paling akhir yang telah ditentukan. Pada tugas akhir ini penulis menggunakan karakter

paling akhir yaitu “s” (untuk pesan error) dan “$” (untuk pesan tidak error).

(71)

atau 2 error maka pada program ini akan menampilkan informasi error tersebut seperti Gambar 4.9.

Gambar 4.9 device 1 error

Dalam gambar yang ditunjukkan oleh Gambar 4.10 di bawah merupakan tampilan dimana semua koneksi terhubung dengan baik, maka aplikasi

mengeluarkan pesan “device 1 ok” dan “device 2 ok”.

Gambar 4.10 node 1 dan 2 kondisi OK

Selain tampilan error aplikasi ini juga memberikan isyarat/ alarm pada kondisi yang berbeda. Sehingga didapatkan hasil seperti berikut:

Tabel 4.3 Alarm untuk device error Sensor 1 Sensor 2 Alarm

Device 1 OK Device 2 OK -

Device 1 Error Device 2 OK Device one on damage”

Device 1 OK Device 2 Error Device two on Damage”

(72)

3. Pengolahan data

Data yang masuk akan direkam dalam 2 bagian, yaitu data yang diterima sebagai data mentah yaitu data yang langsung diterima atau ditangkap sebelum

diproses. Data mentah tersebut akan direkam dalam file bernama “log_sensor1”

dan “log_sensor2”. Berikut isi dari data mentah (data yang belum diolah) yang

direkam.

Gambar 4.11 Isi dari “log_sensor1.csv” dan “log_sensor2.csv”

Selanjutnya, pada proses ini merupakan proses data yang masuk dipisah menjadi data tinggi, tanggal dan waktu. Maka pada proses sebelumnya data harus

berisikan format seperti ini “%C1.20.12/01/2014.20:08:26.$”. Ketika proses

sebelumnya data memiliki karakter akhir “s” seperti data ini “%C1.errors”, maka

(73)

Dengan format diatas proses pembacaan dimulai dengan pembacaan tanda titik (.) sampai tanda titik (.) lagi. Dengan data seperti ini

%C1.20.12/01/2014.20:08:26.$” maka aplikasi akan membaca bahwa C1 adalah

id node, data tinggi berisi 20, tanggal = 12/01/2014 dan waktu pengukuran = 20:08:26.

Setelah data mengetahui nilai tinggi, tanggal dan waktu, dalam aplikasi visual basic ini data akan direkam dalam file Ms.Excel berformat csv dengan

nama “data_ketinggian1.csv” (untuk id C1/ dari sensor 1) dan “data_ketinggian2”

(untuk id C2/ dari sensor 2). Berikut hasil isi file csv yang telah direkam oleh software visual basic.

(74)

4. Menampilkan grafik

Data yang masuk juga akan ditampilkan dalam grafik. Berikut grafik yang ditunjukkan dari data yang masuk pada Gambar 4.13.

Gambar 4.13 Data masuk yang diterima

Gambar 4.14 Grafik sensor 1

(75)

Pada Gambar 4.14 dan Gambar 4.15 menunjukkan data yang ditampilkan pada jam 20:05 sampai 20:08 terakhir. Pembacaan tersebut mempresentasikan sumbu x sebagai waktu dan sumbu y sebagai waktu pengukuran.

5. Tampilan indikator warna

Tingkat siaga ini bertujuan untuk mengetahui status ketinggian. Tingkat siaga berubah setiap tinggi mencapai atau melebihi batas normal.

Tabel 4.3 Ketentuan siaga Batas tinggi Status

Gambar 4.16 indikator saat normal

(76)

Pada gambar 4.16 menunjukkan indikator pada sensor 1 bewarna hijau dan status normal dikarenakan tinggi yang terakhir diterima bernilai 20. Dimana nilai 20 merupakan nilai dibawah 24 (60 % dari tinggi sampel dari sensor 1 yang bernilai 40). Berikut ketentuan nilai batas yang ditentukan.

6. Waktu perkiraan perubahan status

Proses ini merupakan proses pemberian waktu perkiraan untuk sensor 2. Proses ini berjalan ketika pada sensor 1 mencapai status siaga 2 dan siaga 1.

Ketika sensor 1 mencapai siaga 2, maka proses perkiraan untuk sensor 2 akan berjalan untuk memperkirakan kapan terjadinya siaga 2 pada sensor 2.

Gambar 4.17 Tampilan perkiraan waktu siaga pada sensor 2

Pada Gambar 4.17 merupakan tampilan perkiraan kapan terjadinya siaga 2 pada node sensor 2. Perkiraan waktu ini terjadi karena pada sensor 1 mencapai status siaga 2. Perkiraan di atas didapat dari rumusan berikut.

(77)

ketinggian saat ini, maka kecepatan perubahan tinggi air dapat dihitung dengan rumus (3). Untuk mengetahui kecepatan rata-rata perubahan tinggi air dengan menggunakan rumus (4) dan untuk mengetahui waktu perkiraan dengan menggunakan rumus (5).

(78)

BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil pengujian, kesimpulan dari tugas akhir “RANCANG BANGUN APLIKASI PEMANTAU DATA WIRELESS SENSOR NETWORK UNTUK PERINGATAN DINI TERHADAP BANJIR” adalah :

1. Proses penyeleksian data pada node end device dilakukan dengan membaca head dan node id. Data yang diteruskan merupakan data yang memiliki head “%” dan node id “C”. Head „%‟ menunjukkan kode unik untuk identifikasi

data, sedang node id „C‟ merupakan kode unik untuk coordinator. Dengan demikian komunikasi end device dapat dijamin hanya berkomunikasi dengan coordinator saja.

2. Aplikasi ini mampu memberikan beberapa informasi meliputi :

a. Status keadaan hardware, memberi informasi device error ketika menerima karakter penutup (tail) „s‟ dan memberi informasi device ok ketika menerima karakter penutup (tail) „$‟.

b. Status dan indokator tinggi air, memberi informasi siaga 2 ketika tinggi air mencapai 60% dari tinggi prototipe dan memberi informasi siaga 1 ketika tinggi mencapai 80% dari tinggi prototipe.

(79)

(sensor 2) ketika area 2 mencapai siaga 1. Prediksi ini diperoleh dengan memperhitungkan kecepatan rata-rata perubahan ketinggian setiap data yang masuk.Semakin kecil interval pengiriman data, semakin cepat perhitungan prediksi yang dilakukan.

d. Tampilan grafik dan rekaman data dari data yang masuk, 5.2 Saran

Berikut ini terdapat beberapa saran yang penulis berikan untuk peneliti berikutnya apabila ingin mengembangkan sistem yang telah dibuat agar menjadi lebih baik adalah sebagai berikut:

1. Pengaturan xbee pada node end device lebih baik dikonfigurasi dengan mode router karena bila menggunakan mode end device, apabila ada node yang putus maka komunikasi pada node mode ini juga akan terputus.

2. Aplikasi dapat diganti dengan website. Sehingga user dapat memantau keadaan ketinggian dimanapun.

(80)

DAFTAR PUSTAKA

arduino.cc. 2013. Arduino Xbee Shield, [online],

(http://arduino.cc/en/Main/ArduinoXbeeShield, diakses tanggal 24 November 2013)

arduino.cc. 2013. Arduino Program Language Reference, [online],

(http://arduino.cc/en/Reference/HomePage, diakses tanggal 24 November 2013)

arduino.cc. 2013. Arduino Board Uno SMD, [online]

(http://arduino.cc/en/Main/ArduinoBoardUnoSMD, diakses tanggal 24 November 2013)

arduino.cc. 2013. Software Arduino IDE, [online]

(http://arduino.cc/en/main/software, diakses tanggal 24 November 2013) Arief, U. M. 2011. Pengujian Sensor Ultrasonik PING untuk Pengukuran Level

Ketinggian. Elektrikal Enjiniring , 72-77.

Arief, U. M. (2011). Pengujian Sensor Ultrasonik PING untuk Pengukuran Level Ketinggian. Elektrikal Enjiniring , 72-77.

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.

Banzi, M. (2009). Getting Started with Arduino. America: O'Reilly.

Dinas Pekerjaan Umum. (n.d.). Data Tinggi Muka Air. Retrieved Desember 10, 2013, from Posko Banjir Online: serverjakarta.com

Djuandi, F. (2011). Pengenalan Arduino. Banten: www.tobuku.com.

E, I. M., Sugiarto, B., & Sakti, I. (2009). Rancang Bangun Sistem Monitoring Kualitas Udara Menggunakan Teknologi Wireless Sensor Network (WSN). Jakarta: INKOM.

Ependi, E. C. (2013). SISTEM PEMANTAUAN KETINGGIAN PERMUKAAN DAN DEBIT ALIRAN AIR SUNGAI DI PLTP DARAJAT BERBASIS MIKROKONTROLER ATMEGA32. Garut: Fakultas Teknik Universitas Garut.

Faludi, R. (2011). Building Wireless Sensor Networks. America: O'Reilly.

(81)

Inc, D. I. (2008). X-CTU Configuration & Test Utility Software. Minnetonka: Digi International Inc.

IT Telkom. (n.d.). Metode Prediksi. Retrieved Desember 12, 2013, from Digital Library:

http://digilib.ittelkom.ac.id/index.php?option=com_content&view=articl e&id=817:metode-prediksi&catid=25:industri&Itemid=14

Gambar

Gambar 2.9 Tab Terminal
Gambar 2.11 Tab PC Settings
Gambar 2.12 Tab Modem Configuration
Gambar 2.14 Kotak Dialog Get New Versions
+7

Referensi

Dokumen terkait

Sebagai bahan klarifikasi diharapkan membawa seluruh dokumen isian kualifikasi yang asli atau yang telah dilegalisir oleh instansi/lembaga yang menerbitkan. Mengingat pentingnya

Alhamdulillah, segala puji syukur dipanjatkan ke hadirat Allah SWT atas limpahan rahmat, taufik dan hidayah-Nya sehingga penyusu dapat menyelesaikan dan menyusun laporan Tugas

Data uji organoleptik dianalisis menggunakan uji anava ganda ( two way anova ) dengan uji lanjut Duncan. Hasil penelitian menunjukan Interaksi ikan mujair dengan

[r]

Kepastian Hukum Terhadap Pembeli Lelang Objek Jaminan Fidusia Dirampas Untuk Negara Berdasarkan Putusan Pengadilan Negeri Padang Nomor: 400/Pid.B/2011/Pn.Pdg yang Pada

Kedudukan barang jaminan yang telah dipasang Hak Tanggungan yang disita oleh negara tidak menghilangkan sifat droit de suit dari barang jaminan tersebut sesuai

Untuk meningkatkan faktor kognitif (kompetensi pengetahuan) dari seorang karyawan, ada salah satu cara yang dapat dilakukan oleh perusahaan yaitu dengan

terdeteksi scanner. Perancangan Blok Diagram Sistem Perancangan blok diagram dilakukan dengan tujuan untuk mempermudah realisasi sistem yang akan dibuat. Blok diagram