MONITORINGSUHU DAN KELEMBABAN PADA LAHAN TANAMAN JARAK
Oleh :
Nama : Kusbiono Wisnu Pambudi NIM : 09.41020.0002
Program : S1 (Strata Satu) Jurusan : Sistem Komputer
SEKOLAH TINGGI
MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA
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 sumber minyak nabati yang sangat prospektif untuk dimanfaatkan sebagai bahan baku biodiesel adalah tanaman jarak, tetapi jenis tanaman jarak yang menghasilkan kandungan minyak terbanyak adalah jarak pagar (Jatropha Curcas L.). Akan tetapi untuk mendapatkan kandungan minyak yang maksimal dari tanaman jarak, dibutuhkan suhu dan kelembaban tanah yang terkontrol secara terus menerus. Maka dibutuhkan alat untuk monitoring tanaman. 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 lingkungan. Sehingga perangkat pendukung sensor ini dapat mempermudah monitoring suhu dan kelembaban tanah di sekitar perkebunan jarak. Proses dimulai dari endpoint mengirimkan data kepada coordinator, dimana endpoint bertugas mengirimkan data output dari sensor dan coordinator bertugas sebagai pengontrol data.
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 ... 2
1.3 Pembatasan Masalah ... 3
1.4 Tujuan ... 3
1.5 Kontribusi ... 3
1.6 Sistematika Penulisan ... 3
BAB II LANDASAN TEORI ... 5
2.1 Wireless Sensor Network (WSN) ... 5
2.1.1 Arsitektur WSN ... 6
2.2 Perangkat Keras ... 8
2.2.1 Arduino uno ... 8
2.2.2 Xbee ... 9
2.2.3 Soil moisture sensor (SEN0114) ... 11
2.2.4 DHT11 temperature and humidity Sensor (DFR0067) ... 13
2.2.4 Thermometer ... 14
2.3 Perangkat Lunak ... 15
2.3.1 Zigbee ... 15
2.3.2 X-CTU ... 15
2.3.3 IDE Arduino ... 16
2.4 Jarak Pagar (Jatropha Curca L.) ... 16
BAB III METODE PENELITIAN ... 19
3.1 Perancangan Perangkat Keras ... 20
3.1.1 Koneksi arduino dengan komputer ... 20
3.2 Perancangan Perangkat Lunak ... 21
3.2.1 Program xbee sebagai endpoint dan coordinator ... 22
3.2.2 Program arduino sebagai endpoint 1 dan endpoint 2 ... 22
3.2.3 Program arduino sebagai coordinator ... 30
3.3 Perakitan ... 34
BAB IV PENGUJIAN SISTEM ... 35
4.1 Pengujian Output Sensor Suhu ... 35
4.1.1 Tujuan ... 35
4.1.2 Alat yang digunakan ... 35
4.1.3 Prosedur pengujian ... 36
4.1.4 Hasil pengujian ... 36
4.2 pengujian Output Sensor kelembaban ... 39
4.2.1 Tujuan ... 39
4.2.2 Alat yang digunakan ... 39
4.2.4 Hasil pengujian ... 40
4.3 Pengujian Protokol Komunikasi ... 43
4.3.1 Tujuan ... 43
4.3.2 Alat yang digunakan ... 43
4.3.3 Prosedur pengujian ... 43
4.3.4 Hasil Pengujian ... 44
4.4 Pengujian Jarak Jangkau Kemampuan Pengiriman Data Xbee S2 ... 49
4.4.1 Tujuan ... 49
4.4.2 Alat yang digunakan ... 49
4.4.3 Prosedur pengujian ... 49
4.4.4 Hasil pengujian ... 50
BAB V PENUTUP ... 51
5.1 Kesimpulan ... 51
5.2 Saran ... 51
DAFTAR PUSTAKA ... 53
LAMPIRAN ... 54
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. Beberapa jenis tanaman jarak yang tercatat di Indonesia diantaranya adalah jarak kaliki/kastor (Ricinus communis), jarak pagar (Jatropha curcas), jarak gurita (Jatropha
cangkang) jarak pagar mengandung 20-40% minyak nabati, namun bagian inti biji (biji tanpa 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% (Riajaya P. D. dan Kadarwati T. F., 2007).
Selama ini proses monitoring suhu dan kelembaban tanah dilakukan secara manual. Untuk memudahkan para petani dalam melakukan monitoring suhu dan kelembaban tanah disekitar perkebunan jarak yang begitu luasnya, maka diperlukannya suatu alat yang dapat menginformasikan keadaan tersebut secara terus menerus (real time) yaitu 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 pada awalnya digunakan oleh pihak militer sebagai aplikasi untuk keperluan pengawasan (Arduino, 2011).
1.2 Perumusan Masalah
1.3 Pembatasan Masalah
Dalam merancang bangun WSN untuk monitoring tanaman jarak, terdapat beberapa pembatasan masalah, antara lain:
1. Setiap perangkat node sensor dibuat untuk mengukur suhu dan kelembaban tanah.
2. Pada Tugas Akhir ini dibatasi sampai dengan perancangan perangkat keras pada sisi endpoint dan coodinator beserta protokol komunikasinya.
1.4 Tujuan
Tujuan pembuatan tugas akhir ini adalah rancang dan bangun Wireless
Sensor Network (WSN) 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 WSN masih belum ada. Karena tanaman jarak membutuhkan suhu dan kelembaban tanah tertentu supaya menghasilkan kandungan minyak yang maksimal, dengan alat monitoring
ini akan mengurangi waktu monitoring dan lebih mudah dalam proses monitoring
suhu udara dan kelembaban tanah pada lahan tanaman jarak.
1.6 Sistematika Penulisan
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, Soil Moisture Sensor, DHT11
Temperature and Humidity Sensor, Zigbee, X-CTU dan IDE Arduino. BAB III : METODE PENELITIAN
Bab ini membahas tentang blok diagram sistem, dimulai dari proses pembacaan sensor sampai dengan data yang akan dikirimkan dari
endpoint ke routeruser yang meliputi koneksi perangkat keras dengan perangkat lunak dan konfigurasi xbee untuk peranan masing-masing.
BAB IV : PENGUJIAN DAN EVALUASI
Bab ini berisi tentang hasil pengujian dan evaluasi dari sistem kerja yang telah dibuat yang meliputi pengujian dari setiap sensor, protokol komunikasi dan jarak jangkau kemampuan pengiriman data xbee S2.
BAB V : PENUTUP
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, biasanya baterai.
Berdasarkan fakta di dunia, sekitar 98% prosesor bukan berada didalam sebuah komputer PC/laptop, namun terintegrasi dalam aplikasi militer, kesehatan, remote control, chip robotik, 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.
diakses dari jarak jauh melalui gadget seperti laptop, remote control, server dan sebagainya.
Gambar 2.1 Arsitektur WSN.
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. 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.
2.1.1 Arsitektur WSN
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 dalam Gambar 2.2 berikut:
Gambar 2.2 Perkembangan Dimensi Node Sensor Terhadap Waktu. Dan untuk arsitektur WSN secara umum dapat direpresentasikan dalam Gambar 2.3 sebagai berikut:
Gambar 2.3 Gambaran Arsitek Wireless Sensor Network.
diakses melalui berbagai platform seperti koneksi internet atau satelit sehingga memungkinkan user untuk dapat mengakses secara realtime melalui remote server (Rolis, 2012).
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 (Atas) Dan Belakang(Bawah) Arduino ini berisi semua yang diperlukan untuk mendukung mikrokontroler, untuk mengaktifkan cukup menghubungkannya ke komputer dengan kabel USB dengan adaptor AC-DC atau baterai. Berikut adalah spesifikasi dari Arduino Uno:
a. Mikrokontroler : ATMEGA328
b. Tegangan Operasi : 5V
d. Tegangan Input (limit) : 6-20 V
e. Pin digital I/O : 14 (6 diantaranya pin PWM) f. Pin Analog input : 6
g. Arus DC per pin I/O : 40 mA h. Arus DC untuk pin 3.3 V : 150 mA
i. Flash Memory : 32 KB dengan 0.5KB digunakan untuk bootloader j. SRAM : 2 KB
k. EEPROM : 1 KB
l. Kecepatan Pewaktuan : 16 Mhz
m. Memiliki koneksi USB (menggunakan ATmega8U2 sebagai konverter USB
to Serial)
n. Komunikasi : UART TTL, I2C, SPI dan USB (Virtual Com)
o. Pemograman menggunakan Arduino Software (berbasiskan bahasa C yang telah dilengkapi dengan library yang kompatibel dengan desain hardware Arduino)
p. Pengisian kode program dapat menggunakan koneksi USB
Dilengkapi dengan pengaman arus berlebih di port USB yang berfungsi melindungi PC/komputer dari kerusakan(Arduin, 2011).
2.2.2 Xbee
Xbee merupakan perangkat yang menunjang komunikasi data tanpa kabel (wireless). Ada 2 jenis xbee yaitu :
Xbee series 1 hanya dapat digunakan untuk komunikasi point to point dan topologi star dengan jangkauan 30 meter indoor dan 100 meter outdoor.
b. 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.
Xbee series 1 maupun series 2 tersedia dalam 2 bentuk berdasarkan kekuatan transmisinya yaitu xbee reguler dan xbee-pro. Xbee reguler biasa disebut dengan xbee saja (Robosoccer, 2012). 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, 2011).
Berikut parameter untuk mengkonfigurasi modul Xbee S2 dengan mode AT.
Tabel 2.1 Parameter Xbee
Perintah Keterangan Nilai valid Nilai Default ID Id jaringan modul Xbee 0-0Xffff 3332
CH Saluran dari modul
Xbee. 0x0B-0x1A 0x0C
Sh dan SL
Nomor seri modul Xbee(SH memberikan 32bit tinggi, SL32 bit rendah). Read-only.
0-0xFFFFFFFF berbeda untuk
setiap modul
MY Alamat16-bit dari
modul. 0-0xFFFF 0
Dh dan DL
Alamat tujuan untuk komunikasi
nirkabel(DH adalah 32bit tinggi, DL32 low).
0-0xFFFFFFFF 0(untuk kedua DH dan DL) (untuk kedua
DH dan DL)
BD
baud rate yang digunakan untuk komunikasi serial dengan papan Arduino atau komputer.
0 (1200 bps)
3 (9600 baud) 1 (2400 bps)
2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps)
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, 2011).
2.2.3 Soilmoisturesensor (SEN0114)
dalam tanah, kemudian membaca resistansinya untuk mendapatkan nilai tingkat kelembaban. Semakin banyak air membuat tanah lebih mudah menghantarkan listrik (resistansi kecil), sedangkan tanah yang kering sangat sulit menghantarkan listrik (resistansi besar).
Gambar 2.6 Soil Moisture Sensor.
Sensor ini sangat membantu mengingatkan tingkat kelembaban pada tanaman atau untuk memantau kelembaban tanah untuk pertanian. IO Expansion Shield adalah shield untuk menghubungkan sensor dengan Arduino (DFrobot, 2012). Pada sensor kelembaban mempunyai 3 macam output kondisi untuk dapat mencari nilai dalam satuan %R H, yaitu kering= 0~358, lembab= 359~460 dan basah= 461~495 yang seperti ditunjukkan pada spesifikasi berikut:
a. Power supply: 3.3v or 5v b. Output voltage signal: 0~4.2v c. Current: 35mA
d. Pin definition:
1-Analog output(Blue wire). 2-GND(Blackwire). 3-Power(Redwire).
1. 0~358 : dry soil 2. 359~460 : humid soil 3. 461~495 : in water
2.2.4 DHT11 Temperatureandhumidity sensor (DFR0067)
DHT11 adalah sensor Suhu dan Kelembaban, dia memiliki output sinyal digital yang dikalibrasi dengan sensor suhu dan kelembaban yang kompleks. Teknologi ini memastikan keandalan tinggi dan sangat baik stabilitasnya dalam jangka panjang. Mikrokontroler terhubung pada kinerja tinggi sebesar 8 bit. Sensor ini termasuk elemen resistif dan perangkat pengukur suhu NTC. Memiliki kualitas yang sangat baik, respon cepat, kemampuan anti-gangguan dan keuntungan biaya tinggi kinerja.
Setiap sensor DHT11 memiliki fitur kalibrasi sangat akurat dari kelembaban ruang kalibrasi. Koefisien kalibrasi yang disimpan dalam memori program OTP, sensor internal mendeteksi sinyal dalam proses, kita harus menyebutnya koefisien kalibrasi. Sistem antarmuka tunggal-kabel serial terintegrasi untuk menjadi cepat dan mudah. Kecil ukuran, daya rendah, sinyal transmisi jarak hingga 20 meter, sehingga berbagai aplikasi dan bahkan aplikasi yang paling menuntut.
Sensor ini memiliki 4 pin baris paket tunggal (DFrobot, 2010). Sensor ini memiliki spesifikasi sebagai berikut:
a. Power supply: 5 V.
b. Rentang temperatur :0-50 ° C kesalahan ± 2 ° C.
c. Kelembaban :20-90% RH d. Toleransi ± 5% RH error. e. Interface: Digital.
2.2.5 Soil moisturemeter
merupakan suatu alat /instrument atau peralatan yang digunakan untuk mengukur jumlah kandungan air dalam satuan %RH yang terdapat pada suatu tanah. Pada tugas akhir ini soil moisture meter digunakan sebagai pembanding dan kalibrasi dengan sensor kelembaban (soil moisture), agar hasil pengukuran sensor terhadap alat ukur atau kondisi sebenarnya mendapatkan hasil yang akurat.
Gambar 2.8 Soil Moisture Meter
2.2.6 Thermometer
Gambar 2.9 Thermometer 2.3 Perangkat Lunak
2.3.1 Zigbee
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, 2010).
2.3.2 X-CTU
bisa mengupdate firmware xbee dari coodinator menjadi Router/End Device(endpoint) ataupun sebaliknya (DIGI, 2008).
2.3.3 IDE arduino
IDE Arduino adalah sebuah editor yang digunakan untuk menulis program, mengcompile ke mikrokontroler keluarga AVR. Program ini memungkinkan penggunanya memprogram AVR dengan bahasa C/C++ yang relatif lebih familiar dibandingkan bahasa pemrograman lainnya. Dalam penggunaan, arduino hanya perlu mendefinisikan dua fungsi untuk membuat program runable, yaitu:
1. Setup() : fungsi dijalankan sekali pada awal program yang dapat
menginisialisasi pengaturan.
2. Loop() : fungsi yang disebut berulang-ulang sampai mikrokontoler off. Arduino IDE menggunakan GNU tool chain dan AVR libc untuk mengcompile program-program, dan menggunakan avrdude untuk mengupload program.
2.4 Jarak Pagar (Jatropha curca L.)
subtropis. Beberapa jenis tanaman jarak yang tercatat di Indonesia diantaranya adalah jarak kaliki/kastor (Ricinus communis), jarak pagar (Jatropha curcas), jarak gurita (Jatropha multifida), dan jarak landi (Jatropha gossypifolia) tanaman jarak pagar mampu tumbuh pada tanah berpasir, bebatu, lempung atau tanah liat, sehingga jarak pagar dapat dikembangkan pada lahan kritis. Tetapi untuk menghasilkan minyak dengan hasil yang maksimal perlu pengairan atau pada ketersediaan air yang cukup (perlakuan pengairan saat ketersediaan air tanah 65%) tanaman tumbuh lebih tinggi dan kanopi lebih lebar, meningkatkan jumlah cabang dan buah, serta bobot biji sehingga pada akhirnya meningkatkan hasil jarak pagar dibanding perlakuan tanpa pengairan (Riajaya P. D. dan Kadarwati T. F., 2007).
Gambar 2.10 Tanaman Jarak Pagar.
berbentuk jantung atau bulat telur. Tulang daun menjari dengan 5-7 tulang utama. Tangkai daun panjang, sekitar 4-15 cm. Daun berupa daun tunggal, berlekuk, bersudut tiga atau lima. Panjang tangkai daun antara 4-15 cm. Bunga berwarna kuning kehijauan, berupa bunga majemuk berbentuk malai. Bunga jantan dan bunga betina tersusun dalam rangkaian berbentuk cawan, yang muncul di ujung batang atau ketiak daun.
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. Dalam perangkat keras ini, penulis akan melakukan pengujian
perangkat keras dengan program-program yang telah dibuat. Pembuatan perangkat
lunak adalah tahapan selanjutnya. Terakhir adalah perakitan perangkat keras
dengan kerja perangkat lunak yang telah selesai dibuat.
Gambar 3.1 Blok Diagram Sebuah Sistem WSN untuk Monitoring Suhu dan
Kelembaban Tanah pada Lahan Tanaman Jarak.
Pada bab ini dibahas mengenai masalah yang timbul dalam perencanaan dan
kedua bagian tersebut akan dipadukan / diintegrasikan agar dapat bekerja sama
menjalankan sistem dengan baik.
Dalam perancangan sistem wireless sensor network untuk monitoring suhu
dan kelembaban tanah pada lahan tanaman jarak, digunakan blok diagram seperti
dalam Gambar 3.1.
Pada tugas akhir ini hanya dibahas sampai dengan coodinator (bagian kiri)
pada Gambar 3.1 yaitu:
1 Endpoint1 yang terdiri dari sensor suhu1 dan sensor kelembaban1 yang
terhubung dengan kabel serta arduino dan xbee yang terhubung dengan
shield xbee.
2 Endpoint2 yang terdiri dari sensor suhu2 dan sensor kelembaban2 yang
terhubung dengan kabel serta arduino dan xbee yang terhubung dengan
shield xbee.
3 Coodinator yang terdiri dari arduino dan xbee yang terhubung dengan
shield xbee.
3.1 Perancangan Perangkat Keras
3.1.1 Koneksi sensor pada arduino sebagai endpoint
Pada perancangan ini membahas tentang koneksi sensor dengan arduino
yang menggunakan kabel sebagai media penghubungnya, dan untuk program pada
arduino dapat dilihat pada lampiran. Sensor yang digunakan adalah sensor DHT11
sebagai sensor suhu dan soil moisture adalah sebagai sensor kelembaban tanah,
sebelum sensor dihubungkan dengan arduino harus menentukan pin dengan benar
input /output pada arduino ada dua tipe yaitu, digital dan analog. Dengan melihat
data sheet masing-masing sensor, sensor DHT11 memiliki output digital
sedangkan sensor moisture analog.
Pada Gambar 3.2 ditunjukkan dua buah sensor yang terhubung dengan
arduino yaitu sensor DHT11 dan sensor moisture, dengan ketentuan:
1. Pin out vcc pada sensor DHT11 dengan pin out 5v pada arduino.
2. Pin out data pada sensor DHT11 dengan pin in digital 2 pada arduino.
3. Pin out gnd pada sensor DHT11 dengan pin in gnd pada arduino.
4. Pin out vcc pada sensor moisture dengan pin out 3.3v pada arduino.
5. Pin out data pada sensor moisture dengan pin in analog 3 pada arduino.
6. Pin out gnd pada sensor moisture dengan pin in gnd pada arduino.
Gambar 3.2 Sensor yang Terhubung dengan Arduino.
3.2 Perancangan Perangkat Lunak
Selain perancangan hardware yang diperlukan pada perancangan sistem
wirelesssensornetwork untuk monitoring suhu dan kelembaban tanah pada lahan
tanaman jarak meliputi algoritma dan program pada IDE arduino beserta
3.2.1 Program xbee sebagai endpoint dan coodinator
Sebelum menetukan program masing-masing xbee harus menetukan toplogy
jaringannya, sehingga lebih mudah untuk proses konfigurasi xbee pada peranan
masing-masing dalam protokol komunikasi atau pengalamatan yang ditujukan.
Untuk pilihan topology menggunakan topology tree, karena dibutuhkan untuk
komunikasi point to point dan point to multipoint.
Gambar 3.3 Diagram WSN.
Pada Gambar 3.3 ditunjukan sebuah simbol panah dua arah, maksudnya
nodeendpoint1 maupun nodeendpoint2 dapat menerima dan mengirim data tetapi
hanya komunikasi point to point. Sedangkan pada node coodinator dapat
menerima sekaligus mengirim data dan berkomunikasi point to multipoint pada
node yang terhubung langsung yang disebut dengan broadcast. Untuk komunikasi
antara node coodinator dengan node router user, node coodinator dapat
mengirim data dan tidak dapat menerima data dari node endpoint user. Begitu
juga untuk noderouter user tidak dapat mengirim data pada nodecoodinator dan
hanya dapat menerima data dari nodecoodinator saja. Dan untuk konfigurasi xbee
dapat dilihat pada lampiran.
3.2.2 Program arduino sebagai endpoint 1 dan endpoint 2
Pada program arduino sebagai endpoint1 maupun endpoint2, maka dapat
1. Flowchartendpoint1, pada label inisialisasi berisikan:
unsigned long soil, data_out, suhu, data_in, cek=11, error;
2. Flowchartendpoint2 pada label inisialisasi berisikan:
unsigned long soil, data_out, suhu, data_in, cek=22, error;
Gambar 3.5 FlowchartEndpoint2.
a. Inisialisasi.
Pada dasarnya alur dari endpoint1 dengan endpoint2 sama hanya
terdapat perbedaan kode id endpoint masing-masing dan logika program
penerimaan masing-masing. Maka dalam pemrograman endpoint1 ini diberi
kode id 11 sedangkan endpoint2 adalah 22. Pada pemrograman ini
diasumsikan pada endpoint1 yaitu dimulai dari pembacaan sensor DHT11
dan sensor moisture, lalu data dari setiap sensor disimpan didalam variable
masing-masing yaitu variabel suhu untuk output data dari sensor DHT11
dan variabel soil untuk output data dari sensor moisture. Selanjutnya
dilakukan pengecekan status dari sensor DHT11 apakah sensor tidak ada
error misalnya ada kabel yang tidak terhubung dengan baik. Apabila sensor
tersebut terdapat error maka sensor akan memberikan informasi bahwa
error=1, sedangkan jika tidak terdapat error maka error=0. Pada program
ditulis sepert ini:
int chk = DHT11.read(2); switch (chk)
{
case 0: error=0; break; case -1: error=1; break; case -2: error=1; break; default: error=1; break; }
Kemudian pembacaan sensor dari sensor moisture dan hasil output
sensor disimpan ke dalam variabel soil, supaya nilai dari soil menjadi
satuan %RH dan terkalibrasi dengan alat ukur yang ditetapkan. Pada sensor
moisture ini memiliki rumus 3 macam kondisi, yaitu kering, lembab dan
basah. Begitu juga pada alat ukur kelembaban tanah juga menunjukkan 3
menunjukkan nilai 0-30%RH, kemudian pada kondisi lembab menunjukkan
nilai 31-79%RH dan pada kondisi basah menunjukkan 80-100%RH.
Sedangkan pada sensor kondisi kering menunjukkan 0-358, lembab 359-460
dan basah 461-495. Dari data yang diperoleh. maka dapat menggunakan
rumus perbagian untuk mencari nilai kelembaban 1%RH pada output dari
sensor.
1%RH= (3.1)
Misalnya:
1. Kondisi kering
1%RH= 1%RH=11.93 (3.2)
Maka untuk dapat persentase kelembaban yang terukur oleh sensor pada
kondisi kering adalah sebagai berikut:
Kelembaban(%RH)=
. (3.3)
2. Kondisi lembab
1%RH== 1%RH=2.10 (3.4)
Maka untuk dapat persentase kelembaban yang terukur oleh sensor pada
kondisi lembab adalah sebagai berikut:
Kelembaban(%RH)=
. (3.5)
3. Kondisi basah
1%RH== 1%RH=1.7 (3.6)
Maka untuk dapat persentase kelembaban yang terukur oleh sensor pada
kondisi basah adalah sebagai berikut:
Kelembaban(%RH)=
Secara keseluruhan karakteristik persentase kelembaban terhadap
pengukuran sensor berdasarkan persamaan 3.3, 3.5 dan 3.7 ditunjukkan
[image:32.612.100.511.152.651.2]dengan grafik seperti pada Gambar 3.6.
Gambar 3.6 Grafik Karakteristik Sensor Kelembaban
Untuk potongan source code pada endpoint1/endpoint2, mulai dari
pembacaan nilai dari sensor sampai dengan perhitungan untuk kalibrasi
dengan alat ukur kelembaban yang sudah ditentukan yaitu:
unsigned long soilm=(analogRead(3)); if(soilm>=0 && soilm<=358)
{
soil=soilm/11.93;}
else if(soilm>=359 && soilm<=460) {
soil=(soilm-359)/2.10; soil=soil+31;
}
else if(soilm>=461) {
soil=(soilm-461)/1.7; soil=soil+80;
}
Karena sensor moisture adalah sensor analog maka kemungkinan data
terjadi demikian dibuat sebagai antipasipasi jika muncul nilai >100 maka
nilai harus muncul 100. Kemudian lanjut ke proses pembacaan sensor
DHT11, akan tetapi sebelum itu harus melihat nilai error dari pengecekan
sensor pada awal program. Apabila nilai error==0 maka proses pembacaan
dimulai, sedangkan nilai error==1 maka nilai suhu=0. Untuk potongan
sourcecode seperti dibawah ini:
if (error==0) {
suhu=(unsigned long)DHT11.temperature, 2; suhu=suhu*1000;
} else {
suhu=0; }
Gambar 3.7 Output Sensor Suhu Saat Terdapat Error.
b. Pengiriman data.
Dalam suatu jaringan selalu memiliki perbedaan id node
masing-masing. Selanjutnya nilai dari id digabungkan/encapsulasi dengan nilai-nilai
sensor masing-masing. Misanya pada endpoint1 nilai suhu=23 dan
kelembaban=100 maka data yang akan dikirimkan kepada node yang dituju
(coodinator) adalah 1123100, data ini berasal dari nilai id dikalikan
1100000 kemudian dijumlahkan dengan nilai dari suhu dikalikan 1000 dan
[image:33.612.101.513.234.509.2]Gambar 3.8 Contoh Endpoint Menunjukkan Validasi.
c. Validasi data.
Setelah data dikirimkan ke coodinator, endpoint1 menunggu selama
60 detik untuk menunggu kabar dari coodinator. Apabila coodinator tidak
mengirim data ke endpoint1 selama proses menunggu selesai endpoint akan
membaca data dari sensor kembali, tetapi apabila coodinator mengirim data
kembali ke endpoint1 berarti terjadi perubahan data. Maksudnya perubahan
data yaitu data yang diterima oleh coordinator berbeda dengan data yang
sebelumnya(contohnya pada Gambar 3.8 data yang diterima oleh
coordinator adalah 1131071 selanjutnya coordinator menerima data
1131072). Data yang telah dikirimkan ke endpoint1 akan dicek lagi oleh
endpoint1 apakah data benar atau sama dengan nilai data terakhir yang telah
dikirimkan ke coodinator dari node endpoint. Apabila data sama, maka
endpoint1 akan mengirim kode(konfirmasi) id saja ke coodinator yang
seperti ditunjukkan Gambar 3.8.
Pada Gambar 3.9 menjelaskan keseluruhan proses pengiriman data atau
protokol komunikasi, dimulai dari pembacaan sensor kemudian digabung
Gambar 3.9 Proses Pengiriman Data
3.2.3 Program arduino sebagai coodinator
Coodinator sebenarnya hanya sebagai pengantar data ke alamat yang dituju,
tetapi disini coodinator pengiriman bersifat broadcast sehingga data sebenarnya
dikirim ke semua node yang terhubung langsung. Tetapi node yang menerima
data dari coodinator mengerti apakah data itu untuk node tersebut, jadi
kesimpulannya coodinator mengirim data secara broadcast tetapi data yang
terkirim selalu diterima pada node yang ditujukan. Untuk alur program pada
coodinator dapat dilihat flowchart dalam Gambar 3.10, pada bagian inisialisasi
berisikan:
Gambar 3.10 FlowchartCoodinator.
Program arduino sebagai coodinator dimulai dari menerima data awal dari
[image:36.612.102.511.72.627.2]data dengan mengirim ke endpoint user, tetapi sebelum mengirim data tersebut
coodinator menambahkan id dari data tersebut. Misalnya data yang diterima
adalah 1123100, berarti data tersebut dari endpoint1 karena digit awal adalah 11
sebagai id dari endpoint1. Berikut potongan source code pada penerimaan data
dari endpoint1 :
if(data_masuk>0) {
if(data_masuk<2000000 && data_masuk>1000000 || data_masuk==11)//masuk dari data node1
{
if(data_lama1==0) {
data_lama1=data_masuk;
Serial.println(data_lama1 + 10000000); }
else if(data_masuk==11 && data_lama1!=0) {
Serial.println(data_cek1+10000000); }
else if(data_masuk==data_lama1 || data_masuk==data_cek1)
{
Serial.println(data_lama1 + 10000000); } else if(data_masuk!=data_lama1) { data_cek1=data_masuk; data_lama1=data_cek1; Serial.println(data_cek1); } }
Kemudian coodinator merubah id tersebut sebagai penandaan bahwa data
ini sudah di koreksi coodinator dan dikirim ke router user menjadi 111xxxxx,
yang berasal dari data yang diterima di tambah dengan nilai 10000000. Maka data
Gambar 3.11 Contoh Data yang Sudah di Cek oleh Coodinator.
Selanjutnya apabila sudah terdapat nilai awal yang tersimpan pada variabel
data_lama, maka coodinator pada proses selanjutnya yaitu menerima data lagi
dari endpoint1 ataupun endpoint2. Pada saat menerima data coodinator akan
memilah-milah data misalnya data yang diterima <2000000 dan data yang
diterima >1000000 , maka coodinator akan memproses bahwa data ini dari
endpoint1. Pada Gambar 3.11 terlihat bahwa coodinator mengirim data 11123100,
data ini berasal dari endpoint1 dengan data 1123100 saat coodinator
menerimanya. Saat pertama kali menerima coodinator akan langsung mengirim
ke routeruser karena masih belum ada nilai sebelumnya yang akan dibandingkan
dan merubah id terlebih dahulu. Selanjutnya coodinator mengirimkan data yang
sama pada router user karena coodinator menerima data yang sama dari
endpoint1 yaitu 1123100. Tetapi pada saat coordinator menerima data 1123090,
maka coodinator mengirim dengan nilai 1123090 ke endpoint1 karena terdapat
perbedaan data dari data sebelumnya saat coodinator menerima data ke endpoint1.
Dan apabila coodinator menerima data dengan nilai 11 maka coodinator akan
mengirim data yang sebelumnya sudah dikirim ke endpoint1, tetapi coodinator
yaitu menjadi 11123090 (8digit). Proses ini tidak ada perbedaan saat menerima
data dari endpoint1.
3.3 Perakitan
Setelah melakukan percobaan koneksi sensor dengan arduino serta
mengkonfigurasi xbee untuk peranan/ parameter masing-masing yang dibutuhkan
pada setiap node yaitu endpoint1, endpoint2 dan coodinator. Saatnya
menggabungkan antara perangkat keras dengan perangkat lunak yaitu xbee yang
sudah dikonfigurasi dan arduino dengan program endpoint1/endpoint2/coodinator
[image:39.612.98.514.285.537.2]beserta sensor-sensor yang sudah terhubung sehingga menjadi terlihat dalam
Gambar 3.12.
PENGUJIAN SISTEM
Pengujian sistem yang dilakukan penulis merupakan pengujian terhadap
perangkat keras dan perangkat lunak secara keseluruhan dan digunakan untuk
mengetahui apakah sistem dapat berjalan sesuai yang diharapkan. Sistem yang
diuji tersebut antara lain:
4.1 Pengujian Output Sensor Suhu
4.1.1 Tujuan
Pengujian sensor suhu dilakukan untuk mengetahui informasi suhu
sebenarnya yang terdiri dari dua node pada tempat atau kondisi yang sama pada
saat pengukuran. Data yang dihasilkan oleh sensor diolah oleh arduino supaya
dapat menghasilkan nilai suhu yang sebenarnya.
4.1.2 Alat yang digunakan
Peralatan yang dibutuhkan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino.
2. Sensor suhu /DHT11.
3. Kabel USB printer.
4. Komputer.
4.1.3 Prosedur pengujian
1. Hubungkan sensor suhu pada arduino dengan kabel pada pin yang
ditentukan.
2. Hubungkan arduino dengan komputer menggunakan kabel USB.
3. Selanjutnya aktifkan komputer dan jalankan program Arduino.
4. Upload program yang digunakan untuk membaca output sensor suhu.
5. Buka serial monitor untuk melihat output dari sensor tersebut.
6. Amati dan bandingkan output sensor dengan thermometer.
4.1.4 Hasil pengujian
Pada pengujian sensor suhu dengan alat ukur yaitu thermometer, sensor
suhu DHT11 akan memulai membaca suhu saat arduino dinyalakan. Pengujian
[image:41.612.100.512.284.615.2]dapat dilakukan seperti pada Gambar 4.1.
Gambar 4.1 Node yang Sudah Diaplikasikan pada Tanaman Jarak.
Melalui hasil percobaan sensor suhu setelah melalui fungsi ini, program
void loop() {
int chk = DHT11.read(2); switch (chk)
{
case 0: error=0; break; case -1: error=1; break; case -2: error=1; break; default: error=1; break; }
suhu=(unsigned long)DHT11.temperature, 2; Serial.println(suhu);
[image:42.612.100.502.90.593.2]}
Gambar 4.2 Pengertian Data yang Dikirim dari Suatu Node.
Setelah arduino dijalankan akan muncul tampilan seperti Gambar 4.3. Pada
tampilan tersebut memiliki arti seperti pada Gambar 4.2, yaitu warna biru adalah
id dari node sedangkan nilai sensor suhu ditunjukan angka pada kolom yang
berwarna kuning dan kolom merah adalah nilai sensor kelembaban.
Gambar 4.3 Hasil Data dari End Point1 dan End Point2.
Pada pengujian ini saat pembacaan sensor, sensor akan membaca ulang
dengan delay satu menit. Hal ini disebabkan perubahan suhu membutuhkan proses
Hasil pada sensor dan thermometer dapat dilihat pada Tabel berikut:
Tabel 4.1 Hasil Pengamatan Sensor Suhu dengan Thermometer.
No Sensor
Node 1 Sensor Node 2 alat Ukur Selisih Sensor dengan Alat Ukur Node 1 Node 2
1 32 30 30 2 0
2 31 30 30 1 0
3 31 30 30 1 0
4 31 30 30 1 0
5 31 30 30 1 0
6 31 30 30 1 0
7 31 30 30 1 0
8 31 30 30 1 0
9 31 30 30 1 0
10 31 30 30 1 0
11 31 30 30 1 0
12 31 30 30 1 0
13 32 30 30 2 0
14 32 30 30 2 0
15 32 30 31 1 1
16 32 30 31 1 1
17 32 30 30 2 0
18 32 30 30 2 0
19 32 30 31 1 1
20 32 30 31 1 1
21 31 30 30 1 0
22 31 30 30 1 0
23 31 30 30 1 0
24 31 30 30 1 0
25 31 30 30 1 0
26 31 30 30 1 0
27 31 30 30 1 0
28 31 30 30 1 0
29 31 30 30 1 0
Dari hasil Tabel 4.1 bahwa pengukuran sensor suhu yaitu DHT11, mampu
bekerja dengan baik. Tingkat persentase error dari sensor suhu tersebut adalah
3.87% pada node1 sedangkan 0.43% pada node2, hasil perhitungan tersebut
didapat dari rata-rata jumlah error pada masing-masing node. Menurut data sheet
sensor DHT11 memiliki rentang temperatur : 0-50 ° C kesalahan ± 2 ° C,
[image:44.612.99.514.231.502.2]sehingga hasil dari pengukuran masih dalam toleransi.
Gambar 4.4 Alat Pengukur Suhu / Thermometer.
4.2 Pengujian Output Sensor Kelembaban
4.2.1 Tujuan
Pengujian sensor kelembaban dilakukan untuk mengetahui informasi kadar
air tanah sebenarnya pada tempat lokasi yang diukur.
4.2.2 Alat yang digunakan
Peralatan yang dibutuhkan dalam pengujian ini adalah sebagai berikut:
1. Arduino.
2. Sensor kelembaban / SEN0114.
3. Kabel USB printer.
4. Komputer.
4.2.3 Prosedur pengujian
Langkah-langkah untuk melakukan pengujian sensor kelembaban adalah
sebagai berikut :
1. Hubungkan sensor kelembaban pada arduino dengan kabel pada pin yang
ditentukan.
2. Hubungkan arduino dengan komputer menggunakan kabel USB.
3. Selanjutnya aktifkan komputer dan jalankan program Arduino.
4. Upload program yang digunkan untuk membaca output sensor kelembaban.
5. Buka serial monitor untuk melihat output dari sensor tersebut.
6. Kemudian tunggu kurang lebih 1 menit untuk menstabilkan output sensor
tersebut.
7. Amati dan bandingkan output sensor dengan moisture meter.
4.2.4 Hasil pengujian
Pada pengujian sensor suhu dengan alat ukur yaitu moisture meter, sensor
kelembaban yaitu SEN0114 akan memulai membaca kelembaban tanah saat
arduino terhubung dengan komputer/catu daya. Pengujian dapat dilakukan seperti
[image:45.612.188.454.573.681.2]pada Gambar 4.5.
Hasil percobaan sensor suhu setelah melalui fungsi ini, dengan cuplikan
program :
unsigned long soilm=(analogRead(3));
if(soilm>=0 && soilm<=358) {
soil=soilm/11.93; }
else if(soilm>=359 && soilm<=460) {
soil=(soilm-359)/2.10; soil=soil+30;
}
else if(soilm>=461) {
soil=(soilm-461)/1.7; soil=soil+79;
[image:46.612.102.507.147.506.2]}
Gambar 4.6 Moisture Meter.
Pada pengujian ini saat pembacaan sensor, sensor akan membaca ulang
dengan delay 1menit. Karena sensor SEN0114 mempunyai output analog,
sehingga dibutuhkan sekitar 1 menit untuk mendapatkan nilai output yang stabil.
Kemudian pada saat melihat hasil output sensor, bandingkan dengan moisture
meter.
Hasil pada sensor dan moisture meter dapat dilihat pada Tabel 4.2 sebagai
Tabel 4.2 Hasil Pengamatan Sensor Kelembaban dengan Moisture Meter.
No Sensor
Node 1 Sensor Node 2 alat Ukur Selisih Sensor dengan Alat Ukur Node 1 Node 2
1 27 27 28 1 1
2 27 27 27 0 0
3 27 27 25 2 2
4 27 27 24 3 3
5 26 28 23 3 5
6 26 28 22 4 6
7 27 28 24 3 4
8 27 28 25 2 3
9 27 28 25 2 3
10 28 28 26 2 2
11 47 48 46 1 2
12 45 46 47 2 1
13 47 47 49 2 2
14 49 48 49 0 1
15 50 48 49 1 1
16 50 48 50 0 2
17 51 48 50 1 2
18 52 48 50 2 2
19 52 48 50 2 2
20 53 49 50 3 1
21 100 100 100 0 0
22 100 100 100 0 0
23 100 100 100 0 0
24 100 100 100 0 0
25 100 100 100 0 0
26 100 100 100 0 0
27 100 100 100 0 0
28 100 100 100 0 0
29 100 100 100 0 0
30 100 100 100 0 0
Dengan melihat Tabel 4.2 maka dapat diketahui bahwa tingkat persentase
error dari sensor kelembaban tersebut adalah 4% pada node1 sedangkan 5.14%
masing-masing node. Dengan melihat nilai error, dapat diambil kesimpulan
bahwa nilai error tidak terlalu besar.
4.3 Pengujian Protokol Komunikasi
4.3.1 Tujuan
Pengujian protokol konunikasi bertujuan untuk mengetahui apakah
pengiriman data dari setiap node ke node yang dituju benar dan menunjukkan
validasi data apabila ada perubahan data dari end point1.
4.3.2 Alat yang digunakan
Peralatan yang digunakan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino dan xbee s2 beserta shield.
2. Sensor DHT11 dan sensor kelembaban (hanya digunakan pada node end
point1 dan end point2).
3. Komputer.
4. Program Arduino.
5. Kabel USB printer.
4.3.3 Prosedur pengujian
1. Hubungkan setiap node pada PC dengan kabel USB.
2. Selanjutnya aktifkan PC dan jalankan program Arduino.
3. Upload program masing yang digunakan pada node yang sudah ditentukan.
5. Amati dan bandingkan output masing-masing.
4.3.4 Hasil pengujian
Dari percobaan ini apabila upload program berhasil dikerjakan maka
program yang sudah diupload di arduino sudah berjalan. Kemudian akan muncul
[image:49.612.103.513.238.503.2]tampilan pengiriman data masing-masing dari node seperti pada Gambar 4.7:
Gambar 4.7 Hasil Pengiriman dan Penerimaan Data antar End Point dengan
Coodinator.
Proses awal dimulai dari masing-masing sensor yang mengirimkan output
menuju end point, kemudian end point menambahkan angka yang berfungsi
sebagai id(data) di masing-masing end point dan menggabungkan kedua data
tersebut yaitu data suhu dan kelembaban. Setelah proses pemberian id dan
penggabungan data maka end point mengirimkan data tersebut ke coodinator,
dimana pada node coodinator ini terdapat dua proses yang sebelumnya melakukan
Gambar 4.8 Diagram WSN Monitoring Tanaman Jarak.
Proses pertama adalah saat coodinator belum mempunyai data awal, yang
dimaksud data awal adalah data yang pertama kali diterima oleh coodinator dari
setiap endpoint. Sehingga apabila coodinator baru pertama kali menerima data,
maka coodinator langsung mengirimkan data tersebut ke router user.
Sedangkan proses kedua adalah apabila coodinator sudah memiliki nilai
awal, maka coodinator akan mengirim balik ke endpoint untuk mengecek data
karena ada perubahan data dari yang sebelumnya. Kemudian pada endpoint
tersebut akan membandingkan data yang dikirim oleh coodinator dengan data
yang diterima oleh coodinator. Apabila data yang dibandingkan oleh endpoint
tersebut tidak sama maka endpoint tidak akan memprosesnya, tetapi apabila data
tersebut sama maka endpoint tersebut mengirimkan data dua digit awal dari data
tersebut saja. Selanjutnya apabila coodinator menerima data dua digit saja(id)
maka coodinator baru mengirimkan data yang diterima sebelumnya ke router
user. Proses kedua ini akan terjadi apabila direset pada bagian arduino
Pada Gambar 4.7 menampilkan pengiriman data dari setiap node kepada
node yang dituju (node endpoint kepada coodinator / coodinator kepada
endpoint). Misalnya data dari endpoint2(node2) mengirimkan data 2231081 yang
berarti data dari node2 mempunyai nilai suhu 31°C dan nilai kelembaban 81%RH
kepada coodinator. Kemudian coodinator menerima data 2231081 karena
coodinator hanya menerima data dari node2 dengan range >2000000 dan
<3000000, dengan cuplikan program seperti ini:
else if (data_masuk>2000000 && data_masuk<3000000 || data_masuk==22)
{
if(data_lama2==0) {
data_lama2=data_masuk;
Serial.println(data_lama2 + 20000000); }
else if(data_masuk==22 && data_lama2!=0) {
Serial.println(data_cek2+20000000); }
else if(data_masuk==data_lama2 || data_masuk==data_cek2)
{
Serial.println(data_lama2 + 20000000); } else if(data_masuk!=data_lama2) { data_cek2=data_masuk; data_lama2=data_cek2; Serial.println(data_cek2); }
Pada proses ini tidak jauh beda dengan proses pengiriman node1 dan
penerimaan oleh coodinator. Hanya terdapat perbedaan apabila node2 mempunyai
awalan data 22 sedangkan dari node1 adalah 11, serta coodinator menandai
Pengiriman data dari node2 ke coodinator, akan selalu terdapat perbedaan
data. Misalnya node2 mengirimkan data 2231081 tetapi data selanjutnya adalah
2231100, apabila terjadi seperti ini coodinator akan mengrim balik kepada node2
untuk diperiksa apakah data yang dikirim oleh node2 adalah 2231100. Kemudian
saat node2 menerima data 2231100 maka data tersebut dicocokkan dengan data
node2 yang telah dikirimkan sebelumnya dengan cuplikan program seperti ini :
if (Serial.available()) {
data_in=Serial.parseInt();
if(data_in>2000000 && data_in<3000000) {
if(data_out==data_in) {
Serial.print(cek);//cek =22 }
}
Apabila pemeriksaan data tersebut tidak sama dengan data sebelumnya
maka node2 tidak akan memprosesnya tetapi melakukan proses pembacaan sensor
dari awal dengan syarat proses menunggu data dari coordinator selesai.
Sedangkan apabila pemeriksaan data tersebut sama maka node2 akan mengirim
data 2 digit pertama dari data yang dikirimkan kepada coodinator, saat coodinator
menerima data 22 maka coodinator akan mengirimkan data ke node
[image:52.612.240.416.546.669.2]selanjutnya(router user).
Proses ini tidak hanya terjadi pada node2 ke coodinator tetapi juga node1
kepada coodinator. Dan hasil pengujian dalam Gambar 4.7 dapat ditunjukkan
[image:53.612.101.515.178.543.2]dalam Tabel 4.3.
Tabel 4.3 Hasil Proses Protokol Komunikasi WSN.
No Endpoint Coodinator Keterangan
Terima Kirim Terima Kirim E1 Co E2 Co Co E1 Co E2 Co Ru 1 2231100 2231100 22231100 Tidak Ya Tidak Tidak Ya
2 1131058 1131058 11131058 Ya Tidak Tidak Tidak Ya 3 2231081 2231081 2231081 Tidak Ya Tidak Ya Tidak
4 2231081 22 22 22231081 Tidak Ya Tidak Tidak Ya 5 1131025 1131025 1131025 Ya Tidak Ya Tidak Tidak
6 1131025 11 11 11131025 Ya Tidak Tidak Tidak Ya 7 2231009 2231009 2231009 Tidak Ya Tidak Ya Tidak
8 2231009 22 22 22231009 Tidak Ya Tidak Tidak Ya 9 1131033 1131033 1131033 Ya Tidak Ya Tidak Tidak
10 1131033 11 11 11131033 Ya Tidak Tidak Tidak Ya 11 2231082 2231082 2231082 Tidak Ya Tidak Ya Tidak
12 2231082 22 22 22231009 Tidak Ya Tidak Tidak Ya 13 1131025 1131025 1131025 Ya Tidak Ya Tidak Tidak
14 2231100 2231100 2231100 Tidak Ya Tidak Ya Tidak 15 1131025 11 11 11131025 Ya Tidak Tidak Tidak Ya
16 2231100 22 22 22231100 Tidak Ya Tidak Tidak Ya 17 1131033 1131033 1131033 Ya Tidak Ya Tidak Tidak
18 1131033 11 11 11131033 Ya Tidak Tidak Tidak Ya
Keterangan:
1. E1 Co = endpoint1 mengirim data ke coordinator
2. E2 Co = endpoint2 mengirim data ke coordinator
3. Co E2 = coordinator mengirim data ke endpoint2
4. Co Ru = coordinator mengirim data ke endpoint1
Pada proses pengiriman data dari node ke node pasti akan terjadi data crash
atau terdapat data yang bertabrakan, misalnya dalam pengujian ini dalam Tabel
4.3 nomor 13. Proses dimulai dari endpoint1mengirimkan data 1131025,
kemudian diterima oleh coodinator dengan data 1131025. Lalu coodinator
proses yang benar seharusnya coodinator menenrima kode 11 tetapi menerima
2231100. Proses ini terjadi karena data yang diterima coodinator dari endpoint1
dengan endpoint2 bertabrakan tetapi coodinator akan memproses data yang paling
awal diterima terlebih dahulu dan selanjutnya.
4.4 Pengujian Jarak jangkau Kemampuan Pengiriman Data Xbee S2
4.4.1 Tujuan
Pada pengujian ini bertujuan untuk mengetahui kemampuan jangkauan area
Xbee S2 dalam melakukan pengiriman/penerimaan data pada Xbee S2.
4.4.2 Alat yang digunakan
Peralatan yang digunakan pada setiap node dalam pengujian ini adalah
sebagai berikut:
1. Arduino dan Xbee S2 beserta shield.
2. Sensor suhu dan kelembaban(pada node endpoint).
3. Kabel USB printer.
4. Komputer(pada node coodinator).
5. Baterai 9v(pada node endpoint).
4.4.3 Prosedur pengujian
1. Hubungkan node sebagai coodinator pada komputer dengan kabel usb.
2. Selanjutnya aktifkan komputer dan jalankan program Arduino.
3. Upload program sebagai coodinator yang digunakan pada node coodinator.
5. upload program untuk endpoint1 dan endpoint2 seperti pada saat upload
program coodinator.
6. Ukur jarak antar Xbee, dan carilah jangkauan penerimaan maksimal.
4.4.4 Hasil pengujian
Dari prosedur pengujian komunikasi data pada Xbee yang telah dilakukan di
[image:55.612.100.512.293.546.2]luar ruangan (Outdoor Area) didapatkan hasil pengamatan sebagai berikut :
Tabel 4.4 Hasil Pengamatan Komunikasi Data pada 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
Pada kondisi outdoor dengan jarak 1-100meter pada antar node dapat
berkomunikasi dengan baik, tetapi pada jarak 101meter tidak dapat
berkomunikasi. Artinya komunikasi antar node tersebut terputus, sehingga tidak
dapat menerima data dari node yang mengirimkan data pada node tersebut.
Dengan demikian hasil yang didapat sama dengan spesifikasi pada data sheet
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
1. Berdasarkan hasil pengujian terhadap pembacaan sensor yang telah
dilakukan dalam pembuatan alat monitoring lahan tanaman jarak berbasis
WSN dapat ditarik kesimpulan sebagai berikut:
a. Rata-rata persentase error sensor suhu pada node1 adalah 0.43% dan
pada node2 adalah 3.87%.
b. Rata-rata persentase error sensor kelembaban pada node1 adalah 4% dan
pada node2 adalah 5.14%.
2. Berdasarkan pengujian terhadap protokol komunikasi WSN, pengiriman dan
penerimaan data pada protokol komunikasi sesuai dengan alamat node yang
dituju.
3. Berdasarkan pengujian terhadap sistem dapat ditarik kesimpulan sebagai
berikut:
a. Sistem mampu menunjukkan validasi data jika terdapat perubahan data
dari data sebelumnya.
b. Sistem mampu menunjukkan pemberitahuan terhadap kondisi sensor
4. Berdasarkan hasil pengujian terhadap jarak jangkau pengiriman data xbee
series 2 dapat ditarik kesimpulan, bahwa jarak maksimal pengiriman data
adalah 100meter.
5.2 Saran
Sebagai pengembangan dari penelitian yang telah dilakukan, penulis
memberikan saran sebagai berikut:
1. Perancangan ini merupakan sebuah prototype, sehingga diharapkan dapat
diimplementasikan pada kondisi yang real yaitu diterapkan langsung pada
lahan tanaman jarak yang sesungguhnya.
2. Menambah jumlah sensor dari setiap node, sehingga mendapatkan hasil
Alim, T. (2012, Oktober 1). Jarak pagar (Jatropha curca L.) dan Klasifikasinya. http://www.biologi-sel.com/2013_10_01_archive.html diakses 10 April 2013.
Arduino. (2011). Arduino XBee Shield.
http://arduino.cc/en/Guide/ArduinoXbeeShield diakses 11 mei 2013.
Daniel, W. (2013, maret 04). Harga Minyak RI Naik Jadi US$ 114,86/Barel di Februari.
http://finance.detik.com/read/2013/03/04/180625/2185426/1034/harga-minyak-ri-naik-jadi-us--11486-barel-di-februari diakses 23 Maret 2013.
DFrobot. (2010, july 30). DHT11 Temperature & Humidity Sensor.
http://www.dfrobot.com/wiki/index.php/DHT11_Temperature_and_Humidi ty_Sensor_(SKU:_DFR0067) diakses 20 Maret 2013.
DFrobot. (2012, January 1). Moisture Sensor (SKU:SEN0114).
http://www.dfrobot.com/wiki/index.php/Moisture_Sensor_(SKU:SEN0114) diakses 20 Maret 2013.
DIGI. (2008, Agustus 20). X-CTU Software. Retrieved November 16, 2013, http://www.digi.com/support/productdetail?pid=3352&osvid=57&type=utili ties diakses 11 mei 2013.
Faludi, R. (2010). Building Wireless Sensor Networks. In R. Faludi, Building Wireless Sensor Networks. United States of America: O’Reilly Media, Inc.
Riajaya P. D. dan Kadarwati F. T. (2007). Keragaan Produksi Biji Jarak Pagar pada Berbagai Ketersediaan Air Tanah , hlm 141.
Robosoccer. (2012, November 21). Konfigurasi Xbee Point to Multipoint. http://robotsoccer.wordpress.com/2012/11/21/konfigurasi-xbee-point-to-multipoint/ diakses 26 Mei 2013.