TA : Rancang Bangun Aplikasi dan Gateway Wireless Sensor Network Untuk Pemantauan Lahan Tanaman Jarak.

(1)

LAHAN TANAMAN JARAK

TUGAS AKHIR

Nama : Rendi Haris Nofianto NIM : 09.41020.0021 Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER

SURABAYA


(2)

Selama ini Indonesia mengalami ketergantungan terhadap minyak bumi. Mengingat jumlah pasokan dan cadangan minyak bumi Indonesia semakin berkurang, sudah saatnya mengembangkan sumber energi alternatif terbaru berbahan baku minyak nabati yaitu biodiesel. Salah satu bahan baku biodiesel adalah jarak pagar (Jatropha Curcas L.). Kandungan minyak pada biji (dengan cangkang) mengandung 20 – 40 % minyak nabati, pada bagian inti biji (biji tanpa cangkang) mengandung 45 – 60 % minyak kasar. Akan tetapi untuk mendapatkan kandungan minyak yang maksimal dari tanaman jarak, dibutuhkan suhu dan kelembaban tanah yang terkontrol secara terus menerus. Karena itu dibutuhkan alat untuk monitoring tanaman tersebut. Dalam tugas akhir ini digunakan teknologi wireless sensor network (WSN).

WSN merupakan jaringan nirkabel yang terdiri dari beberapa alat sensor yang saling bekerja sama untuk memonitor fisik dan kondisi lingkungan yang berbeda. Proses dimulai dari coordinator mengirim data ke router user sebagai gateway kemudian data dikirim ke komputer dan ditampilkan menggunakan VB 6.0.

Berdasarkan hasil pengujian dari 30 kali pengujian bahwa data yang diterima router user dapat menerima data dengan baik sesuai dengan data yang dikirim oleh coordinator, Pengujian pada aplikasi dilakukan 20 kali data yang ditampilkan pada aplikasi sesuai dengan data yang dikirim oleh router user, indikator maupun alarm dapat berfungsi dengan baik ketika terjadi Error pada end point dan apabila sensor melebihi batas yang ditentukan.


(3)

ix

Halaman

ABSTRAK ... vi

KATA PENGANTAR ... vii

DAFTAR ISI ... ix

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

DAFTAR LAMPIRAN ... xv

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 3

1.3 Pembatasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Kontribusi ... 3

1.6 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Wireless Sensor Network (WSN) ... 6

2.1.1. Arsitektur WSN ... 8

2.2 Perangkat Keras ... 10

2.2.1 Arduino Uno ... 10

2.2.2 Xbee ... 11


(4)

2.3.1 Zigbee ... 14

2.3.2 X-CTU ... 15

2.3.3 IDE Arduino ... 15

2.3.4. Bahasa Pemprograman Arduino ... 17

2.3.5. Visual Basic 6.0 ... 24

BAB III METODE PENELITIAN... 26

3.1. Perancangan Perangkat Keras ... 27

3.1.1. Koneksi Arduino dengan Komputer ... 27

3.1.2. Koneksi Xbee dengan Komputer ... 28

3.2. Perancangan Perangkat Lunak ... 28

3.2.1. Program Xbee sebagai Router ... 29

3.2.1. Program Arduino Sebagai Router ... 31

3.2.2. Program Antarmuka pada Komputer ... 33

BAB IV PENGUJIAN SISTEM ... 41

4.1. Pengujian Arduino ... 41

4.1.1. Tujuan ... 41

4.1.2. Alat yang digunakan ... 41

4.1.3. Prosedur pengujian ... 41

4.1.4. Hasil pengujian... 42

4.2. Pengujian Xbee ... 42

4.2.1. Tujuan ... 42

4.2.2. Alat yang digunaka ... 43

4.2.3. Prosedur pengujian ... 43


(5)

4.3. Pengujian jarak makimal kemampuan pengiriman data Xbee Pro ... 44

4.3.1. Tujuan ... 44

4.3.2. Alat yang digunakan ... 44

4.3.3. Prosedur pengujian ... 44

4.3.4. Hasil pengujian... 45

4.4. Pengujian Komunikasi Serial/USB ... 45

4.4.1. Tujuan ... 45

4.4.2. Alat yang digunakan ... 46

4.4.3. Prosedur pengujian ... 46

4.4.4. Hasil Pengujian ... 47

4.5. Pengujian Keseluruhan Sistem ... 47

4.5.1. Pengujian data yang diterima oleh Router dari Coordinator ... 47

4.5.2. Pengujian data yang diterima oleh aplikasi visual basic dari coordinator melalui router ... 49

4.5.3. Pengujian Indikator Dan Alarm Pada Node Nilai Sensor ... 50

4.5.4. Pengujian Indikator dan Alarm pada Node ... 51

4.5.5. Pengujian pada form history ... 52

BAB V PENUTUP ... 54

5.1. Kesimpulan ... 54

5.2. Saran ... 55

DAFTAR PUSTAKA ... 56

LAMPIRAN ... 57


(6)

1

BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Selama ini Indonesia mengalami ketergantungan terhadap minyak bumi. Mengingat jumlah pasokan dan cadangan minyak bumi Indonesia semakin berkurang dan disertai oleh kenaikan harga minyak bumi dunia yang meningkat tajam hingga mencapai US$ 111,07 per barel pada 2013 (Daniel, 2013), maka sudah saatnya mengembangkan sumber energi alternatif terbaru berbahan baku minyak nabati yaitu biodiesel. Biodiesel dapat digunakan, baik secara murni maupun dicampuri dengan petrodiesel tanpa terjadi perubahan pada mesin diesel kendaraan atau mesin lain yang menggunakannya. Biodiesel juga bersifat ramah lingkungan, dapat diperbarui (renewable), serta mampu mengeliminasi emisi gas buang dan efek rumah kaca.

Salah satu sumber minyak nabati yang sangat prospektif untuk dimanfaatkan sebagai bahan baku biodiesel adalah tanaman jarak. Tanaman jarak yang dikenal secara luas oleh masyarakat Indonesia ada 2 macam yaitu jarak kepyar dan jarak pagar, tetapi untuk jenis tanaman jarak yang paling menghasilkan kandungan minyak terbanyak adalah jenis jarak pagar (Jatropha Curcas L.) karena untuk jenis tanaman ini berbuah terus menerus (tahunan). Hal ini dikarenakan minyak jarak pagar tidak termasuk dalam kategori minyak makan (edible oil), sehingga pemanfaatannya sebagai biodiesel tidak akan menganggu penyediaan kebutuhan minyak makan nasional. Biji (dengan cangkang) jarak pagar mengandung 20 - 40% minyak nabati, namun bagian inti biji (biji tanpa


(7)

cangkang) dapat mengandung 45 - 60% minyak kasar. Untuk mendapatkan kandungan minyak yang begitu besar salah satunya yang harus diperhatikan adalah suhu dan kelembaban air disekelilingnya. Suhu yang sesuai untuk tanaman jarak 20º – 35ºC (hambali & suryani, 2006) dan sedangkan untuk kelembaban tanah yang paling bagus adalah 65% dengan rentang 55%-75% (Prima Diarini Riajaya, Fitriningdyah Tri Kadarwati, dan Sadta Yoga, 2008).

Selama ini proses monitoring suhu dan kelembaban tanah dilakukan secara manual. Untuk memudahkan para petani dalam monitoring suhu dan kelembaban tanah disekitar perkebunan tanaman jarak yang begitu luasnya maka diperlukannya suatu alat yang dapat menginformasikan keadaan tersebut secara terus menerus (real time) yaitu dengan teknologi Wireless sensor network. Dengan begitu para petani tidak perlu berkeliling mengecek satu persatu lokasi lahan tanaman jarak.

Wireless sensor network (WSN) merupakan jaringan nirkabel yang terdiri dari beberapa alat sensor yang saling bekerja sama untuk memonitor fisik dan kondisi lingkungan seperti temperature, air, suara, getaran atau gempa, polusi udara dan lain-lain ditempat yang berbeda. Perkembangan wireless sensor network pada awalnya digunakan oleh pihak militer sebagai aplikasi untuk keperluan pengawasan. Namun saat ini banyak digunakan oleh masyarakat umum antara lain untuk aplikasi lingkungan, monitoring tempat tinggal dan digunakan untuk aplikasi kesehatan (Arduino, 2011).


(8)

1.2 Perumusan Masalah

Berdasarkan latar belakang di atas, dapat dirumuskan permasalahan yaitu Bagaimana membangun perangkat dan aplikasi pendukung untuk pemantauan suhu dan kelembaban tanah pada lahan tanaman jarak yang diambil dari wireless sensor network.

1.3 Pembatasan Masalah

Dalam merancang bangun wireless sensor network untuk monitoring

tanaman jarak, terdapat beberapa pembatasan masalah, antara lain:

1. Bagaimana merancang bangun wireless sensor network sebagai gateway

untuk monitoring suhu dan kelembaban tanah pada lahan tanaman jarak ? 2. Bagaimana merancang bangun aplikasi untuk monitoring data yang diterima

oleh router?

1.4 Tujuan

Tujuan pembuatan tugas akhir ini adalah rancang dan bangun wireless sensor network dengan perangkat pendukung sensor node untuk mempermudah

monitoring suhu dan kelembaban tanah di sekitar perkebunan tanaman jarak.

1.5 Kontribusi

Selama ini alat monitoring lahan tanaman jarak berbasis wireless sensor network masih belum ada. Karena tanaman jarak membutuhkan suhu dan kelembaban tanah yang khusus supaya menghasilkan kandungan minyak yang maksimal, dengan alat monitoring ini akan mengurangi waktu monitoring dan


(9)

lebih mudah dalam proses monitoring suhu udara dan kelembaban tanah pada lahan tanaman jarak.

1.6 Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut :

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang, perumusan masalah, pembatasan masalah, tujuan penulisan laporan Tugas Akhir.

BAB II : LANDASAN TEORI

Bab ini membahas berbagai macam tentang teori yang mendukung Tugas Akhir ini, hal tesebut meliputi: Wireless sensor network

(WSN), Arduino Uno, Xbee, Zigbee, X-CTU, Arduino IDE dan Visual basic 6.0.

BAB III : METODE PENELITIAN

Bab ini membahas tentang blok diagram sistem, flowchart, koneksi perangkat keras dengan perangkat lunak dan konfigurasi xbee untuk peranan masing-masing.

BAB IV : PENGUJIAN DAN PEMBAHASAN

Pada bab ini membahas tentang pengujian sistem baik hardware

maupun software. Pengujian hardware meliputi Xbee, Arduino, komunikasi antar Xbee, Komunikasi PC dengan Arduino, dan sedangkan untuk software dilakukan secara keseluruhan.


(10)

BAB V : PENUTUP

Pada bab ini dibahas mengenai kesimpulan dari sistem terkait dengan tujuan dan permasalahan yang ada, serta saran untuk pengembangan sistem di masa mendatang.


(11)

6

BAB II

LANDASAN TEORI

2.1 Wireless Sensor Network (WSN)

WSN adalah suatu infrastruktur jaringan wireless yang menggunakan sensor untuk memantau 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, mikrokontroler, dan sumber energi baterai.

Berdasarkan fakta di dunia, sekitar 98% processor bukan berada didalam sebuah komputer PC / laptop, namun terintegrasi dalam aplikasi militer, kesehatan, remote control, chip robotic, alat komunikasi, dan mesin-mesin industri yang didalamnya telah dipasang sensor.

Perkembangan WSN dan kemajuan teknologi dapat direpresentasikan pada Gambar 2.1. Bahwa dengan berjalannya waktu, maka perkembangan teknologi semakin mengarah kepada konektivitas lingkungan fisik. Kebanyakan observasi yang dilakukan di lapangan melibatkan banyak faktor dan parameter – parameter untuk mendapatkan hasil yang maksimal dan akurat. Jika peneliti hendak mengambil informasi langsung di lapangan, maka kendalanya adalah dibutuhkan biaya yang besar dan waktu yang lama untuk mendeteksi fenomena yang muncul sehingga menyebabkan performansi yang tidak efisien dan tidak praktis.


(12)

Gambar 2.1 Arsitektur Global

Pada Gambar 2.1 diatas dapat dilihat bahwa dengan berjalannya waktu, maka perkembangan teknologi semakin mengarah kepada konektivitas lingkungan fisik. Kebanyakan observasi yang dilakukan di lapangan melibatkan banyak faktor dan parameter-parameter untuk mendapatkan hasil yang maksimal dan akurat. Jika peneliti hendak mengambil informasi langsung di lapangan, maka kendalanya adalah dibutuhkan biaya yang besar dan waktu yang lama untuk mendeteksi fenomena yang muncul sehingga menyebabkan performansi yang tidak efisien dan tidak praktis.

Dengan adanya teknologi WSN, memungkinkan peneliti untuk mendapat informasi yang maksimal tanpa harus berada di area sensor. Informasi dapat diakses dari jarak jauh melalui gadget seperti laptop, remote control, server dan sebagainya.

Beberapa keuntungan yang bisa diperoleh dari teknologi WSN adalah Simpel / praktis / ringkas karena tidak perlu ada instalasi kabel yang rumit dan dalam kondisi geografi tertentu sangat menguntungkan dibanding Wired Sensor.


(13)

Sensor menjadi bersifat mobile, artinya pada suatu saat dimungkinkan untuk memindahkan sensor untuk mendapat pengukuran yang lebih tepat tanpa harus khawatir mengubah desain ruangan maupun susunan kabel ruangan.

a) Meningkatkan efisiensi secara operasional. b) Mengurangi total biaya sistem secara signifikan. c) Dapat mengumpulkan data dalam jumlah besar. d) Konfigurasi software mudah.

e) Memungkinkan komunikasi digital 2 arah.

f) Menyediakan konektivitas internet yang secara global, kapanpun dimanapun informasi tersebut dapat diakses melalui server, laptop dan sebagainya.

2.1.1. Arsitektur WSN

Pada WSN, node sensor disebar dengan tujuan untuk menangkap adanya gejala atau fenomena yang hendak diteliti. Jumlah node yang disebar dapat ditentukan sesuai kebutuhan dan tergantung beberapa faktor misalnya luas area, kemampuan sensing node, dan sebagainya. Tiap node memiliki kemampuan untuk mengumpulkan data dan meroutingkannya kembali ke Base Station. Node sensor dapat mengumpulkan data dalam jumlah yang besar dari gejala yang timbul dari lingkungan sekitar.

Perkembangan node sensor mengikuti trend teknologi nano, dimana ukuran

node sensor menjadi semakin kecil dari tahun ke tahun. Node sensor dapat direpresentasikan oleh Gambar 2.2 berikut:


(14)

Gambar 2.2 Perkembangan Dimensi Node Sensor Terhadap Waktu

Dan untuk arsitektur WSN secara umum dapat direpresentasikan oleh Gambar 2.3 sebagai berikut:

Gambar 2.3 GambaranArsitektur Wireless Sensor Network

Pada Gambar 2.3 dapat dilihat, node sensor yang berukuran kecil disebar dalam di suatu area sensor. Node sensor tersebut memiliki kemampuan untuk merutekan data yang dikumpulkan ke node lain yang berdekatan. Data dikirimkan melalui transmisi radio akan diteruskan menuju BS (Base Station) yang merupakan penghubung antara node sensor dan user. Informasi tersebut dapat diakses melalui berbagai platform seperti koneksi internet atau satelit sehingga memungkinkan user untuk dapat mengakses secara realtime melalui remote server.


(15)

2.2 Perangkat Keras 2.2.1 Arduino Uno

Arduino Uno adalah papan mikrokontroler berbasis ATmega328. Dalam bahasa Italy “Uno” berarti satu, maka peluncuran arduino ini diberi nama Uno.

Gambar 2.4 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 power supply atau baterai. Berikut adalah spesifikasi dari Arduino Uno :

1) Mikrokontroler : ATMEGA328 2) Tegangan Operasi : 5V

a) Tegangan Input (recommended) : 7 - 12 V b) Tegangan Input (limit) : 6 - 20 V

3) Pin digital I/O : 14 (6 diantaranya pin PWM) 4) Pin Analog input : 6

5) Arus DC per pin I/O : 40 mA 6) Arus DC untuk pin 3.3 V : 150 mA

7) Flash Memory : 32 KB dengan 0.5KB digunakan untuk bootloader

8) SRAM : 2 KB 9) EEPROM : 1 KB


(16)

10)Kecepatan Pewaktuan : 16 Mhz

11)Memiliki koneksi USB (menggunakan ATmega8U2 sebagai konverter USB toSerial)

12)Antamuka : UART TTL, I2C, SPI dan USB (Virtual Com)

13)Pemograman menggunakan Arduino Software (berbasiskan bahasa C yang telah dilengkapi dengan library yang kompatibel dengan desain hardware

Arduino)

14)Pengisian kode program dapat menggunakan koneksi USB

Arduino ini dilengkapi dengan pengaman arus berlebih di port USB yang berfungsi melindungi PC / Komputer dari kerusakan. (Arduino.cc, Arduino Uno)

2.2.2 Xbee

Xbeemerupakan perangkat yang menunjang komunikasi data tanpa kabel (wireless). Ada 2 jenisXbeeyaitu :

1) Xbee 802.15.4 (Xbee Series 1)

Xbee series 1 hanya dapat digunakan untuk komunikasi point to point dan topologi star dengan jangkauan 30 meter indoor dan 100 meter outdoor. 2) 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 100 meter outdoor.


(17)

Xbee series 1 maupun series 2 tersedia dalam 2 bentuk berdasarkan kekuatan transmisinya yaituXbeereguler dan Xbee-pro.Xbeereguler biasa disebut denganXbeesaja.Xbee-PRO mempunyai kekuatan transmisi lebih kuat, ukuran perangkatnya lebih besar, dan harganya lebih mahal. Xbee-PRO mempunyai jangkauan indoor mencapai 60 meter dan outdoor mencapai 1500 meter. Xbee ini dapat digunakan sebagai pengganti serial / usb atau dapat memasukkannya ke dalam command mode dan mengkonfigurasinya untuk berbagai macam jaringan broadcast dan mesh. Shield membagi setiap pin Xbee. Xbee juga menyediakan header pin female untuk penggunaan pin digital 2 sampai 7 dan input analog, yang discover oleh shield (pin digital 8 sampai 13 tidak tercover oleh shield, sehingga dapat menggunakan header pada papan itu sendiri).(Arduino.cc, Arduino Xbee Shield)

Gambar 2.5 Xbee Shield

Berikut parameter untuk mengkonfigurasi modul Xbee. Pastikan untuk menambahkan AT ke nama parameter ketika mengirimkan perintah ke modul (misalnya untuk membaca parameter ID, harus mengirim perintah ATID). Langkah-langkah tentang membaca (read) dan menulis (write) Xbee, sebagai berikut:


(18)

Tabel 2.1 Parameter Xbee

PERINTAH KETERANGAN NILAI VALID Nilai Default

ID ID jaringan modul

Xbee 0-0Xffff 3332

CH Saluran dari modul

Xbee 0-0B-0x1A 0x0C

SH dan SL

Nomor seri modul Xbee (SH

memberikan 32 bit tinggi, SL 32 bit rendah). Read-only

0-0xFFFFFFFF Setiap modul berbeda

MY Alamat 16 bit dari

modul 0-0xFFFF 0

DH dan DL

Alamat tujuan untuk komunikasi nirkabel (DH adalah 32 bit

high, DL 32 bit low)

0-0xFFFFFFFF (untuk kedua DH dan DL)

0 (untuk kedua DH dan DL)

BD

Baudrate yang digunakan untuk komunikasi serial

dengan arduino atau komputer

0 (1200 bps) 1 (2400 bps) 2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps)

3 (9600 baudrate)

Catatan: meskipun nilai-nilai yang valid dan standar dalam tabel di atas ditulis dengan awalan "0x" (untuk menunjukkan bahwa mereka adalah nomor heksadesimal), modul tidak akan mencakup "0x" ketika melaporkan nilai parameter, dan Anda harus menghilangkan ketika menetapkan nilai-nilai.(Arduino.cc, Arduino Xbee Shield)

a) Komunikasi Serial Xbee Series 2

Xbee series 2 merupakan sebuah modul yang terdiri dari receiver dan tranmitter melalui port serial. Melalui port serial ini Xbee dapat berkomunikasi secara UART (Universal Asincrhounus Recivier transmiter). Gambar 2.6 menunjukkan diagram sistem aliran data secara UART. (Inc, 2007)


(19)

Gambar 2.6Diagram Sistem Aliran Data UART pada Xbee b) AT / Transparent Mode

Dalam mode transparent/AT, modul Xbee bertindak sebagai pengganti

serial line. Semua data UART (Universal Asincrhounus Recivier transmiter) diterima melalui pin input akan ditransmisikan. Ketika data tersebut diterima maka data akan dikirimkan keluar (Xbee lainnya) melalui pin output. Data atau paket yang diterima bisa ditujukan ke satu sasaran (point to point) atau ke beberapa sasaran (star/broadcast). (Inc, 2007) Dalam mode transparent/AT, modul Xbee bertindak sebagai pengganti serial line. Semua data UART (Universal Asincrhounus Recivier transmiter) diterima melalui pin input akan ditransmisikan. Ketika data tersebut diterima maka data akan dikirimkan keluar (Xbee lainnya) melalui pin output. Data atau paket yang diterima bisa ditujukan ke satu sasaran (point to point) atau ke beberapa sasaran (star/broadcast). (Inc, 2007)

2.3 Perangkat lunak 2.3.1 Zigbee


(20)

ZigBee adalah spesifikasi untuk jaringan protokol komunikasi tingkat tinggi, menggunakan radio digital berukuran kecil dengan daya rendah, dan berbasis pada standar IEEE 802.15.4-2003 untuk jaringan personal nirkabel tingkat rendah, seperti saklar lampu nirkabel dengan lampu, alat pengukur listrik dengan inovasi In-Home Display (IHD), serta perangkat-perangkat elektronik konsumen lainnya yang menggunakan jaringan radio jarak dekat dengan daya transfer data tingkat rendah.

Teknologi yang memenuhi spesifikasi dari ZigBee adalah perangkat dengan pengoperasian yang mudah, sederhana, membutuhkan daya sangat rendah serta biaya yang murah jika dibandingkan dengan WPANs lainnya, yakni Bluetooth. ZigBee fokus pada aplikasi Radio Frequency (RF) yang membutuhkan data tingkat rendah, baterai tahan lama, serta jaringan yang aman. (faludi, 2011)

2.3.2 X-CTU

X-CTU adalah sebuah aplikasi yang disediakan oleh DIGI, dimana program ini dirancang oleh Digi untuk berinteraksi dengan Xbee. pada aplikasi ini user

bisa mengupdate firmware xbee dari coordinator menjadi Router / End device

ataupun sebaliknya.(www.digi.com)

2.3.3 IDE Arduino

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


(21)

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

2. Verify / Compiler, sebuah modul yang mengubah kode program (bahasa processing) menjadi kode biner. Bagaimanapun sebuah mikrokontroller tidak 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.7 Tampilan Software IDE Arduino

Pada Gambar 2.7 terdapat menu bar, kemudian toolbar dibawahnya, dan sebuah area putih untuk editing sketch, area hitam dapat kita sebut sebagai


(22)

2.3.4. Bahasa Pemprograman 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, 2013)

1. Struktur

Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi yang harus ada (arduino.cc, 2013). 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

Serial digunakan untuk komunikasi antara arduino board, komputer atau perangkat lainnya. Arduino board memiliki minimal satu port serial yang berkomunikasi melalui pin 0 (RX) dan 1 (TX) serta dengan komputer melalui USB. Jika menggunakan fungsi – fungsi ini, pin 0 dan 1 tidak dapat digunakan untuk input digital atau output digital (arduino.cc, 2013). Terdapat beberapa fungsi serial pada arduino, antara lain:


(23)

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, 2013)

a) //(komentar satu baris)

Kadang diperlukan untuk memberi catatan pada diri sendiri apa arti dari kode-kode yang dituliskan. Cukup menuliskan dua buah garis miring dan apapun yang kita ketikkan dibelakangnya akan diabaikan oleh program.


(24)

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, 2013)

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)

Variabel sederhana yang digunakan untuk menyimpan nilai TRUE (benar) atau

FALSE (salah). Sangat berguna karena hanya menggunakan 1 bit dari RAM. d) float (float)


(25)

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, 2013)

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) ==

Sama dengan (misalnya: 12 == 10 adalah FALSE (salah) atau 12 == 12 adalah

TRUE (benar)). b) !=


(26)

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, 2013)

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.

b) While, dengan format seperti berikut ini: While(kondisi) {}

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


(27)

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) {}

Digunakan bila ingin mendapatkan nilai yang true hanya jika nilai tidak sama dengan x.

9. Digital


(28)

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)

Beberapa pin pada Arduino mendukung PWM (pulse width modulation) yaitu pin 3, 5, 6, 9, 10, 11. Ini dapat merubah pin hidup (on) atau mati (off) dengan sangat cepat sehingga membuatnya dapat berfungsi layaknya keluaran analog.

Value (nilai) pada format kode tersebut adalah angka antara 0 ( 0% duty cycle ~ 0V) dan 255 (100% duty cycle ~ 5V).

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).


(29)

2.3.5. Visual Basic 6.0

Bahasa pemograman visual basic 6.0 dapat digunakan untuk menyusun dan membuat program aplikasi pada sistem operasi windows. Program aplikasi dapat berupa program database, program grafis dan lain sebagainya. Didalam visual basic 6.0 terdapat komponen - komponen yang sangat membantu dalam pembuatan program aplikasi. Dalam pembuatan program aplikasi pada visual basic 6.0 dapat didukung oleh software seperti Microsoft Access, Microsoft Exel, Seagate Criystal Report, dan lain sebagainya. Tampilan visual basic terdapat pada Integrated Development Environment (IDE) pada Gambar 2.6. Adapun penjelasan 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.

d) Jendela Form Designer, jendela merupakan tempat anda untuk merancang user interface dari aplikasi.

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


(30)

f) Jendela Code, merupakan tempat untuk menulis coding , yang dapat menampilkan jendela dengan menggunakan kombinasi Shift + F7.

g) Jendela Propertis, merupakan daftar properti-properti object yang terpilih, sebagai contohnya anda dapat mengubah warna tulisan (foreground) dan warna latar belakang (background), untuk menampilkan jendela tekan F4.

h) Jendela colour palette, adalah fasilitas cepat untuk mengubah warna suatu object.

i) Jendela Form Layout, akan menunjukkan bagaimana form bersangkutan ditampilkan ketika runtime.


(31)

26

BAB III

METODE PENELITIAN

Metode penelitian yang digunakan pada pembuatan perangkat keras dan perangkat lunak yaitu dengan studi kepustakaan. Dengan cara ini penulis berusaha untuk mendapatkan dan mengumpulkan data-data, informasi, konsep-konsep yang bersifat teoritis dari buku, bahan-bahan kuliah dan internet yang berkaitan dengan permasalahan.

Dari data-data yang diperoleh maka dilakukan perencanaan rangkaian perangkat keras (hardware). Dalam perangkat keras ini, penulis akan melakukan pengujian perangkat keras dengan program-program yang telah dibuat. Kemudian dilanjutkan pembuatan perangkat lunak untuk monitoring. Terakhir adalah penggabungan perangkat keras dengan kerja perangkat lunak (software) yang telah selesai dibuat.

Pada bab ini dibahas mengenai masalah yang timbul dalam perencanaan dan perancangan perangkat keras (hardware) maupun pembuatan perangkat lunak (Software). Dari kedua bagian tersebut akan dipadukan / diintegrasikan agar dapat bekerja sama menjalankan sistem dengan baik.

Dalam perancangan sistem wireless sensor network untuk pemantauan suhu dan kelembaban tanah pada lahan tanaman jarak, digunakan blok diagram seperti pada Gambar 3.1.


(32)

Gambar 3.1 Blok Diagram Sebuah Sistem Wireless Sensor Network Untuk

Monitoring Suhu dan Kelembaban Tanah Pada Lahan Tanaman Jarak

Pada tugas akhir ini hanya membahas bagian router user dan komputer, Peran router disini yaitu menerima data dari coordinator melalui xbee kemudian diproses oleh arduino setelah data diproses data dikirim ke komputer. Sedangkan peranan dari komputer adalah menggolah data yang diterima dari router kemudian ditampilkan pada layar monitor komputer menggunakan Visual basic 6.0, komunikai yang digunakan antara router dengan komputer menggunakan komunikasi USB serial.

3.1. Perancangan Perangkat Keras

3.1.1.Koneksi Arduino dengan Komputer

Perancangan perangkat keras (hardware) ini membahas tentang koneksi arduino dan dengan komputer, arduino dapat berkomunikasi dengan komputer melalui USB. Tetapi komputer harus menginstal driver pada arduino terlebih


(33)

dahulu, untuk mendapatkan driver arduino dan Software IDE arduino bisa diunduh di www.arduino.cc/.

3.1.2. Koneksi Xbee dengan Komputer

Pada perancangan ini menggunakan Xbee Pro Series 2, konfigurasi xbee memiliki peranan masing-masing yang berfungsi supaya antar xbee dapat berkomunikasi dengan baik pada alamat yang ditujukan dan sesuai alamat yang kita inginkan. Sebelum mengkonfigurasi xbee harus sudah terinstal driveradapter

xbee dan Software bernama X-CTU.

Gambar 3.2 Xbee dan Adapter

3.2. Perancangan Perangkat Lunak

Selain hardware yang diperlukan pada perancangan dan pembuatan sistem

monitoring suhu dan kelembaban tanah pada lahan tanaman jarak dengan memanfaatkan wireless sensor network sebagai komunikasi data antar node dan usb untuk komunikasi dengan komputer, juga diperlukan Software / program pada Arduino dan komputer untuk dapat saling mendukung. Perancangn perangkat lunak meliputi algoritma dan program baik pada Arduino maupun komputer.


(34)

3.2.1. Program Xbee sebagai Router

Sebelum menetukan program masing-masing xbee harus menetukan topologi jaringan, sehingga lebih mudah untuk proses konfigurasi xbee pada peranan masing-masing dalam routing atau pengalamatan yang ditujukan. Untuk pilihan topologi menggunakan topologi tree, karena dibutuhkan untuk komunikasi

point to point dan point to multipoint.

Gambar 3.3 Topologi

Pada Gambar 3.3 node End point 1 maupun node End point 2 dapat menerima dan mengirim data tetapi hanya komunikasi point to point. Sedangkan pada node coordinator dapat menerima sekaligus mengirim data dan berkomunikasi point to multipoint pada node yang terhubung langsung yang disebut dengan broadcast. Untuk komunikasi antara node coordinator dengan

node router, node coordinator dapat mengirim data dan tidak dapat menerima data dari node router. Begitu juga untuk node router tidak dapat mengirim data pada node coordinator dan hanya dapat menerima data dari node coordinator

saja, perlu diketahui sekali lagi bahwa tugas akhir ini hanya membahas pada sisi


(35)

Konfigurasi Xbee sebagai Router

Untuk mengkonfigurasi xbee, pasang xbee sebagai router pada adapter dan hubungkan kabel USB pada komputer.

Gambar 3.4 Xbee Beserta Adapter

Kemudian buka Software X-CTU yang sudah diinstal sebelumnya, dan pada tab PC Setting port pada adapter adalah port com15. Lalu klik pada

Test/Query dan tunggu akan muncul seperti pada Gambar 3.13 dan klik ok.

Gambar 3.4 Test Query Xbee

Pada Gambar 3.4 menunjukkan informasi serial number dan konfigurasi

firmware yang sudah terisi sebelumnya. Langkah selanjutnya adalah sebagai berikut:

1. Pilih tab Modem Configurasi


(36)

3. Pilih model modem xbee yaitu XB24-ZB

4. Pilih Function Set atau firmware xbee sebagai router yaitu ZIGBEE ROUTER AT

5. Isi PAN ID dengan nilai 11, maksudnya parameter xbee tersebut hanya berkomunikasi dengan xbee lainnya yang memiliki PAN ID 11 saja. 6. Kemudian tentukan destination untuk tujuan transfer data yang diinginkan,

tetapi router ini untuk komunikasi point to point sehingga DH=FFFF DL=0

7. Selanjutnya centang pada Always Update Firmware

8. klik write dan tunggu sampai konfigurasi selesai

Gambar 3.5 Konfigurasi Xbee

3.2.1. Program Arduino Sebagai Router

Cara kerja router yaitu menerima data dari coordinator setalah data diterima, data langsung di proses oleh arduino jika data sesuai yang di tentukan oleh program maka data kemudian dikirim ke komputer. pengiriman data antara


(37)

router dengan komputer menggunakan kabel usb. Gambar 3.6 merupakan

flowchart program pada arduino pada sisi router user.

Gambar 3.6 Flowchart Pengolahan Data Pada Router

Dari penjelasan Gambar 3.6 langkah pertama program menginisialisasi data

“data_in” bertipe data unsigned long, setelah proses inisialisasi selesai data diterima kemudian data diseleksi apakah data tersebut >10000000 jika benar data akan dikirim langsung ke komputer, jika data yang diterima router < 10000000 data di abaikan karena data tersebut bukan dari coordinator yang mana data yang dikirim oleh coordinator sebesar 8 digit. Pada tugas akhir end point hanya menggunakan 2 node maka router user hanya menerima data yang nilainya lebih dari 10000000 dan 20000000.


(38)

Pada Gambar 3.7 merupakan hasil capture data yang akan dikirim ke komupter. Data yang dikirim ke komputer sebanyak 8 digit misal pada hasil

capture Gambar 3.7 yaitu 1113106722230070111310672. . . artinya data yang dikirim adalah 11131067, 22230070 kemudian 11131067 dan seterusnya.

3.2.2. Program Antarmuka pada Komputer

perancangan antarmuka pada komputer untuk monitoring ini menggunakan visual basic 6.0. Visual basic mempunyai program dengan aplikasi grafichal user interface (GUI) yang dapat berkomunikasi langsung dengan komputer. Perancangan program visual basic ini terdiri dari tampilan aplikasi, diagram alir, properti yang digunakan yang terakhir adalah program

a. Tampilan perancangan aplikasi 1. Tampilan aplikasi monitoring


(39)

Tampilan aplikasi monitoring pada Gambar 3.8 tersebut diatas dibuat menggunakan visual basic berikut penjelasan dari tampilan aplikasi.

Tabel 3.1 Keterangan Pada Aplikasi Monitoring

No. Keterangan

1 Sebagai pemberitahuan apabila warna merah node 1 atau 2 tidak mengirimkn data

2 Sebagai pemberitahuan apabila berwarna merah melebihi atau kurang dari batas yang telah ditentukan

3 menampilkan angka pembacaaan dari node 1 dan node 2

4 Menampilkan grafik dari pembacaan node 1 berwarn merah dan node 2 berwarna hijau

5 Menampilkan waktu saat ini

6 Untuk menampilkan history

2. Tampilan aplikasi pada history

Gambar 3.9 Tampilan Aplikasi History

Tampilan aplikasi pada history ini untuk menampilkan hasil rata-rata record

dari aplikasi utama. Untuk dapat menampilkan grafik history pada aplikasi tersebut langkah pertama yaitu mentukan tanggal, bulan, dan tahun kemudian klik


(40)

tombol per jam atau per hari untuk melihat tampilan rata-rata perjam atau perhari. Tombol keluar untuk keluar pada tampilan history.

b. Diagram alir pemprograman visual basic

Gambar 3.10 Diagram Alir Program Aplikasi Untuk Monitoring Pada Vb 6.0

Pada aplikasi utama ini berfungsi untuk menampilkan data yang diterima oleh router. Proses ini dimulai ketika user mengaktifkan aplikasi, proses pertama yang dilakukan oleh program aplikasi tersebut adalah membuka portserial / USB dan menginisialisasi. inisialisasi “data, log, loghari” bertipe data string, “data1,


(41)

data2, data3, data4” bertipe data Long. “i, x, a, b, c, d, z, y” bertipe data Integer.

Setelah proses inisialisasi selesai data diproses oleh program visual basic berjumlah 8 digit jika data masih kurang dari 8 digit maka akan menunggu hingga data sebesar 8 digit jika memenuhi syarat data diproses ke langkah selanjutnya. Penjelasan Gambar 3.10 pada data2 = (CLng(data) - 11100000) Mod 1000, data1 = (CLng(data) - 11100000) \ 1000 maksud dari CLng adalah data yang diterima di

convert dahulu ke dalam tipe data long agar dapat menampung nilai bulat dengan nilai yang lebih panjang. Berikut adalah contoh penghitungan jika data yang diterima adalah 11130067 :

((11130067) – 11100000)) Mod 1000 ((11130067) – 11100000)) \ 1000 Maka :

(30067) Mod 1000 = 30 sisa 67 (30067) \ 1000 = 30,067

Maksud mod pada operator aritmatika dan logika adalah merupakan hasil dari sisa pembagian sedangkan operator \ adalah hasil bulat dari pembagian. Setelah melakukan perhitungan dan mengetahui fungsi operator dapat diketahui hasil penghitungan dari mod (modulus) adalah 67 sedangkan penghitungan dari operator / adalah 30. 3 angka didepan menunjukkan data yang diterima hasil penggiriman dari Node1/end point1 misal data yang diterima 11130067 maka data tersebut adalah hasil penggiriman dari Node1 yang dikirim melalui coordinator. Berikut adalah keterangan hasil proses data jika data yang diterima adalah 11130067 :


(42)

a) Angka 111 pada 3 digit pertama menunjukkan bahwa data tersebut adalah pengiriman dari Node1.

b) Angka 30 pada 2 digit selanjutnya menunjukkan nilai pembacaan dari sensor suhu adalah 30 °C.

c) Angka 067 pada 3 digit terakhir menunjukkan nilai pembacaan dari sensor kelembaban tanah adalah 67 %.

Setelah data di pisah-pisahkan data di tampilkan pada aplikasi penampil visual basic 6.0.

c. Objek dan Properti visual basic

Dalam pembuatan aplikasi ini menggunakan beberapa objek yang terdiri dari : 1) Label

2) Tchart

3) MSComm

4) Timer

5) Shape

6) Frame

7) Text

8) Command Button


(43)

MSComm (Microsoft Communication Control) digunakan untuk melakukan komunikasi pertukaran data dengan arduino melalui port serial. Beberapa properti yang dapat di kontrol pada MSComm ini adalah sebagai berikut :

1) CommPort, yaitu nomor port yang dimiliki oleh serial port yang akan berkomunikasi

2) Handshaking, yaitu metode pertukaran data yang dipakai. Terdapat empat metode Handshaking yaitu: 0 (comNone), 1 (comXOnXoff), 2 (comRTS), 3 (comRTSXOnXoff).

3) RThreshold, bernilai integer (bilangan bulat), berfungsi untuk mengaktifkan OnComm event (even terjadi pada kontrol MsComm jika terjadi perubahan ukuran buffer data). RThreshold untuk mendeteksi perubahan buffer pada data masuk (receive).

4) SThreshold, seperti RThreshold hanya fungsinya untuk mengaktifkan OnComm event data yang keluar dari komputer.

5) Settings, properti untuk mengeset bit rate, parity, data bits dan stop bit.

MSComm1.Setting = “9600,n,8,1”

6) Input, merupakan properti yang menampung data yang masuk dari luar.

7) Output, merupakan properti yang dapat diset sebagai data yang akan dikirimkan keluar.


(44)

Pembuatan program visual basic didasarkan pada diagram alir dan tampilan yang sudah direncanakan (dapat dilihat pada gambar 3.16). Berikut ini adalah cuplikan listing program aplikasi untuk monitoring :

1) Prosedur untuk mengaktifkan portserial Private Sub Form_Load()

MSComm1.PortOpen = True End Sub

“Mscomm1.PortOpen = True” digunakan untuk mengaktifkan atau membuka portserial yang telah dipilih pada properti Mscomm

2) Prosedur untuk menonaktifkan port serial

Private Sub Form_Unload(Cancel As Integer) MSComm1.PortOpen = False

End Sub

“MSComm1.PortOpen = False” digunakan untuk menonaktifkan atau menutup kembali port serial yang digunakan

3) Prosedur untuk menerima data

Private Sub MSComm1_OnComm() If MSComm1.CommEvent = 2 Then

data = MSComm1.Input x = Len(data)

If x = 8

Cuplikan pada program diatas digunakan untuk merima data dari router user dengan panjang 8 digit

4) Prosedur untuk menampilkan kedalam grafik

Call TChart1.Series(0).AddXY(i, CDbl(data1), "", clTeeColor)

Grafik digunakan untuk menampilkan perubahan data yang diterima dan digunakan untuk menampilkan grafik dari aplikasi pada form history.


(45)

Open log For Append As #1

Write #1, Day(Now), Month(Now), Year(Now), Hour(Now), Minute(Now), Second(Now), data1, data2, data3, data4 “Append” digunakan untuk menyimpan data yang di terima dan juga dapat

menambahkan data pada log. 6) Prosedur mengaktifkan beep

Private Sub Timer6_Timer() Call AvirasBeep

End Sub

Beep digunankan sebagai alarm untuk pemberitahuan atau peringatan kepada user apabila error pada setiap node dan jika masing-masing sensor mengirim data yang melebihi batas minimum dan maksimum yang telah ditentukan.

7) Prosedur mengaktifkan tombol history

Private Sub Command1_Click() Form2.Show

End Sub


(46)

41

BAB IV

PENGUJIAN SISTEM

Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap perangkat keras dan perangkat lunak dari sistem secara keseluruhan yang telah selesai dibuat untuk mengetahui komponen-komponen sistem apakah berjalan dengan baik.

4.1. Pengujian Arduino 4.1.1.Tujuan

Pengujian Arduino bertujuan untuk mengetahui apakah Arduino dapat melakukan proses signature dan upload program ke minimum system pada Arduino dengan baik.

4.1.2. Alat yang digunakan

Peralatan yang digunakan penulis untuk melakukan pengujian ini adalah sebagai berikut :

1. Arduino. 2. PC.

3. Arduino IDE (Integrated Development Environment). 4. Kabel USB.

4.1.3. Prosedur pengujian

Langkah-langkah pengujian untuk melakukan pengujian Arduino adalah sebagai berikut :


(47)

2. Aktifkan PC dan jalankan program Arduino IDE. 3. Buat program pada Arduino IDE.

4. Setelah membuat program klik file pada jendela arduino IDE kemudian pilih upload.

5. Amati pada proses upload, pastikan proses berhasil dan sesuai dengan yang diharapkan.

4.1.4.Hasil pengujian

Pengujian arduino pada komputer untuk menulis progran dan melakukan upload

ke arduino berjalan dengan baik, seperti ditunjukkan pada gambar 4.1 berikut.

Gambar 4.1 Program Dan Hasil Upload

4.2. Pengujian Xbee 4.2.1. Tujuan

Pengujin komunikasi Xbee ini dilakukan untuk mengetahui kamunikasi antar Xbee pro dengan Xbee. Pengujian komunikasi Xbee ini dilakukan dengan


(48)

mengkonfigurasi parameter yang telah dilakukan dengan baik dan dapat diterima serta ditampilkan pada layar komputer.

4.2.2. Alat yang digunaka

Peralatan yang digunakan penulis untuk melakukan pengujian ini adalah sebagai berikut :

1. Xbee Pro S2. 2. Adapter Xbee. 3. Software X-CTU. 4. Kabel USB. 5. Komputer.

4.2.3. Prosedur pengujian

Langkah-langkah untuk melakukan pengujian komunikasi Xbee adalah sebagai berikut :

1. Tancapkan Xbee pada adapter.

2. Hubungkan adapter Xbee dengan komputer menggunakan kabel USB. 3. Jalankan program X-CTU pada komputer.

4. Konfigurasi Xbee.

5. Amati data yang ditampilkan untuk mengetahui hasil pengiriman data.

4.2.4. Hasil pengujian

Dari prosedur pengujian komunikasi data antar Xbee yang telah dilakukan dapat berjalan dengan baik, pada Gambar 4.2 adalah hasil pengujian komunikasi antar xbee


(49)

Gambar 4.2 Test Komunikasi Xbee

4.3. Pengujian jarak makimal kemampuan pengiriman data Xbee Pro 4.3.1. Tujuan

Untuk mengetahui kemampuan jangkauan area Xbee pro S2 dalam melakukan penerimaan data dari Xbee S2

4.3.2. Alat yang digunakan

1. Arduino.

2. Xbee pro S2 dan Xbee S2 beserta shield.

3. Komputer. 4. Baterai 9V DC. 5. Kabel USB.

4.3.3. Prosedur pengujian

langkah-langkah untuk melakukan pengujian jarak komunikasi Xbee adalah sebagai berikut :

1. Pasang baterai pada papan arduino yang sudah terintegrasi dengan Xbee S2.


(50)

2. Sambungkan arduino yang sudah terintegrasi Xbee Pro S2 dengan komputer menggunakan kabel USB untuk monitoring.

3. Ukur jarak antar Xbee, dan carilah jangkauan penerimaan maksimal.

4.3.4. Hasil pengujian

dari prosedur pengujian komunikasi data pada Xbee yang telah dilakukan di luar ruangan (Outdoor Area) didapatkan hasil pengamatan jangkauan sebagai berikut :

Tabel 4.1 Hasil Pengamatan Jangkauan Xbee Dalam Kondisi Di Luar Ruangan (Outdoor Area)

No. Jarak (meter) Keterangan

1. 10 Ok

2. 20 Ok

3. 30 Ok

4. 40 Ok

5. 50 Ok

6. 60 Ok

7. 70 Ok

8. 80 Ok

9. 90 Ok

10. 100 Ok

11. 101 Gagal

12. 102 Gagal

13. 103 Gagal

14. 104 Gagal

15. 105 Gagal

4.4. Pengujian Komunikasi Serial/USB 4.4.1. Tujuan

Pengujian komunikasi serial ini dilakukan untuk mengetahui kamunikasi atar Arduino dengan komputer berjalan dengan baik. Pengujian komunikasi


(51)

serial/USB dilakukn dengan memprogram karakter atau tulisan yang di tampilkan dan kemudian di cocokaan dengan tampilan pada komputer.

4.4.2. Alat yang digunakan

Peralatan yang digunakan penulis untuk melakukan pengujian ini adalah sebagai beriku :

1. Arduino Uno

2. Komputer dan kabel USB

3. Hyper Terminal

4.4.3. Prosedur pengujian

Langkah-langkah untuk melakukan pengujin komunikasi serial / USB adalah sebagai berikut :

1. Hubungkan Arduino dengan komputer

2. Buka program hyper terminal pada komputer, lalu atur konfigurasinya seperti gambar berikut.

Gambar 4.3 Setting Port

3. Setelah setting port kemudian klik Ok, kemuadian amatilah jendela

hyper terminal yang menampilkan hasil yang diterima melalu komunikasi serial / USB.


(52)

4.4.4. Hasil Pengujian

Pengujian komunikasi serial antar Arduino dengan komputer dapat dilihat pada jendela hyper terminal. Hasil capture pengujian komunikasi serial dapat dilihat pada Gambar 4.4 berikut :

Gambar 4.4 Hasil Pengujian Komunikasi Serial

4.5. Pengujian Keseluruhan Sistem

Pengujian keseluruhan sistem ini bertujuan untuk mengetahui apakah sistem yang dirancang dapat berfungsi dengan baik sesuai dengan yang diharapkan. Berikut adalah pengujian dari keseluruhan sistem :

4.5.1. Pengujian data yang diterima oleh Router dari Coordinator

Pada pengujian ini dimulai dari coordinator yang mengirimkan data ke

router, coordinator menggolah data yang diterima dari end point1 dan end point2 kemudian setelah data diolah oleh coordinator dilanjutkan ke router, namun penulis hanya menerangkan mulai dari coordinator sampai ke aplikasi yang menampilkan data yang di terima oleh router. Pada Gambar 4.5 merupakan hasil


(53)

Gambar 4.5 Com8 MonitorCoordinator , Com6 Monitor Router

Tabel 4.2 Data Yang Diambil Dari Hasil Capture Pada Gambar 4.5

Data ke- Data yang dikirim Coordinator Data yang diterima Router Data ke- Data yang dikirim Coordinator Data yang diterima Router

1 11131067 11131067 16 22230070 22230070 2 22230070 22230070 17 11131067 11131067 3 11131067 11131067 18 22232069 22232069 4 22232069 22232069 19 11134064 11134064 5 11134064 11134064 20 22235065 22235065 6 22235065 22235065 21 11136000 11136000 7 11136000 11136000 22 22235065 22235065 8 22235065 22235065 23 11134085 11134085 9 11134085 11134085 24 22200075 22200075 10 22200075 22200075 25 11133067 11133067 11 11133067 11133067 26 22233070 22233070 12 22233070 22233070 27 11133067 11133067 13 11133067 11133067 28 22233070 22233070 14 22233070 22233070 29 11131067 11131067 15 11131067 11131067 30 22230070 22230070

Dilihat dari beberapa data pengujian pada Tabel 4.2 menunjukkan data yang dikirim oleh coordinator ke router user berjalan dengan baik hal ini menunjukkan komunikasi antara coordinator dengan router user tidak ada data yang loss.


(54)

4.5.2. Pengujian data yang diterima oleh aplikasi visual basic dari coordinator melalui router

Pada pengujian ini data yang dikirim oleh coordinator dibandingkan dengan nilai yang akan ditampilkan pada aplikasi. Aplikasi ini berguna untuk menampilkan data yang terbaca oleh sensor dan sebagai pengingat untuk proses

monitoring. Pada gambar 4.6 menampilkan nilai suhu dan kelembaban yang dikirim coordinator dan yang ditampilkan aplikasi.

Gambar 4.6 Data Yang Ditampilkan Aplikasi Pada VB 6.0 dan Monitoring Pada

Coordinator

Pada pengujian pengiriman data antara coordinator dengan aplikasi pada VB 6.0 melalui router dan data yang ditampilkan aplikasi menunjukkan hasil yang sama. Maka dapat disimpulkan bahwa data yang diterima oleh aplikasi


(55)

menunjukkan sistem berjalan dengan baik dan data yang diterima sesuai dengan data yang dikirim oleh coordinator melalui router.

4.5.3. Pengujian Indikator Dan Alarm Pada Node Nilai Sensor

Pada pengujian ini menunjukkan bahwa aplikasi menunjukkan sebuah perubahan warna dan bunyi alarm atau beep sebagai pengingat kepada user

apabila terdapat error pada sistem dan menunjukkan apabila data yang diterima tidak sesuai dengan data atau nilai yang telah ditetapkan. Untuk dapat menentukan batas minimum dan maksimum pada aplikasi monitoring ini mengacu pada bab 1 pendahuluan.

pada Gambar 4.7 menunjukkan bahwa alarm berbunyi (beep) dan warna indikator berubah menjadi warna merah jika nilai suhu maupun kelembaban tidak sesuai dengan nilai yang telah ditetapkan untuk lahan yang akan di pantau (monitoring). Alarm berbunyi dan indikator berubah warna menjadi warna merah yang semula berwana hijau jika suhu yang diterima minimum 20° dan maksimum > 35°, sedangkan untuk sensor kelembaban batas minimum 60 % RH dan maksimum 80 % RH. Tetapi jika salah satu sensor menampilkan nilai 0 menunjukan bahwa terdapat error pada pada sensor. berikut adalah cuplikan program yang menentukan warna indiktor berubah sesuai batas minimum dan maksimum yang telah ditentukan.

If data1 < 20 Or data1 > 35 Then Timer2.Enabled = True

ElseIf data1 > 19 And data1 < 35 Then Timer2.Enabled = False

Shape1.FillColor = vbGreen End If


(56)

Timer3.Enabled = True

ElseIf data2 > 59 And data2 < 81 Then Timer3.Enabled = False

Shape2.FillColor = vbGreen End If

Berikut ini adalah cuplikan program untuk mengaktifkan alarm

Private Sub Timer6_Timer() Call AvirasBeep

End Sub

Gambar 4.7 Indikator Sensor Suhu Pada Node1 Melebihi Batas Yang Ditetapkan, Sensor Kelembaban Pada Node1 Terjadi Error

4.5.4. Pengujian Indikator dan Alarm pada Node

Pada pengujian ini apabila data yang diterima melebihi batas yang telah ditentukan maka indikator node pada aplikasi yang semula berwarna hijau akan berubah menjadi berwarna merah dan alarm berbunyi


(57)

Gambar 4.8 Indikator pada Node 2 Terjadi Error

Pada Gambar 4.8 suhu dan kelembaban menunjukkan nilai yang diterima dan indikator pada suhu dan kelembaban berwarna hijau tetapi indikator pada

node2 berubah menjadi warna merah hal tersebut menunjukkan bahwa node 2 koneksi terputus atau daya baterai habis dan tidak dapat mengirimkan data dalam waktu tertentu.

4.5.5. Pengujian pada form history

Pengujian history disini ada 2 macam yang pertama yaitu history untuk menampilkan rata-rata perhari, yang kedua yaitu untuk menampilkan rata-rata perjam. Kedua history ini dapat ditentukan oleh user sesuai tanggal bulan tahun dari data yang disimpan. Berikut adalah gambar hasil history dari rata-rata perjam dan perhari.


(58)

Gambar 4.9 History dari Rata-Rata Perjam


(59)

54

BAB V PENUTUP

Berdasarkan pengujian pada perangkat keras dan perangkat lunak yang dipergunakan dalam tugas akhir ini, maka dapat diambil kesimpulan dan saran-saran dari hasil yang diperoleh.

5.1.

Kesimpulan

Setelah melakukan penelitian ini, penulis mengambil kesimpulan sebagai berikut:

1. Komunikasi nirkabel yang diterapkan sebagai media pengiriman data antara

coordinator dengan router berdasarkan 30 kali pengujian yang dilakukan didapat bahwa data yang diterima router sesuai dengan data yang dikirim oleh coordinator, hal ini dapat disimpulkan komunikasi dapat bekerja dengan baik.

2. Berdasarkan data dari 20 pengujian data yang ditampilkan pada aplikasi

monitoring sesuai dengan data yang dikirim oleh router. Hal ini menunjukkan sistem bekerja dengan baik.

3. Dari hasil percobaan perubahan indikator dan alarm (beep) berbunyi ada beberapa yaitu apabila sensor suhu atau kelembaban tanah melebihi batas yang ditentukan, terjadi error pada sensor dan error pada node indikator dan


(60)

5.2. Saran

Sebagai pengembangan dari penelitian yang telah dilakukan, penulis memberikan saran sebagai berikut:

1. Untuk mendapatkan jarak jangkau yang maksimal, maka diperlukan Xbee yang tipenya sama

2. Untuk pengembangan lebih lanjut dalam penyimpanan log file, penulis untuk menyarankan menggunakan database.


(61)

56

DAFTAR PUSTAKA

Arduino.cc. (n.d.). Arduino Uno. Retrieved Maret 27, 2013, from Arduino Web site: http://arduino.cc/enlMain/arduinoBoardUno Arduino.cc. (n.d.). Arduino Xbee Shield. Retrieved Maret 27, 20l3, from

Arduino Web site: http://arduino.cc/enIMainlArduinoXbeeShield

Daniel, W. (2013, maret 4). detikfinance. Retrieved from detikfinance:

http://finance.detik.comlread/2013/03/041180625/2185426/1034/harg a- minyak-ri-naik-jadi-us--11486-barel-di-februari?

Faludi, R. (2010). Building Wireless Sensor Networking. Sebastopol: O'Reilly.

Hambali, E., & Suryani, A. (2006). Jarak Pagar Tanaman Penghasil Biodiesel. Bogor: Penebar Swadaya.

MeLgar, E. R., & Diez, C. C. (2012). Arduino and Kinect Projects: Design, Build, Blow Their Minds. Apress.

Rusmayadi, G. (2009). Pemodelan Pertumbuhan dan Perkembangan Tanaman Jarak Pagar (Jatropha curcas L.).


(1)

51

Timer3.Enabled = True

ElseIf data2 > 59 And data2 < 81 Then Timer3.Enabled = False

Shape2.FillColor = vbGreen End If

Berikut ini adalah cuplikan program untuk mengaktifkan alarm Private Sub Timer6_Timer()

Call AvirasBeep

End Sub

Gambar 4.7 Indikator Sensor Suhu Pada Node1 Melebihi Batas Yang Ditetapkan, Sensor Kelembaban Pada Node1 Terjadi Error

4.5.4. Pengujian Indikator dan Alarm pada Node

Pada pengujian ini apabila data yang diterima melebihi batas yang telah ditentukan maka indikator node pada aplikasi yang semula berwarna hijau akan berubah menjadi berwarna merah dan alarm berbunyi


(2)

Gambar 4.8 Indikator pada Node 2 Terjadi Error

Pada Gambar 4.8 suhu dan kelembaban menunjukkan nilai yang diterima dan indikator pada suhu dan kelembaban berwarna hijau tetapi indikator pada node2 berubah menjadi warna merah hal tersebut menunjukkan bahwa node 2 koneksi terputus atau daya baterai habis dan tidak dapat mengirimkan data dalam waktu tertentu.

4.5.5. Pengujian pada form history

Pengujian history disini ada 2 macam yang pertama yaitu history untuk menampilkan rata-rata perhari, yang kedua yaitu untuk menampilkan rata-rata perjam. Kedua history ini dapat ditentukan oleh user sesuai tanggal bulan tahun dari data yang disimpan. Berikut adalah gambar hasil history dari rata-rata perjam dan perhari.


(3)

53

Gambar 4.9 History dari Rata-Rata Perjam


(4)

54 BAB V PENUTUP

Berdasarkan pengujian pada perangkat keras dan perangkat lunak yang dipergunakan dalam tugas akhir ini, maka dapat diambil kesimpulan dan saran-saran dari hasil yang diperoleh.

5.1.

Kesimpulan

Setelah melakukan penelitian ini, penulis mengambil kesimpulan sebagai berikut:

1. Komunikasi nirkabel yang diterapkan sebagai media pengiriman data antara coordinator dengan router berdasarkan 30 kali pengujian yang dilakukan didapat bahwa data yang diterima router sesuai dengan data yang dikirim oleh coordinator, hal ini dapat disimpulkan komunikasi dapat bekerja dengan baik.

2. Berdasarkan data dari 20 pengujian data yang ditampilkan pada aplikasi monitoring sesuai dengan data yang dikirim oleh router. Hal ini menunjukkan sistem bekerja dengan baik.

3. Dari hasil percobaan perubahan indikator dan alarm (beep) berbunyi ada beberapa yaitu apabila sensor suhu atau kelembaban tanah melebihi batas yang ditentukan, terjadi error pada sensor dan error pada node indikator dan alarm (beep) dapat berfungsi dengan baik


(5)

55

5.2. Saran

Sebagai pengembangan dari penelitian yang telah dilakukan, penulis memberikan saran sebagai berikut:

1. Untuk mendapatkan jarak jangkau yang maksimal, maka diperlukan Xbee yang tipenya sama

2. Untuk pengembangan lebih lanjut dalam penyimpanan log file, penulis untuk menyarankan menggunakan database.


(6)

56

DAFTAR PUSTAKA

Arduino.cc. (n.d.). Arduino Uno. Retrieved Maret 27, 2013, from Arduino Web site: http://arduino.cc/enlMain/arduinoBoardUno Arduino.cc. (n.d.). Arduino Xbee Shield. Retrieved Maret 27, 20l3, from

Arduino Web site: http://arduino.cc/enIMainlArduinoXbeeShield Daniel, W. (2013, maret 4). detikfinance. Retrieved from detikfinance:

http://finance.detik.comlread/2013/03/041180625/2185426/1034/harg a- minyak-ri-naik-jadi-us--11486-barel-di-februari?

Faludi, R. (2010). Building Wireless Sensor Networking. Sebastopol: O'Reilly.

Hambali, E., & Suryani, A. (2006). Jarak Pagar Tanaman Penghasil Biodiesel. Bogor: Penebar Swadaya.

MeLgar, E. R., & Diez, C. C. (2012). Arduino and Kinect Projects: Design, Build, Blow Their Minds. Apress.

Rusmayadi, G. (2009). Pemodelan Pertumbuhan dan Perkembangan Tanaman Jarak Pagar (Jatropha curcas L.).