RANCANG BANGUN SISTEM PEMANTAUAN KUALITAS
UDARA MENGGUNAKAN WIRELESS SENSOR NETWORKS
DENGAN TOPOLOGI CLUSTER
TUGAS AKHIR
Program Studi S1 Sistem Komputer
Oleh :
Dyah Lestari Saraswati 11.41020.0001
FAKULTAS TEKNOLOGI DAN INFORMATIKA
1
1.1 LatarBBelakangBMasalahB
Pencemaran udara dapat mempengaruhi kesejahteraan manusia, baik secara
langsung ataupun secara tidak langsung. Pengaruh pencemaran udara secara langsung
dapat berupa penyakit dan kematian, sedangkan pengaruhnya secara tidak langsung
adalah terganggunya berbagai sumberdaya alam yang penting untuk kehidupan dan
kesejahteraan manusia (Dahlan,1989).
Karena pencemaran udara tersebut memiliki dampak yang buruk, maka
perlu dilakukan pemantauan secara terus menerus terhadap kualitas udara. Pada tahun
1999-2000, melalui Kementrian Negara Lingkungan Hidup pemerintah telah
menetapkan dilaksanakannya proyek pemantauan kualitas udara di Indonesia dengan
nama National Air Quality Monitoring Network System (AQMS) di sepuluh kota
besar Indonesia. Proyek ini terlaksana atas pinjaman dana yang berasal dari
pemerintah Austria. Akan tetapi pada tahun 2010 dilaporkan bahwa
perangkat-perangkat yang berada di 33 titik di seluruh Indonesia tersebut sudah tidak dapat
berfungsi dengan baik karena permasalahan pemeliharaan dan juga umur hidup
perangkat sudah terlewati (CAI-Asia, 2010).
Pada penelitian sebelumnya telah dilakukan pembuatan alat pendeteksi gas
CO, CO2 dan SO2 namun pada penelitian tersebut area yang dideteksi hanya satu
kondisi polusi udara dan akibat langsung yang di timbulkan maka dibuatlah sebuah
alat pemantau kualitas udara menggunakan jaringan sensor nirkabel dengan topologi
cluster yang akan memonitoring kualitas udara di sekitar kampus Institut Bisnis Stikom Surabaya. Penggunaan topologi cluster pada penelitian ini karena kondisi area pemantauan kondisi udara berada pada beberapa lokasi yang berbeda sehingga
dibutuhkan topologi yang bersifat hirarki (cluster) untuk mengurangi beban setiap
node..
1.2 RumusanBMasalahB
Berdasarkan latar belakang diatas maka dapat dirumuskan permasalahan
sebagai berikut :
1. Bagaimana merancang bangun sistem wireless sensor networks untuk pemantauan nilai gas CO dan CO2 di sekitar kampus Institut Bisnis Stikom
Surabaya dengan topologi cluster ?
2. Bagaimana melakukan pengujian terhadap unjuk kerja sistem dengan
menggunakan parameter delay transmisi dan paket loss?
1.3 BatasanBMasalahB
Untuk menghindari pembahasan yang lebih luas terkait dengan rancang
bangun sistem pemantau kadar udara menggunakan metode cluster. Terdapat beberapa batasan masalah, maka penelitian ini hanya ditentukan pada ruang lingkup
1. Acuan penelitian ini adalah kualitas udara di daerah sekitar kampus Institut
Bisnis Stikom Surabaya
2. Gas yang di monitoring sudah ditentukan yaitu CO dan CO2
3. Topologi sudah di tentukan, yaitu dengan dengan menggunakan 4 Child Node dan 2 Cluster Head. Masing-masing Cluster Head memiliki 2 buah
Child Node. Selanjutnya Cluster Head terhubung dengan Parent Node (gateway)
1.4 TujuanB
Berdasarkan rumusan masalah yang diuraikan diatas, maka tujuan penelitian
ini adalah sebagai berikut :
1. Merancang dan membangun wireless sensor networks pemantau kualitas udara menggunakan topologi cluster
2. Mengirimkan hasil monitoring kualitas udara dari 4 child node secara bersamaan dengan meminimalkan delay dan paket loss
1.5 SistematikaBPenulisanB
Pembahasan Tugas Akhir ini secara Garis besar tersusun dari 5 (lima) bab,
yaitu diuraikan sebagai berikut:
1. BAB I PENDAHULUAN
Pada Bab ini akan dibahas mengenai latar belakang masalah,
2. BAB II LANDASAN TEORI
Pada Bab ini akan dibahas teori penunjang dari permasalahan, yaitu
mengenai Sensor DT-SENSE CARBON DIOXIDE SENSOR, DT-SENSE
CARBON MONOXIDE SENSOR, WSN, Arduino Mega 2560, software
arduino IDE, ZigBee (Xbee series 2) mode AT, software X-CTU, parameter
QoS, dan Visual Basic.
3. BAB III METODE PENELITIAN DAN PERANCANGAN SISTEM
Pada Bab ini akan dibahas tentang blog diagram sistem serta
metode yang dilakukan dalam memonitoring kualitas udara, meliputi cara
pembuatan algoritma pengiriman dan pemisahan data dari dua Child Node
ke satu Cluster Head kemudian dikirim ke Parent Node, skrip pada software
arduino IDE untuk komunikasi antara Child Node sampai ke Cluster Head, Cluster Head sampai ke Parent Node, dan Parent Node sampai ke server,
flow cart software visual basic untuk menampilkan data yang dikirim oleh xbee Parent Node menggunakan wifi,, dan cara menentukan hasil dari parameter QoS..
4. BAB IV HASIL DAN PEMBAHASAN
Pada Bab ini akan dibahas mengenai hasil yang diperoleh dari
proses pengiriman transmisi data dari empat Child Node sampai ke server
dan delay dari Cluster Head ke Parent Node, paket loss dan delay dari
Child Node ke Parent Node, paket loss dan delay dari Parent Node ke server, paket loss dan delay dari Child Node ke server.
5. BAB V KESIMPULAN DAN SARAN
Berisi kesimpulan yang didapat dari hasil penelitian berdasarkan
6
B 2.1BB SensorBUdaraB
2.1.1B DT-SENSEBCARBONBDIOXIDEBSENSORBB
GambarB2.1BDT-STNST CARBON DIOXIDT STNSOR
DT-STNST CARBON DIOXIDT STNSOR merupakan modul sensor gas
yang dapat digunakan untuk menentukan kadar karbon dioksida yang terdapat pada
udara. Modul ini berbasiskan sensor MG-811 yang mampu melakukan pendeteksian
gas karbon dioksida dengan range 350 - 10000 ppm. DT-STNST CARBON
DIOXIDT STNSOR cocok digunakan pada sistem pemantauan kualitas udara dalam
Spesifikasi :
Tegangan kerja : 5 VDC.
Target gas : karbon dioksida (CO2).
Range deteksi : 350 - 10000 ppm.
Antarmuka : UART TTL, I2C.
Menggunakan ADC 10-bit untuk konversi data analog dari sensor.
Memiliki output berupa data digital dengan nilai 0 - 1023 (hasil konversi
ADC)
Terdapat 1 buah variable resistor untuk pengaturan nilai threshold secara
manual.
Disediakan beberapa jumper untuk konfigurasi pull-up I2C, resistor beban,
serta variable resistor threshold.
Memiliki fitur kendali on/off dengan 2 mode kerja pilihan yaitu hysterisis
dan window.
Pin I/O yang kompatibel dengan level tegangan TTL dan CMOS.
Memiliki 2 buah LTD sebagai indikator.
Dilengkapi dengan rangkaian TMI filter untuk mengurangi gangguan
2.1.2B DT-SENSEBCARBONBMONOXIDEBSENSORB B
B
GambarB2.2BDT-STNST CARBON MONOXIDT STNSOR
DT-STNST CARBON MONOXIDT STNSOR merupakan sebuah modul
sensor gas yang berbasiskan MQ-7, yaitu sensor yang bereaksi terhadap kadar gas
karbon monoksida yang terdapat dalam udara. Modul ini memiliki keluaran data
digital serta desain hardware minimalis yang ditujukan untuk memudahkan proses
penggunaan sensor MQ-7. Modul ini dapat diaplikasikan sebagai alarm peringatan
dini, ataupun gas detector untuk membantu proses industri yang melibatkan gas
karbon monoksida.
Spesifikasi :
Tegangan kerja : 5 VDC.
Range deteksi : 20 - 2000 ppm.
Antarmuka : UART TTL, I2C.
Menggunakan ADC 10-bit untuk konversi data analog dari sensor.
Memiliki output berupa data digital dengan nilai 0 - 1023 (hasil konversi
ADC).
Terdapat 1 buah variable resistor untuk pengaturan nilai threshold secara
manual.
Disediakan beberapa jumper untuk konfigurasi pull-up I2C, resistor beban,
serta variable resistor threshold.
Memiliki fitur kendali on/off dengan 2 mode kerja pilihan yaitu hysterisis
dan window.
Pin I/O yang kompatibel dengan level tegangan TTL dan CMOS.
Memiliki 2 buah LTD sebagai indikator.
Dilengkapi dengan rangkaian TMI filter untuk mengurangi gangguan
elektromagnetik.
2.2B Wireless Sensor Network (WSN)
Wireless sensor network (jaringan sensor nirkabel) terbentuk dari kumpulan
titik-titik sensor yang sangat banyak yang bersifat individu dan tersebar tidak
beraturan dalam suatu area yang disebut sensor field yang diletakkan dibeberapa
lingkungannya dengan cara sensing, controlling dan comunnication terhadap
parameter – parameter fisiknya.
GambarB2.3BArsitektur WSN
Sumber : (http://digilib.tes.telkomuniversity.ac.id)
Tiap node sensor memiliki kemampuan untuk mengumpulkan data dan
berkomunikasi dengan node sensor lainnya. Peletakan titik-titik node sensor tidak
perlu direkayasa sedemikian rupa atau ditetapkan sebelumnya (fixed). Data yang
dikirimkan melalui transmisi radio akan diteruskan menuju BS (Base Station) atau
sink mode yang merupakan penghubung antara node dengan user. Informasi tersebut
dapat diakses melalui berbagai platform seperti koneksi satelit sehingga
memungkinkan user untuk mengakses secara realtime melalui remote server.
Setiap node dalam WSN terdiri dari lima komponen, yaitu kontroller /
mikrokontroler, memori, sensor / aktuator, perangakt komunikasi dan catu daya.
Komponen-komponen dari sebuah node ditunjukkan pada gambar 2.4 dibawah ini.
GambarB2.4.BKomponen – komponen penyusun Node dalam WSNB
Sumber : (Sugiarto, 2009)
a. Communication Device, Berfungsi untuk menerima / mengirim data dengan
menggunakan protokol ITTT 802.15.4 atau ITTT 802.11 b/g kepada device
atau node lainnya.
b. Microcontroller, Berfungsi untuk melakukan fungsi perhitungan,
mengontrol dan memproses device-device yang terhubung dengan
mikrokontroler.
c. Sensor, Berfungsi untuk men-sensing besaran-besaran fisis yang hendak
diukur. Sensor adalah suatu alat yang mampu untuk mengubah suatu bentuk
menjadi energi listrik yang kemudian diubah oleh ADC menjadi deretan
pulsa terkuantissi yang kemudian bisa dibaca oleh mikrokontroler.
d. Memory, Berfungsi sebagai bahan tambahan memori bagi sistem wireless
sensor.
e. Power Supply, Berfungsi sebagi sumber energi bagi sistem Wireless Sensor
secara keseluruhan. (Nugroho, 2014)
2.2.1B StrukturBJaringanBpadaBWSNBB
Karakteristik jaringan pada WSN, dibagi menjadi dua kelompok,yaitu
karakteristik stasiun dasar dan karakteristik dari node sensor. Berikut ini adalah
struktur - struktur jaringan sensor nirkabel : (Rijal, 2012)
a. Flat-based : Dalam jaringan, semua node memainkan peran yang sama dan
tidak ada sama sekali hirarki. Flat routing protocol mendistribusikan
informasi yang diperlukan untuk setiap node sensor yang terjangkau dalam
jaringan sensor . Tidak ada upaya dilakukan untuk mengatur jaringan atau
trafik, hanya untuk menemukan rute terbaik dengan lompatan-lompatan
(hop) ke tujuan dengan jalan manapun.
b. Hierarchical-based: kelas ini menetapkan routing protokol untuk mencoba
menghemat energi dengan mengatur node dalam cluster. Node –node dalam
cluster mengirimkan data ke cluster head, dan cluster head inilah yang
multihop adalah dengan adanya jumlah hop yang semakin sedikit maka hal
itu berbanding lurus dengan jumlah paket loss yang semakin kecil (Brunelli,
2008). Disamping itu, model cluster sangat baik dalam memainkan peran
penting dalam hal skalabilitas jaringan serta penghematan energy.
Hierarchical-based semacam ini sangat cocok untuk data multimedia
(Brunelli, 2008). Namun salah satu kekurangan dari struktur jaringan ini
adalah cluster dapat menyebabkan kemacetan, ini karena hanya satu kepala
berkomunikasi atas nama seluruh cluster, sehingga penurunan energy
terbesar akan terjadi pada cluster head tersebut.
c. Location-based: Sebagian besar protokol routing untuk jaringan sensor
memerlukan informasi lokasi untuk node sensor. Dalam kebanyakan kasus,
informasi lokasi yang dibutuhkan untuk menghitung jarak antara dua node
tertentu sehingga konsumsi energi dapat diperkirakan. Karena tidak ada
skema pengalamatan untuk jaringan sensor seperti alamat IP.
2.3B ArduinoB
Arduino adalah prototipe platform elektronik opensource yang terdiri dari
mikrokontroler, bahasa pemrograman, dan IDT. Arduino adalah alat untuk membuat
aplikasi interaktif, yang dirancang untuk mempermudah proyek bagi pemula, tapi
masih fleksibel bagi para ahli untuk mengembangkan proyek-proyek yang kompleks.
2.3.1B ArduinoBMegaB
Arduino mega 2560 adalah papan mikrokontroler berdasarkan ATmega2560
(datasheet). Ini memiliki 54 digital pin input / output ( yang 15 dapat digunakan
sebagai output PWM ), 16 analog input, 4 UART ( hardware port serial ), osilator
kristal 16 MHz, koneksi USB, jack listrik, header ICSP, dan tombol reset. Semuanya
diperlukan untuk mendukung kerja mikrokontroler, cara mengaktifkan Arduino mega
2560 adalah dengan menghubungkannya ke komputer dengan kabel USB atau
memberikan power dengan adaptor AC-DC atau baterai. Arduino Mega ini
compatible dengan Arduino Duemilanove atau Diecimila.
Mega 2560 adalah update dari Arduino Mega. Mega 2560 berbeda dari
semua board sebelumnya yang tidak menggunakan FTDI chip driver USB-to-serial.
Revisi ke 2 dari board Mega 2560 memiliki resistor 8U2, sehingga lebih mudah
untuk dimasukkan ke dalam mode DFU.
Revisi 3 dari board Mega 2560 memiliki fitur-fitur baru berikut :
1.0 pinout : menambahkan SDA dan pin SCL yang dekat dengan pin ARTF
dan dua pin baru lainnya ditempatkan dekat dengan pin RTSTT, IORTF
yang memungkinkan shield untuk beradaptasi dengan tegangan yang
tersedia dari board. Nantinya, shield akan compatible baik dengan board
yang menggunakan AVR, yang beroperasi dengan 5V dan dengan Arduino
Due yang beroperasi dengan 3.3V. Yang kedua adalah pin tidak terhubung,
Sirkuit RTSTT kuat .
Atmega 16U2 menggantikan 8U. (Mantech Tlectronics, 2014)
GambarB2.5. Arduino Mega 2560 Sisi Depan (Kiri) dan Belakang (Kanan) (Sumber : Mantech Tlectronics, 2014)
Secara umum arduino terdiri dari dua bagian, yaitu:
1. cardware: papan input/output (I/O).
2. Software: software arduino meliputi IDT untuk menulis program, driver
untuk koneksi dengan komputer, contoh program dan library untuk
pengembangan program. (Djuandi, 2011)
Berikut adalah Tabel 2.1 spesifikasi dari arduino mega 2560.
TabelB2.1.BSpesifikasi Arduino Mega 2560
Mikrokontroler ATMega 2560
Tegangan Operasi 5V
Input tegangan(rekomendasi) 7 – 12V
Input tegangan (Maksimal) 6 – 20V
Digital I/O Pin 54 (15 pin PWM)
Pin input Analog 16
DC current per I/O Pin 40Ma
Pin DC Current untuk 3.3V 50Ma
1. DayaB(Power)B
Arduino mega dapat diaktifkan melalui koneksi USB atau dengan catu daya
eksternal. Sumber daya dipilih secara otomatis. Tksternal ( non - USB ) daya
dapat berasal baik dari adaptor AC - DC atau baterai. Adaptor ini dapat
dihubungkan dengan menancapkan plug 2.1mm pusat - positif ke colokan
listrik board. Baterai dapat dimasukkan dalam Gnd dan Vin pin header dari
konektor daya.
Board dapat beroperasi pada pasokan eksternal 6 sampai 20 volt. Jika
tegangan dengan kurang dari 7V , tegangan pada board kemungkinan akan
tidak stabil. Jika menggunakan lebih dari 12V , regulator tegangan bisa
panas dan merusak board. Kisaran yang disarankan adalah 7 sampai 12 volt .B
Pin listrik adalah sebagai berikut :
VIN : Tegangan input ke board Arduino ketika itu menggunakan sumber
daya eksternal ( ebagai lawan 5 volt dari koneksi USB atau sumber
daya diatur lain). Kita dapat memasok tegangan melalui pin ini.
5V : Pin output 5V diatur dari regulator di board. Board dapat diaktifkan
dengan daya baik dari colokan listrik DC (7 - 12V) , konektor USB
(5V) , atau pin VIN dari board (7-12V). Jika tegangan diberika
bootloader
SRAM 8Kb
TTPROM 4Kb
melalui 5V atau 3.3V melewati regulator , dan dapat merusak
board, maka tidak disrankan.
3V3: Sebuah pasokan 3,3 volt dihasilkan oleh regulator on-board yang
dapat menarik arus maksimum 50 mA.
GND : Pin tanah.
IORTF : Pin pada board Arduino memberikan tegangan referensi saat
mikrokontroler sedang beroperasi. Sebuah shield dikonfigurasi
dengan benar agar dapat membaca pin tegangan IORTF dan
memilih sumber daya yang tepat atau mengaktifkan penerjemah
tegangan pada output untuk bekerja dengan 5V atau 3.3V. (Mantech
Tlectronics, 2014)
2. BMemoriB
ATmega2560 memiliki 256 KB dari flash memory untuk menyimpan kode
(8 KB digunakan untuk bootloader) , 8 KB SRAM dan 4 KB TTPROM (
yang dapat dibaca dan ditulis dengan library TTPROM ).(Mantech
Tlectronics, 2014)
3. InputBdanBOutputB
Masing-masing dari 54 digital pin (pin header) pada Mega dapat digunakan
sebagai input atau output, dengan menggunakan fungsi dari pinMode( ),
digitalWrite( ), dan digitalRead( ). Mereka beroperasi pada tegangan 5V.
memiliki resistor pull-up internal yang (terputus secara default) dari 20-50
KOhms. Selain itu, beberapa pin memiliki fungsi khusus :
Serial : 0(RX) dan 1(TX); Serial 1 : 19(RX) dan 18(TX) ; Serial 2 : 17(RX)
dan 16 (TX) ; Serial 3 : 15 (RX) dan 14(TX). Yang digunakan
untuk menerima (RX) dan mengirimkan (TX) TTL data serial. Pin 0
dan 1 juga terhubung ke pin yang sesuai dari ATmega16U2 USB -
to- TTL chip Serial. Letak PIN serial dapat dilihat pada gambar 2.6.
Tksternal Interupsi: 2 (interrupt 0) , 3 (interrupt 1) , 18 (interrupt 5) , 19
(interrupt 4) , 20 (interrupt 3) , dan 21 (interrupt 2). Pin ini dapat
dikonfigurasi untuk memicu interrupt pada nilai yang rendah, naik
atau jatuh tepi, atau perubahan nilai. Lihat AttachInterrupt( ) fungsi
untuk rincian. Letak PIN interupsi dapat dilihat pada gambar 2.6
PWM: Pin 2-13 dan 44 sampai 46. Menyediakan 8 - bit PWM output
dengan analogWrite ( ) function. Letak PIN PWM dapat dilihat
pada gambar 2.6
SPI (Serial Peripheral Intervace) : 50(MISO), 51(MOSI), 52(SCK), 53(SS).
Pin ini mendukung komunikasi SPI menggunakan library SPI. Pin
SPI juga pecah pada header ICSP, yang secara fisik kompatibel
dengan Uno , Duemilanove dan Diecimila. Letak PIN SPI dapat
LTD: 13. Ada built -in LTD terhubung ke pin digital 13. Ketika pin
dengan nilai TINGGI , LTD menyala , ketika pin yang dipakai
RTNDAH , lampu akan mati.
TWI (Two – Ware Inteerface ): Pin 20(SDA) dan pin 21(SCL). Dukungan
komunikasi TWI menggunakan library Wire. Yang perly
diperhatikan adalah bahwa pin ini tidak berada di lokasi yang sama
dengan pin TWI pada Duemilanove atau Diecimila. Letak PIN TWI
dapat dilihat pada gambar 2.5.
Arduino Mega2560 memiliki 16 input analog , yang masing-masing
menyediakan 10 bit resolusi (yaitu 1024 nilai yang berbeda ). Secara default mereka
mengukur dari ground sampai 5 volt , meskipun mungkin untuk mengubah jangkauan
menggunakan pin ARTF dan fungsi analogReference ( ). (Mantech Tlectronics)
2.4 Software Arduino IDE
Arduino IDT adalah software yang ditulis menggunakan java dan
berdasarkan pengolahan seperti, avr-gcc, dan perangkat lunak open source lainnya
(Djuandi, 2011). Arduino IDT terdiri dari:
1. Tditor program, sebuah window yang memungkinkan pengguna menulis dan
mengedit program dalam bahasa processing.
2. Verify / Compiler, sebuah modul yang mengubah kode program (bahasa
akan bisa memahami bahasa processing, yang dipahami oleh mikrokontroler
adalah kode biner.
3. Uploader, sebuah modul yang memuat kode biner dari komputer ke dalam
memori mikrokontroler di dalam papan arduino.
GambarB2.6BTampilan Software Arduino IDTB
(Arduino, 2011)
Pada Gambar 2.6 terdapat menu bar, kemudian toolbar dibawahnya, dan
sebuah area putih untuk editing sketch, area hitam dapat kita sebut sebagai progress
area, dan paling bawah dapat kita sebut sebagai “status bar”.
2.5B BahasaBPemogramanBArduinoB B
Arduino ini bisa dijalankan di komputer dengan berbagai macam platform
mikrokontroler adalah bahasa C/C++ dan dapat digabungkan dengan assembly.
(Arduino, 2011)
1. Struktur
Setiap program Arduino (biasa disebut sketch) mempunyai dua buah fungsi
yang harus ada (Arduino, 2011). 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, 2011). Terdapat beberapa fungsi serial pada
3. Syntax
Adalah elemen bahasa C yang dibutuhkan untuk format penulisan.
(Arduino, 2011)
4. Vabiabel
Sebuah program secara garis besar dapat didefinisikan sebagai instruksi
untuk memindahkan angka dengan cara yang cerdas. Variabel inilah yang digunakan
untuk memindahkannya. (Arduino, 2011)
2.6B ZigbeeB
ZigBee adalah spesifikasi untuk jaringan protokol komunikasi tingkat
tinggi, menggunakan radio digital berukuran kecil dengan daya rendah, dan berbasis
pada standar ITTT 802.15.4-2003 untuk jaringan personal nirkabel tingkat rendah,
seperti saklar lampu nirkabel dengan lampu, alat pengukur listrik dengan inovasi
In-come 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,
Jaringan lapisan ZigBee yang mendukung fitur-fitur canggih yang dikenal
sebagai ITTT 802.15.4. Ini adalah satu set standar yang memiliki kemampuan untuk
memanajemen daya, pengalamatan, koreksi kesalahan, format pesan, dan lainnya
spesifik point-to-point yang diperlukan untuk tepat komunikasi berlangsung dari satu
radio ke radio yang lain. (Faludi, 2010)
2.6.1B BBTopologiBJaringanB
Zigbee memiliki beberapa topologi secara umum diantantaranya adalah :
a. Pair, Topologi pair adalah topologi yang terdiri dari 2 node. Salah satu
berupa koordinator dan yang lain berupa router atau end device.
b. Star, Topologi star adalah topologi yang memiliki koordinator yang berada
di tengah dari topologi star yang terhubung melingkar dengan end device.
Setiap data yang lewat selalu melalui koodinator terlebih dahulu. End device
tidak dapat berkomunikasi secara langsung.
c. Mesh, Topologi mesh menugaskan setiap router sebagai koordinator radio.
Radio dapat melewatkan pesan melalui router dan end device sesuai dengan
kebutuhan. Koordinator bekerja untuk memanajemen jaringan. Dapat
berupa pesan rute. Berbagai macam end device dapat ditambahkan pada
informasi, tapi masih membutuhkan bantuan “parent’s” untuk dapat
berkomunikasi dengan node yang lain.
d. Cluster Tree, Topologi cluster tree menjadikan router sebagai backbone dan
setiap router terdapat end device yang mengililinginya. Konfigurasinya
tidak jauh beda dengan topologi mesh.
B
GambarB2.7Topology zigbee pair, star, mesh dan cluster tree
2.7B XbeeB
Xbee merupakan perangkat yang menunjang komunikasi data tanpa kabel
(wireless). Xbee ada 2 jenis, yaitu :
a. Xbee 802.15.4 (Xbee Series 1), Xbee seri ini hanya dapat digunakan untuk
komunikasi point to point dan topologi star dengan jangkauan 30 meter
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.
Xbeeseries 1 maupun series 2 tersedia dalam 2 bentuk berdasarkan
kekuatan transmisinya yaitu xbee reguler dan xbee-pro. 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).
GambarB2.8 Xbee S2 dan Xbee Shield.
Bebikut pabameteb untuk mengkonfigubasi modul Xbee S2 dengan mode
AT.
TabelB2.2 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
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
BD
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.8BB XbeeBUsbBAdapterBdanBSoftwareBX-CTUB
Xbee usb adapter (Gambar 10) merupakan alat untuk menghubungkan
modul Xbee ke komputer dengan kabel mini usb dan selanjutnya dapat dikonfigurasi
menggunakan software X-CTU (Gambar 2.7). software X-CTU merupakan software
yang digunakan untuk mengkonfigurasi Xbee agar dapat berkomunikasi dengan Xbee
lainya. Parameter yang harus diatur adalah PAN ID (Personal Area Network) ID
yaitu parameter yang mengatur radio mana saja yang dapat berkomunikasi, agar dapat
adalah PAN ID (Personal Area Network) ID yaitu parameter yang mengatur Xbee
mana saja yang dapat berkomunikasi, agar dapat berkomunikasi PAN ID dalam satu
jaringan harus sama. Xbee dapat berkomunikasi point to point dan point to multipoint
(broadcast).
GambarB2.9 Xbee Usb Adapter dan Kabel Mini Usb
(Arduino, 2011)
GambarB2.10BTampilan Software X-CTU
2.9BB Wifi ShieldB(TonylabsBCC3000)B
CC3000 adala processor jaringan nirkabel, yang menyederhanakan proses
implementasi internet connectivity. SimpleLink Wi-Fi secara signifikan mengurangi
pemakaian mikrokontroler (MCU), sehingga ideal untuk digunakan dengan biaya
murah dan daya rendah yang telah tertanam pada MCU (www.ti.com). Berikut
spesifikasi dari CC3000, yaitu :
1) WLAN
ITTT 802.11b/g, tertanam radio, modem, MAC address, dan
mendukung WLAN mendukung bandwidth 54 Mbps pada frekuensi 2.4
GHz.
Mendukung keamanan pada Wi-Fi dengan mode personal network
meliputi, WTP, WPA, dan WPA2.
Smart config WLAN memungkinkan unutk menghubungkan perangkat
tanpa koneksi fisik / nirkabel menggunkan smartphone, tablet, atau PC.
2.10B JaringanBwireless LANBatauBWireless FidelityB(wifi)BB
Local Area Network (LAN), dimana merupakan jaringan terbentuk dari
gabungan beberapa komputer yang tersambung melalui saluran fisik
(kabel/Ethernet/UTP). Seiring dengan perkembangan teknologi serta kebutuhan
untuk akses jaringan bergerak, muncullah Wireless Local Area Network (Wireless
dengan penerimaan data dilakukan melalui udara dengan menggunakan teknologi
gelombang radio (RF). (Gunadi, 2009)B
Wireless LAN didefinisikan sebagai sebuah sistem komunikasi data fleksibel
yang dapat digunakan untuk menggantikan atau menambah jaringan LAN yang sudah
ada untuk memberikan tambahan fungsi dalam konsep jaringan komputer pada
umumnya fungsi yang ditawarkan disini dapat berupa konektivitas yang andal
sehubungan dengan mobilitas user. (Gunadi, 2009)
Dengan Wireless LAN memungkinkan para pengguna komputer terhubunga
tanpa kabel (wirelessly) ke dalam jaringan. Suatu laptop atau smartphone yang
dilengkapi oleh perangkat wireless yang sudah tertanam dapat digunakan secara
mobile mengelilingi sebuah gedung tanpa perlu mencolokkan (plug in) kabel apa pun.
(Gunadi, 2009)
Wireless LAN yang banyak tersebar dipasaran saat ini mengikuti standard
ITTT 802.11. terdapat tiga varian terhadap standard tersebut yaitu 802.11b/a/g. versi
Wireless LAN 802.11b memiliki kemampuan transfer data kecepatan tinggi hingga
11 Mbps pada band frekuensi 2,4GHz.versi berikutnya 802.11a, untuk transfer data
kecepatan tinggi hingga 54 Mbps pada frekuensi 5GHz. Sedangkan 802.11g
berkecepatan 54 Mbps dengan frekuensi 2,4GHz. (Gunadi, 2009)
2.11B VisualBBasicB
Visual Basic adalah salah suatu development tools untuk membangun aplikasi
menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form.
Tampilan Visual Basic terdapat pada Integrated Development Environment (IDT)
seperti pada Gambar 2.10.
B
B
B
GambarB2.11.BTampilan Utama Visual Basic 6.0
Sumber : (Octovhiana, 2003)
Adapun pejelasan jendela-jendela adalah sebagai berikut :
a) Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan
project, membuka project, dll
b) Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan
cepat.
c) Jendela Project, jendela berisi gambaran dari semua modul yang terdapat
d) Jendela Form Designer, jendela merupakan tempat anda untuk merancang
user interface dari aplikasi.
e) Jendela Toolbox, jendela berisi komponen-komponen yang dapat anda
gunakan untuk mengembangkan user interface.
f) Jendela Code, merupakan tempat bagi anda untuk menulis koding. Anda
dapat menampilkan jendela dengan menggunakan kombinasi Shift-F7.
g) Jendela Properties, merupakan daftar properti-properti object yang sedang
terpilih. Sebagai contohnya anda dapat mengubah warna tulisan
(foreground) dan warna latar belakang (background). Anda dapat
menggunakan F4 untuk menampilkan jendela properti.
h) Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu
object.
i) Jendela Form Layout, akan menunjukan bagaimana form bersangkutan
ditampilkan ketika runtime.
2.12 BParameterBQoSB(Quality of Service)B
Performansi mengacu ke tingkat kecepatan dan keandalan penyampaian
berbagai jenis beban data di dalam suatu komunikasi. Performansi merupakan
kumpulan dari beberapa parameter besaran teknis, yaitu :
1. Packet LossB
Packet Loss, merupakan suatu parameter yang menggambarkan suatu
karena collision dan congestion pada jaringan dan hal ini berpengaruh pada
semua aplikasi karena retransmisi akan mengurangi efisiensi jaringan secara
keseluruhan meskipun jumlah bandwidth cukup tersedia untuk
aplikasi-aplikasi tersebut. Umumnya perangkat jaringan memiliki buffer untuk
menampung data yang diterima. Jika terjadi kongesti yang cukup lama,
buffer akan penuh, dan data baru tidak akan diterima.
TabelB2.3Packet Loss
Delay (latency), adalah waktu yang dibutuhkan data untuk menempuh jarak
dari asal ke tujuan. Delay dapat dipengaruhi oleh jarak, media fisik, kongesti
atau juga waktu proses yang lama.(Nurhayati, 2012)
B
B GambarB2.12BNetwork Delay
TabelB2.4BBKomponen Delay
JenisBDelayB KeteranganB
delay DelayPaket IP di media transmisi ke alamat tujuan. Seperti ini terjadi karena perambatan atau perjalanan.
contohnya delay propagasi di dalam kabel akan
memakan waktu 4 sampai 6 s per kilometernya.
Coder (Processing) Delay
Waktu yang diperlukan oleh Digital Signal Processing
(DSP) untuk mengkompres sebuah block PCM (Pulse
35
3.1B MetodeBPenelitianBB
Pada metode penelitian tugas akhir ini dibuat rancang bangun wireless sensor networks untuk pemantauan kualitas udara di daerah Intitut Bisnis Stikom
Surabaya. Pemantauan dilakukan untuk mendeteksi kadar CO dan CO2. Terdapat sensor pada masing – masing Child Node (CN) dan Child Node tersebut akan
diletakkan pada 2 titik daerah yang berbeda yang terhubung pada sebuah cluster. Sensor CO(CN 1) dan CO2 (CN 2) akan diletakkan pada sebuah daerah disekitar Intitut Bisnis Stikom Surabaya, yang akan mentransmisikan rata – rata data setiap
menit kepada Cluster Head 1 (CH 1). Sedangkan kedua sensor yang lain yaitu CO (CN 3) dan CO2 (CN 4) akan diletakkan di daerah berbeda disekitar Intitut Bisnis
Stikom Surabaya, yang akan mentransmisikan nilai tertinggi data setiap menit kepada Cluster Head 2 (CH 2). Data yang telah diterima oleh masing – masing Cluster Head
(CH) akan ditransmisikan kembali kepada sebuah Parent Node (PN). Data yang
diterima oleh PN yang telah terintegrasi dengan jaringan wifi, agar user dapat memantau keadaan udara, melalui sebuah aplikasi yang dibangun dari Visual Basic, disekitar Institut Bisnis dan Informatika Stikom Surabaya. Sedangkan pengiriman
data yang berasal dari masing – masing CN hingga diterima oleh PN ditransmisikan menggunakan wireless zigbee networks . Peletakan sensor dapat dilihat pada gambar
CN3
CN1
CN2 CN4
CH2
CH1
PN SERVER
AP
GambarB3.1 Gambar Peletakan Child Node (CN), Cluster Head (CH), Parent Node (PN), Access Point (AP) dan Server
3.2B ModelBPerancanganB
Pada perancangan ini penulis menggambarkan perancangan sistemnya
GambarB3.2 Gambar Perancangan
Dari Gambar 3.2 didapatkan bahwa setiap node WSN memiliki tugas berbeda-beda seperti berikut:
a) Child Node 1
Pada node ini, node bertanggung jawab sebagai pencatat hasil pemantauan CO pada titik 1 daerah 1 kemudian mengirimkan datanya pada Cluster Head 1.
b) Child Node 2
c) Child Node 3
Pada node ini, node bertanggung jawab sebagai pencatat hasil pemantauan
CO pada titik 1 daerah 2 kemudian mengirimkan datanya pada Cluster Head 2. d) Child Node 4
Pada node ini, node bertanggung jawab sebagai pencatat hasil pemantauan
CO2 pada titik 2 daerah 2 kemudian mengirimkan datanya pada cluster head 2. e) Cluster Head 1
Cluster Head 1 merupakan node router. Pada node ini, node menerima data
dari rata – rata CO Child Node 1 dan rata – rata CO2 Child Node 2. Node ini bertanggung jawab atas data yang sudah dikirim oleh Child Node. Masing – masing child node akan diberikan ID yang berbeda, ini bertujuan agar data tidak tertukar.
Dan kemudian akan mentransmisikannya pada Parent Node.
f) Cluster Head 2.
Cluster Head 2 merupakan node router. Pada node ini, node menerima data
dari Child Node sensor 3 dan Child Node sensor 4 Dan kemudian akan
mentransmisikannya pada Parent Node. g) Parent Node
Pada Parent Node ini, node menerima data dari Child Node 1, Child Node 2, Child Node 3 dan Child Node 4 melalui masing – masing Cluster Head. Selanjutnya
data diproses untuk di integrasikan yang semula zigbee network menuju ke wifi network. Perlu diketahui bahwa zigbee network berjalan pada layer 2 (data link) dan
menjalankan protokol transport yaitu UDP dan TCP yang ada pada layer 4 (transport), tetapi data kualitas udara yang berasal dari parent node ke server akan
dikirim kan melalui jaringan WiFi yang memiliki kemampuan tersebut, maka dari itu diperlukan suatu modul yang memungkinkan untuk melakukannya, yaitu menggunakan modul tonylabs CC3000 wifi shield alat ini dapat melakukan proses routing dan dapat menggunakan protokol transport UDP atau TCP. Dan pada
penelitian ini digunakan protokol UDP untuk mengirimkan datanya. Pada modul wifi shield dikonfigurasi SSID dan password access point (AP) yang dituju dan data
kualitas udara tersebut diamankan menggunkaan WPA2, konfigurasi ini dilakukan pada dua sisi yaitu sisi node coordinator dengan CC3000 wifi shield dan AP.
h) Access Point
Access Point adalah suatu alat yang dapat menyediakan akses kepada banyak user untuk dapat mengakses internet menggunkaan jaringan wireless, fungsinya
banyak, digunakan pada perkantoran, rumah sakit, dan tempat outdour.
Pada penelitian ini difungsikan untuk menyediakan akses komunikasi pada
komputer server dengan Parent Node yang berkomunikasi dengan menggunakan jaringan wifi.
i) Komputer Server
Komputer server disini sebagai pusat dari penerima data dan digunakan oleh user untuk melihat hasil monitoring kualitas udara dari CN1, CN2, CN3, dan CN4
berkomunikasi secara unicast (point to point) dengan Parent Node melalui access point.
3.3B B PerancanganBSistemB
Dalam tugas akhir ini, penulis hanya akan memfokuskan pengiriman data berupa rata – rata atau nilai tertinggi dari masing – masing cild node kepada server
dengan menggunakan metode cluster. Dan juga mengamati hasil unjuk kerja jaringan pada model cluster yang telah ditentukan sebelumnya. Adapun perancangan blok
diagram ditunjukkan sebagaimana gambar 3.3:
GambarB3.3 Blok Diagram
3.4B PerancanganBPerangkatBKerasB
3.4.1B PerancanganBDT-SENSEBCARBONBDIOXIDEBSENSORB
B Untuk dapat mendeteksi kadar CO dalam udara maka dibutuhkan sebuah
MONOXIDE. SENSOR.DT-SENSE CARBON MONOXIDE SENSOR merupakan modul sensor gas yang dapat digunakan untuk menentukan kadar karbon monoksida
yang terdapat pada udara. Modul ini berbasiskan sensor MQ-7. Adapun perancangan rangkaian DT-SENSE CARBON MONOXIDE SENSOR menggunakan komunikasi I2C(Inter-Integrated Circuit).Data yang dikeluarkan berupa data digital sesuai yang
sudah dijelaskan pada BAB II. Dan skenmatik sensor dapat dilihat pada gambar di bawah ini. Yang membedakan modul sensor MQ-7 dengan MG-811 adalah
pemakaian resistor pada MQ-7 resistor yang digunakan adalah 3k3Ω
GambarB3.4 Skematik Sensor DT-SENSE CARBON MONOXIDE SENSOR
3.4.2B PerancanganBDT-SENSEBCARBONBDIOXODEBSENSORB
Untuk dapat mendeteksi kadar CO2 dalam udara maka dibutuhkan sebuah
sensor. Sensor yang digunakan pada penelitian ini adalah DT-SENSE CARBON DIOXODE SENSOR. DT-SENSE CARBON DIOXODE SENSOR merupakan modul sensor gas yang dapat digunakan untuk menentukan kadar karbon dioksida
yang terdapat pada udara.Modul ini berbasiskan sensor MG-811. Adapun perancangan rangkaian DT-SENSE CARBON DIOXODE SENSOR menggunakan
komunikasi I2C sam halnyad engan MQ-7.Dan pada dasarnya skematik sensor MG-811 sama dengan MQ-7, hanya saja yang membedakan pemakaian resistor antara modul pada MG-811 dan MQ-7. Pada MG-811 menggunakan resistor 100kΩ, jika
dilihat pada modul sensor yang digunakan maka penggunaan resistor yang dikaitkan seperti pada gambar 3.5 dibawah ini, dan jika dilihat pada gambar skematik pada
gambar 3.4 diatas maka menunjukan bahwa posisi tersebut merupakan resistor dengan nilai 100kΩ
GambarB3.5 Perancangan Sensor DT-SENSE CARBON DIOXIDE SENSOR
3.4.3B PerancanganBSensorBdenganBArduinoB
Untuk dapat mendeteksi kadar CO dan CO2, maka data yang dipperoleh oleh masing-masing sensor harus dioleh kembali oleh mikrokontroler agar hasilnya dapat dipergunakan oleh user. Seperti yang telah dijelaskan diatas, bahwa pembacaan
sensor dilakukan melalui komunikasi Inter Integrated Circuit (I2C). sehingga pembacaan sensor dilakukan melalui pin Serial Clock (SCL) dsn Serial Data (SDA)
pada Arduino, seperti yang digambarkan pada gambar dibawah ini. Hal ini berlaku pada modul MG-811 maupun MQ-7.
B
3.4.4B PerancanganBRangkaianBXbeeBZigbeeBS2BB
Agar modul arduino dapat berkomunikasi secara serial wireless dengan perangkat lain, maka dibutuhkan rangkaian wireless yang dalam perancangan ini
menggunakan modul Zigbee S2B. modul zigbee dapat berkomunikasi wireless dan diakses menggunakan komunikasi serial TTL (Time to Live). Adapun port serial yang
digunakan untuk pengendalian dan pembacaan modul Xbee adalah TX0 dan RX0 pada modul arduino sebagaimana ditunjukkan pada Gambar 3.7:
GambarB3.7 Hubungan Rangkaian Xbee dan Arduino
3.4.5B ArduinoBMegaB2560B
B Pada gambar 3.3 terdapat 4 arduino yang memiliki fungsi yang sama yaitu
membaca sensor yang memiliki karakteristik sama dalam cara pembacaan data
sensor, pembacaan data dilakukan dengan cara inputan yang berasal dari sensor
diletakkan pada PORT SCL dan SDA, untuk membaca nilai dari sensor tersebut digunakan komunikasi I2C di dalam modul arduino.
Pada modul arduino juga dilakukan pemberian identitas pada data yang akan ditrasmisikan. Yang artinya data yang dikirim mendapatkan tambahan identitas setiap Child Node seperti pada gambar 3.8. Dari tambahan itu yang akan membuat Cluster Head dapat mengenali darimana asal data. XX pada gambar 3.8 terdiri dari DR untuk
Child Node 1, MR untuk Child Node 2, DT untuk Child Node 3 dan MT untuk Child Node 4. Identitas ini akan dikirim bersama dengan inti data yang Child Node
kirimkan ke Cluster Head. Dari Cluster Head mengirimkan data ke Parent Node dengan menambahkan identitas tambahan. Pada isi data yang diterima Cluster Head 1
nantinya terdapat simbol DR (untuk data dari Child Node 1) dan MR (untuk data dari Child Node 2) sedangkan Cluster Head 2 terdapat simbol DT (untuk data dari Child Node 3) dan MT (untuk data dari Child Node 4) selanjutnya diikuti inti pesan yang
dikirim masing – masing Child Node.
FORMAT PENGIRIMAN DATA CN KE CH
XX # DATA #
GambarB3.8 Format pengiriman data dari Child Node ke Cluster Head
Berikut penjelasan dari gambar 3.8 :
3. DATA : Data dari sensor yang dikirimkan 4. # : Penanda akhir pengiriman
3.4.6B XbeeB
Untuk mengirimkan data dari masing – masing CN ke CH kemudian dari CH ke PN diperlukan sebuah pemancar data. Dalam penelitian ini penulis
menggunakan Xbee Series 2 untuk pemancar data.Konfigurasi yang dilakukan pada Xbee sangat penting, agar data dapat dikirimkan ke alamat yang sesuai.
Untuk mengkonfigurasi Xbee tersebut dibutuhkan sebuah software. Software
yang biasa digunakan untuk mengkonfigurasi Xbee salah satunya ialah X-CTU. Xbee dikonfigurasi untuk menjadi end device dalam mode AT untuk Xbee
yang terdapat pada CN dan CH pada X-CTU menggunakan pilihan Function Set “ZNET 2.5 ROUTER/END DEVICE AT”, dan Xbee dikonfigurasi untuk menjadicoordinatordalam mode ATuntuk Xbee yang terdapat pada parent nodepada
X-CTU menggunakan pilihan Function Set “ZNET 2.5 COORDINATOR AT”. Dalam mengkonfigurasi Xbee series 2 hal yang terpenting ialah mengisi nilai PAN ID, DH
dan DL.
Langkah pertama untuk dapat berkomunikasi dalam satu jaringan, maka PAN ID antar Xbee harus diisi dengan nilai yang sama. Langkah kedua yaitu mengisi
DH dengan ID yang terdapat pada Xbee. Dan Langkah terakhir yaitu mengisi DL, pada CN nilai DL diisi sesuai dengan nilai Xbee yang digunakan sebagai CH, pada
CN hanya dapat berkomunikasi dengan Xbee pada CH dan Xbee yang digunakan pada CH hanya dapat berkomunikasi dengan Xbee pada PN.
3.4.7B VisualBBasicB
Visual basic pada komputer atau end device berfungsi untuk mengolah data yang dikirimkan oleh PN. Data yang diterima tersebut masih berupa sekumpulan
informasi dan kode yang masih lengkap yang berup header dan data (sesuai dengan protokol), sehingga diperlukan pemisahan data serta pengelompakan pada data tersebut agar didapatkan sebuah data beserta informasi yang diinginkan dari data
tersebut. Seperti yang dijelaskan pada gambar 3.8 pengelompokan data sesuai dengan kode yang terdapat pada satu paket data. Selanjutnya data yang sudah dipisah di
simpan sesuai dengan pengelompokan data. Hal ini dilakukan agar data yang diperoleh nantinya dapat dianalisa, sehingga dapat diketahui kemapuan algoritma dari sistem transmisi dengan cluster ini. Selanjutnya dari data yang telah dikelompokkan
dan dipisah ditampilkan pada sebuah grafik agar dapat dilihat oleh user.
Karakter dari pengiriman data ini adalah real time, sehingga protocol yang
digunakan adalah protocol UDP. Dikarenakan data yang diperoleh menggunakan protocol UDP, maka diperlukan adanya pengaturan IP pada komputer secara otomatis untuk membuat computer server dengan alat berada dalam sebuah jarngan.
GambarB3.9 Tampilan pada End Device
3.5B PerancanganBPerangkatBLunakB
Dari perancangan sistem diatas, selain perancangan hardware, juga dibutuhkan perancangan perangkat lunak untuk menjalankan perancangan hardware yang telah dibuat.Perangkat lunak terdiri dari beberapa algoritma perancangan dari
3.5.1B AlgoritmaBPembacaanBSensorB
B
GambarB3.10BFlowchart pembacaan sensor
Seperti yang sudah dijelaskan diatas, cara pembacaan data sensor
DT-SENSE CARBON MONOXIDE SENSOR dan DT-DT-SENSE CARBON DIOXIDE SENSOR sama, sehingga algoritma yang digunakanpun sama. Dan data keluaran dari kedua sensor tersebut sudah berupa data digital. Pada dasarnya, cara pembacaan
sesuai yang telah ditentukan sebelumnya, semua perintah data yang dikirim melalui I2C diawali dengan start condition dan kemudian diikuti dengan pengiriman alamat
modul DT- SENSE GAS SENSOR, selanjutnya master mengrimkan 1 byte data pengiriman perintah, dan setelah seluruh parameter perintah terkirim, selanjutnya data yang dikirim adalah end condition, seperti yang dijelaskan pada ilustrasi dibawah ini:
Sedangkan pembacaan data sensor, dilakukan secara 2 tahap, karena sebuah data / parameter memiliki range yang lebih besar dari 255 desimal (lebih besar dari 1 byte) Satu byte data MSB dikirim lebih dahulu kemudian diikuti dengan data LSB.
Misalnya parameter <dataSensor> yang memiliki range 0 – 1023. Jika (dataSensor) bernilai 1000 maka byte MSB yang dikirim adalah 3 dan byte LSB yang dikirim
3.5.2B AlgoritmaBPengirimanBDataBSensorBB
B
GambarB3.11BFlowchart pengiriman sensor
Pada dasarnya konsep dari pengiriman sensor DT-SENSE CARBON MONOXIDE SENSOR DAN DT-SENSE CARBON DIOXIDE SENSOR ini adalah data dikirim setiap 5 detik tanpa identitas asal data, setelah satu menit data yang
detik dan data dikirim setiap 5 detik sehingga 60 detik dibagi 5 detik ada 12 kali hitung tanpa identitas. Untuk analisa data, dilakukan pengambilan data selama 30
menit, sehingga data yang terkumpul berjumlah ± 30 data
Pada tugas akhir ini, penulis menggunakan Arduino Mega2560 sebagai mikrokontrolernya. Software yang digunakan untuk memprogram arduino tersebut
ialah software Arduino IDE. Dan dari algoritma yang dibuat diatas maka dibuatlah program seperti pada penjelasan dibawah ini:
Berikut contoh pemrogaman modul arduino Mega 2560 pada child node yang diprogam pada Arduino IDE
a. Pembuatan variable
Dalam pembuatan variable, terdapat beberapa variable yang digunakan oleh penulis seperti pada algoritma di atas. Berikut sebagai contoh :
b. Fungsi void setup
Dalam fungsi void setup perintah akan dibaca 1 kali setelah program berjalan. Berikut sebagai contoh :
int data, rata, data1, hitung;
void setup() {
i2c_init(); Serial.begin(115200);
bacaSensor();
Serial.print("DR#");
Serial.println(rata); //send data gas sensor A to
}
Dikarenakan pengiriman data menggnakan interface I2C, maka deperlukan adanya inisialisasi I2C pada awal program.
c. Fungsi void loop
Dalam void loop perintah akan dibaca berulangkali selama fungsi bacasensor masih berjalan dan akan menampilkan rata atau nilai tinggi dari sensor .
{
d. Fungsi void bacaSensor
Dalam void bacaSensor dilakukan pengambilan data berulang kali selama hitung belum memenuhi target yaitu 12, seperti yang digambarkan pada flowchart
gambar 3.10. Selama itu, setiap lima detik mikrokontroler akan mengambil data yang berasal dari sensor. Cara pembacaan sensor adalah sensor akan mengirimkan
frekuensi dan menerima data setiap 10ms, serta meletakkan data sensor pada alamat yang sudah ditentukan. Data tersebut akan ditampilkan tanpa menggunakan header agar penulis dapat menganalisis hasil rata – rata yang akan dikirimkan nantinya.
3.5.3B AlgoritmaBPengirimanBDataBdariBCluster HeadBkeBParent NodeB
B GambarB3.12BFlowchart pengiriman Data dari Cluster Head ke Parent NodeB
Berikut contoh pemrogaman modul arduino Mega 2560 pada Cluster Head yang diprogam pada Arduino IDE
a. Pembuatan variable
Seperti pada pengiriman data pada Child Node, Cluster Head juga mempunyai variable. Berikut sebagai contoh :
b. Fungsi void setup
Dalam fungsi void setup perintah akan dibaca 1 kali setelah program berjalan. Penggunaan baudrate adalah 115200, dikarenakan data yang digunakan
untuk mengirimkan data minimum harus menggunakan baudrate 115200 agar data dapat dikirim sampai dengan server. Berikut sebagai contoh :
c. Fungsi void loop
Pada void loop data yang diterima dikumpulkan menjadi satu di dalam
sebuah variable dikarenakan data yang diterima berkarakter char. Selanjutnya program akan mendeteksi apakah data memiliki header yang tepat atau tidak, header tersebut akan dikelompokkan kembali menurut asal sensornya agar diketahui
char buff_char;
String buff_string = ""; String buff_data;
int jumdr,jummr;
int data1, data2,rata1,rata2;
{
Serial.begin(115200);
Serial.println("Data yang berasal dari Node 1 dan Node 2");
Serial.println(""); delay(1000);
darimana asal sensor. Hal ini juga berfungsi, untuk menyering data yang diterima hanya merupakan data utuh yang berasal dari Child Node. Data yang sudah
dikelompokkan akan dikirim kembali dengan menggunakan header yang baru. Hal ini berfungsi agar data berulang kali dikirim dan diterima karena kemungkinan salah satu dari tujuan parent node merupakan Cluster Head. Sehingga format pengiriman data
menjadi sebagai berikut :
FORMATBPENGIRIMANBDATABCHBKEBPNB
PXXB #B DATAB #B
GambarB3.13BFormat pengiriman data dari Cluster Head ke Parent Node
Dan progam ditulis sesuai dengan algoritma yang telah dibuat seperti pada gambar 3.11.Berikut contohnya :
while(Serial.available()) {
buff_char = Serial.read(); buff_string.concat(buff_char); delay(1);
}
if(buff_string != "") {
buff_data=(splitValue(buff_string, '#', 0)); if(buff_data == "DR")
{
buff_string = "P" + buff_string; //Serial.print("RATA DR:"); Serial.println(buff_string); }
if(buff_data == "MR") {
buff_string = "P" + buff_string; //Serial.print("RATA MR:"); Serial.println(buff_string); }
d. Fungsi string splitValue
GambarB3.14BFungsi untuk memisahkan data
Untuk meringankan kerja algoritma inti Cluster Head maka dibuatkan sebuah fungsi pemisah data. Dan progam ditulis sesuai dengan algoritma yang telah
3.5.4B AlgoritmaBPengirimanBDataBdariBParent Node keBserverB
Berbeda dengan pengiriman data yang dilakukan oleh Child Node sampai menuju Parent Node. Pengiriman data yang berasal dari Parent Node delakukan
dengan cara menggunakan wifi. Hal ini menyebabkan perbedaan cara pengiriman dan penerimaan data yang dilakukan pada Parent Node. Seperti yag telah dijelaskan, bahwa pengiriman dilakukan denggan menggunakan protokol UDP.
Sebelum data dikirimkan ke server data ditampilkan terlebih dahulu pada sebuah end device, hal ini dilakukan agar penulis dapat menganalisa hasil pengiriman
data yang telah dilakukan, pengkodingan dilakukan pada arduino. Selanjutnya pengiriman data kepada server dilakukan melaui komputer, dalam hal ini menggunakan program pada Visual Basic.Maka, dibuatlah algoritma pengiriman data
pada parent node pada arduinoseperti gambar 3.14 dibawah ini:
String splitValue(String data, char separator, int index)
{
int found = 0;
int strIndex[]={0, -1};
int maxIndex = data.length()-1;
for(int i=0; i<=maxIndex && found<=index; i++) {
return found>index ? data.substring(strIndex[0], strIndex[1]) : "";
GambarB3.15BFlowchart koneksi antara alat dengan wifi
Dalam pengiriman data menggunakan wifi, diperlukan modul pendukung, yang dalam hal ini penulis menggunakan CC3000 milik Tony Lab. Untuk itu
diperlukan adanya penambahan library yang berasal dari modul untuk megakses modul tersebut. Dan, diperlukan adanya pengaturan IP pada alat juga computer yang terhubung dalam sebuah jaringan. Pemberian IP pada alat akan secara otomatis terjadi
saat alat terkoneksi pada sebuah jaringan, sama halnya dengan computer yang terkoneksi dalam sebuah jaringan computer. Akan tetapi, diperlukan adanya
pengaturan IP tujuan yang dilakukan pada alat agar data yang dikirim diterima oleh computer yang dituju.
3.5.5B AlgoritmaBPenerimaanBdanBPemisahanBDataBpada serverBB
Data yang diterima oleh server masih merupakan data mentah dengan header yang mengikuti data, untuk itu diperlukan adanya pemisahan data agar data dapat
diolah kembali menjadi sebuah grafik yang yang terpisah antara CO dan CO2. Selain itu, fungsi dari pemisahan data itu sendiri adalah untuk penyimpanan data pada setiap file yang telah dikelompokkan. Hasil dari pengelompokan file tersebut adalah seperti
B
GambarB3.18c.BBFlowchart penerimaan dan pemisahan data pada server
Pada diagram diatas dijelaskan bahwa data akan tersimpan secara otomatis sesuai dengan kelompok datanya, dalam sebuah file, sepert gambar 3.18 dibawah ini :
B
GambarB3.19BNama file yang tersimpan
3.6B MetodeBAnalisaB
Dalam memonitor kualitas udara ini, selain pembuatan algoritma pengiriman
data hal terpenting lainnya adalah analisa dari hasil pengiriman itu sendiri agar dapat diketahui seberapa baik sistem yang telah dibangun.
4.6.1 PeletakanBSensorBB
Dalam memonitoring kualitas udara ini yang terpenting adalah peletakkan masing – masing Child Node, Cluster Head dan Parent Node. Pada penelitian ini, Child Node 1 dan Child Node 2 akan diletakkan pada KOPMA atas Institut Bisnis
dan Informatika Stikom Surabaya dan Cluster Head 1 diletakkan jam menara Institut Bisnis dan Informatika Stikom Surabaya. Sedangkan Child Node 3 dan Child Node 4
akan diletakkan pada daerah disekitar gedung Serba Guna Institut Bisnis dan Informatika Stikom Surabaya dan Cluster Head 2 diletakkan pada daerah parkir Institut Bisnis dan Informatika Stikom Surabaya. Dan Parent Node diletakkan pada
diletakkan di ruang kemahasiswaan Institut Bisnis dan Informatika Stikom Surabaya Denah peletakan masing – masing node digambarkan pada gambar 3.1.
4.6.2 AnalisaBPenerimaanBDataBpadaBserverB
Cara menganalisa hasil monitoring udara ini adalah dengan menghitung delay dan juga data loss yang didapat saat pengiriman data terjadi, dengan
menggunakan topologi yang telah dibuat. Langkah – langkah yang yang dilakukan
untuk mendapatkan delay adalah dengan cara membuat rekaman video saat pengiriman dilakukan, dengan demikian akan diketahui waktu saat data dikirim dan saat data diterima, hal ini penting dilakukan, karena data udara yang diterima
merupakan data streaming, karena penelitian ini berhubungan dengan pencemaran udara, ketika udara termonitoring buruk, maka ada tindakan – tindakan yang cepat
dilakukan.
Sedangkan cara untuk memperoleh data loss adalah dengan cara membandingkan data yang telah dikirim dan diterima. Ada beberapa tingkatan yang
akan dianalisa pada penelitian ini, yaitu :
1. Data loss antara masing – masing child node dengan masing – masing cluster head
2. Data loss antara masing – masing cluster head dengan parent node 3. Data loss antara masing – masing child node dengan parent node
Hal ini dilakukan agar kita dapat mengetahui pada bagian mana data terkirim dengan baik dan kurang baik, sehingga nantinya dapat diperbaharui dikemudian hari.
Cara memperoleh data loss dengan melakukan penghitungan seperti dibawah ini :
= ℎ ℎ
ℎ 100 %
Pemisahan data diperlukan dalam hal ini, karena fungsi dari penambahan header sebenarnya hanya untuk memberi identitas asal data. Sehingga perlu dipisahkan untuk memudahkan user dalam melihat data pada end device.
B
68
Dalam bab ini penulis akan menguraikan dan menjelaskan beberapa hasil
pengujian dari hasil penelitian tugas akhir ini. Pengujian yang dilakukan meliputi
pengujian perangkat lunak (software), perangkat keras (hardware), dan kinerja
keseluhan sistem serta analisis hasil transmisi data dari Child Node ke server melalui
Parent Node serta Cluster Head masing-masing Child Node.
4.1B PengujianBSensorBDT-SENSEBCARBONBMONOXIDEB
Pengujian CO dengan menggunakan sensor DT-SENSE CARBON
MONOXIDE dan aplikasi arduino IDE dengan program menggirimkan data nilai
tertinggi.
4.1.1B TujuanB B
Pengujian ini dilakukan untuk mengetahui apakah sensor DT-SENSE
CARBON MONOXIDE yang digunakan dapat berfungsi dengan baik atau tidakB
4.1.2B AlatByangBdigunakanB
a. Sensor DT-SENSE CARBON MONOXIDE
b. Usb adapter
c. Arduino
d. Komputer/ laptop
e. Software Arduino IDE
4.1.3B ProsedurBpengujianBB
b. Hubungkan sensor DT-SENSE CARBON MONOXIDE pada arduino mega
sesuai dengan yang sudah digambarkan pada gambar 3.6
c. Nyalakan komputer kemudian hubungkan kabel usb tadi dengan komputer.
d. Buka software Arduino IDE dan isi perintah dalam bahasa C. Sebagai
contoh penulis memasukkan perintah sebagai berikut :
B
program yang telah diisi pada arduino. Dengan begitu sensor DT-SENSE CARBON
MONOXIDE ini dapat bekerja dengan baik, dan dapat digunakan untuk sistem.
B
while ( hitung < 12 ) {
B
GamnarB4.1BHasil Pengujian sensor DT-SENSE CARBON MONOXIDE
4.2BBBBBBBBB PengujianBSensorDT-SENSEBCARBONBDIOXIDEB
Pengujian CO2 dengan menggunakan sensor DT-SENSE CARBON
DIOXIDE dan aplikasi arduino IDE dengan program menggirimkan data nilai
tertinggi.
4.2.1B TujuanB B
Pengujian ini dilakukan untuk mengetahui apakah sensor DT-SENSE
CARBON DIOXIDE yang digunakan dapat berfungsi dengan baik atau tidak
B
4.2.2B AlatByangBdigunakanB
b. Usb adapter
c. Arduino
d. Komputer/ laptop
e. Software Arduino IDE
4.2.3B ProsedurBpengujianBB
a. Hubungkan Arduino mega dengan kabel usb
b. Hubungkan sensor DT-SENSE CARBON DIOXIDE pada arduino mega
sesuai dengan yang sudah digambarkan pada gambar 3.6
c. Nyalakan komputer kemudian hubungkan kabel usb tadi dengan komputer.
d. Buka software Arduino IDE dan isi perintah dalam bahasa C. Sebagai
contoh penulis memasukkan perintah sebagai berikut :
B
4.2.4B HasilBPengujianB
Gambar 4.2 menunjukan bahwa data dikirimkan sesuai dengan perintah
program yang telah diisi pada arduino. Dengan begitu sensor DT-SENSE CARBON
MONOXIDE ini dapat bekerja dengan baik, dan dapat digunakan untuk sistem.B
B
B B
GamnarB4.2BHasil Pengujian sensor DT-SENSE CARBON DIOXIDE
4.3BBBBBBBBBPengujianBXneeB
Pengujian Xbee dilakukan dengan menggunakan program X-CTU. Program
X-CTU merupakan open source yang digunakan untuk menkonfigurasi awal Xbee. B
4.3.1 TujuanB
Pengujian ini dilakukan untuk mengetahui apakah Xbee yang digunakan