• Tidak ada hasil yang ditemukan

TA : Rancang Bangun Protokol Komunikasi Data Pada Wireless Sensor Network Dengan Topologi Tree Untuk Memantau Gas Karbon Monoksida.

N/A
N/A
Protected

Academic year: 2017

Membagikan "TA : Rancang Bangun Protokol Komunikasi Data Pada Wireless Sensor Network Dengan Topologi Tree Untuk Memantau Gas Karbon Monoksida."

Copied!
82
0
0

Teks penuh

(1)

UNTUK MEMANTAU GAS KARBON MONOKSIDA

TUGAS AKHIR

Disusun Oleh:

Nama : Achmad Fajar Shodiq NIM : 08.41020.0052

Program : S1 (Strata Satu) Jurusan : Sistem Komputer

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

(2)

x DAFTAR ISI

ABSTRAKSI ... vi

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xiv

DAFTAR GAMBAR ... xvi

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Perumusan Masalah ... 3

1.3. Pembatasan Masalah ... 3

1.4. Tujuan ... 4

1.5. Kontribusi ... 4

1.6. Sistematika Penulisan ... 5

BAB II LANDASAN TEORI ... 7

2.1. Wireless Sensor Network (WSN) ... 7

2.1.1. Pengertian dan Perkembangan WSN ... 7

2.1.2. Penerapan dan Penggunaan WSN ... 8

2.1.3. Arsitektur WSN ... 9

2.1.4. Bagian-Bagian WSN ... 10

2.1.5. Komunikasi Dalam WSN ... 11

2.2. Mikrokontroler AVR ... 12

2.2.1. Pemograman Bahasa C untuk AVR ... 15

(3)

2.4. Komunikasi Serial ... 20

2.4.1. Komunikasi Serial Synchronous ... 21

2.4.2. Komunikasi Serial Asynchronous ... 21

2.4.3. Data Transfer Rate ... 22

2.5. Modul Komunikasi Wireless 802.15.4 Xbee-Pro ... 22

2.6. Sensor Gas Karbon Monoksida (MQ-7) ... 24

BAB III METODE PENELITIAN ... 26

3.1. Alat dan Bahan Penelitian ... 28

3.2. Jalan Penelitian ... 29

3.2.1. Studi Literatur ... 30

3.2.2. Perancangan Perangkat Keras ... 30

3.2.3. Perancangan Perangkat Lunak ... 32

A. Protokol Data ... 32

B. Program Modul WSN ... 34

C.1. Program Mikrokontroler Node 1 ... 35

C.2. Program Mikrokontroler Node 2 ... 40

C.3. Program Mikrokontroler Node 3 ... 45

C.4. Program Mikrokontroler Node Coordinator ... 52

3.3. Langkah Pengujian ... 55

3.3.1. Pengujian Modul Pendukung ... 56

A. Modul Minimum Sistem ... 56

B. Rangkaian Pemantau catu daya ... 56

C. Modul Wireless Xbee-Pro ... 57

(4)

3.3.2. Pengujian Aplikasi Pendukung ... 59

A. Program Mikrokontroler Tiap Node ... 59

3.3.3. Pengujian Jarak Akses XBee-Pro ... 60

3.3.4. Pengujian Keseluruhan Sistem ... 61

BAB IV HASIL DAN PEMBAHASAN ... 62

4.1. Pengujian Minimum Sistem ... 62

4.1.1. Hasil Pengujian ... 62

4.1.2. Pembahasan ... 63

4.2. Pengujian Rangkaian Pemantau catu daya ... 63

4.2.1. Hasil Pengujian ... 63

4.2.2. Pembahasan ... 64

4.3. Modul Wireless Xbee-Pro ... 64

4.3.1. Hasil Pengujian ... 64

4.3.2. Pembahasan ... 66

4.4. Modul Sensor Gas Karbon Monoksida ... 67

4.4.1. Hasil Pengujian ... 67

4.4.2. Pembahasan ... 68

4.5. Program Mikrokontroler Tiap Node ... 69

4.6.1. Hasil Pengujian ... 69

4.6.2. Pembahasan ... 71

4.6. Pengujian Jarak Akses XBee-Pro ... 72

4.6.1. Hasil Pengujian ... 72

4.6.2. Pembahasan ... 72

(5)

4.7.1. Hasil Pengujian ... 73

4.7.2. Pembahasan ... 73

BAB V KESIMPULAN DAN SARAN ... 74

5.1. Kesimpulan ... 74

5.2. Saran ... 74

DAFTAR PUSTAKA ... 76

(6)

1 BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Pencemaran udara adalah rusaknya kualitas udara yang tercemar oleh zat-zat polutan sehingga mengubah susunan udara yang bisa membahayakan manusia, hewan, dan tumbuhan. Semakin berkembang pesatnya pembangunan khususnya industri dan teknologi, serta meningkatnya jumlah kendaraan bermotor menyebabkan udara disekitar kita menjadi tercemar oleh gas-gas buang hasil pembakaran.

Kondisi udara yang buruk mempunyai dampak yang signifikan terhadap kesehatan. Udara yang telah tercemar oleh partikel dapat menimbulkan berbagai penyakit saluran pernapasan atau pneumokoniosis yang merupakan penyakit saluran pernapasan yang disebabkan oleh adanya partikel yang masuk atau mengendap di dalam paru-paru. (Wardhana, Arya, 1999).

Jenis polutan yang paling dominan menyebabkan pencemaran udara, antara lain: karbon monoksida, nitrogen dioksida, sulfur dioksida, partikulat, hidrokarbon, CFC, timbal dan karbondioksida. Karbon monoksida adalah polutan yang paling banyak dihasilkan pada kota-kota besar, hal ini disebabkan karena banyaknya gas buang yang dihasilkan oleh kendaraan bermotor dan proses industri.

(7)

diharapkan mampu mengurangi tingkat pencemaran udara khususnya gas karbon monoksida dengan salah satu cara melakukan penanaman tumbuhan secara masal. WSN dapat melakukan pemantuan lingkungan terbuka secara langsung dengan memanfaatkan beberapa macam sensor. (Mittal, 2010).

Dari sejumlah masalah utama dalam implementasi WSN antara lain: proses komunikasi dan konsumsi energi. Sering kali komunikasi pada WSN hanya mengandalkan protokol komunikasi dari device WSN yang digunakan. Apabila terdapat salah satu node yang mengalamai kegagalan sistem maka node yang berada dibawahnya tidak bisa melakukan proses komunikasi, sehingga data sensor yang berasal dari node tersebut tidak bisa tersampaikan ke pusat. Untuk mengatasi masalah tersebut diusulkan sebuah penelitian mengenai sebuah perancangan protokol komunikasi data pada penerapan WSN, yang bertujuan apabila terdapat kegagalan sistem pada salah satu node terdapat jalur backup komunikasi data sehingga node yang berada dibawahnya masih bisa mengirimkan data sensor menuju node pusat.

Permasalahan lain pada WSN adalah konsumsi energi. Hal ini disebabkan oleh catu daya pada node hanya disuplai oleh sebuah baterai. Maka dari itu dalam penelitian ini ditambahkan rangkaian pemantau catu daya yang bertujuan untuk mengetahui informasi penggunaan catu daya pada suatu node, sehingga bisa dijadikan acuan untuk menentukan batas minimum penggunaan catu daya.

(8)

node yang berada diatasnya Perancangan protokol komunikasi data diusahakan mengarah pada topologi tree sehingga proses komunikasi data bisa sesuai dengan penerapan topologi tree. Pemilihan topologi tree diharapkan mampu mengatasi permasalahan komunikasi yang terbatas pada jarak akses yang dimiliki oleh

device, sehingga node yang jarak aksesnya lebih jauh masih bisa terjangkau.

1.2. Perumusan Masalah

Dari beberapa hal yang telah disebutkan, maka dalam penelitian ini dapat dirumuskan masalah sebagai berikut.

1. Bagaimana menerapkan protokol komunikasi data dalam pengiriman data sensor gas karbon monoksida serta pemantau catu daya menggunakan WSN dengan topologi tree?

2. Bagaimana menerapkan topologi tree dalam WSN?

3. Bagaimana mendapatkan nilai yang dihasilkan oleh sensor gas karbon monoksida serta pemantau catu daya?

1.3. Pembatasan Masalah

Dari permasalahan yang dirumuskan di atas, maka batasan permasalahan yang kami gunakan untuk rancang bangun protokol komunikasi data pada

wireless sensor network dengan topologi tree untuk memantau gas karbon monoksida adalah sebagai berikut.

(9)

2. Jangkauan radius wireless antara masing-masing device sesuai dengan spesifikasi yang ada pada wireless XBee-Pro series 1.

3. Node 2 menjadi prioritas utama dalam penentuan komunikasi antar node baik komunikasi dari node coordinator atau node 1.

4. Routing komunikasi adalah statis.

5. Jenis pencemaran udara yang akan dipantau adalah karbon monoksida.

6. Output yang dihasilkan dari sensor gas MQ-7 adalah nilai respon sensor terhadap kandungan karbon monoksida dalam udara.

1.4. Tujuan

Tujuan dari rancang bangun protokol komunikasi data pada wireless sensor network dengan topologi tree untuk memantau gas karbon monoksida adalah sebagai berikut.

1. Menerapkan protokol komunikasi data dalam pengiriman data sensor gas karbon monoksida serta pemantau catu daya menggunakan WSN dengan topologi tree.

2. Menerapkan topologi tree dalam WSN.

3. Mendapatkan nilai yang dihasilkan oleh sensor gas karbon monoksida serta

pemantau catu daya.

1.5. Kontribusi

(10)

route komunikasi secara dinamis, serta pengumpulan data dari sensor gas karbon monoksida dapat dijadikan acuan keputusan kemungkinan terjadinya pencemaran udara secara berlebih.

1.6. Sistematika Penulisan

Laporan Tugas Akhir ini ditulis dengan sistematika penulisan sebagai berikut.

BAB I : PENDAHULUAN

Bab ini membahas tentang latar belakang, rumusan masalah, batasan masalah, tujuan, kontribusi serta sistematika penulisan buku tugas akhir.

BAB II : LANDASAN TEORI

Bab ini membahas tentang berbagai teori yang mendukung penelitian ini. Teori tersebut meliputi Wireless Sensor Network (WSN), topologi tree, komunikasi serial, modul komunikasi wireless

802.15.4 Xbee-Pro, mikrokontroler AVR, dan sensor gas karbon monoksida (MQ-7).

BAB III : METODE PENELITIAN

(11)

pembuatan protokol komunikasi data. Bab ini juga berisi penjelasan alat dan bahan penunjang penelitian, alur penelitian, dan langkah pengujian.

BAB IV : HASIL DAN PEMBAHASAN

Bab ini berisi tentang penjelasan hasil pengujian sistem beserta pembahasannya. Pengujian meliputi pengujian modul pendukung seperti sensor MQ-7 untuk mendeteksi gas karbon monoksida, modul minimum sistem sebagai pemroses, rangkaian catu daya sebagai indikator penggunaan catu daya, modul wireless Xbee-Pro sebagai media komunikasi nirkabel, serta pengujian keseluruhan sistem dengan menggunakan protokol komunikasi yang telah dibuat.

BAB V : PENUTUP

(12)

7

2.1. Wireless Sensor Network (WSN)

2.1.1. Pengertian dan Perkembangan WSN

Wireless sensor network atau jaringan sensor nirkabel adalah suatu jaringan nirkabel yang terdiri dari kumpulan node sensor yang tersebar di suatu area tertentu (sensor field). Tiap node sensor memiliki kemampuan untuk mengumpulkan data dan berkomunikasi dengan node sensor lainnya. Dengan adanya teknologi WSN, kita dapat memonitor dan mengontrol temperatur, kelembaban, kondisi cahaya, level derau, pergerakan suatu objek dan sebagainya.

Wireless Sensor Network atau disingkat dengan WSN adalah suatu peralatan sistem embedded yang didalamnya terdapat satu atau lebih sensor dan dilengkapi dengan peralatan sistem komunikasi. Sensor disini digunakan untuk menangkap informasi sesuai dengan karakteristik. (Agus, 2010). Wireless Sensor Network atau jaringan sensor nirkabel adalah kumpulan sejumlah node yang diatur dalam sebuah jaringan kerjasama. (Hill, dkk., 2000).). Masing-masing

node dalam jaringan sensor nirkabel biasanya dilengkapi dengan radio tranciever

atau alat komunikasi wireless lainnya, mikrokontroler kecil, dan sumber energi seperti baterai. Banyak aplikasi yang bisa dilakukan menggunakan jaringan sensor nirkabel, misalnya pengumpulan data kondisi lingkungan, security monitoring, dan node tracking scenarios. (Jason, 2003)

(13)

sensor sederhana yang memonitoring suatu fenomena sedangkan untuk yang komplek maka setiap WSN akan mempunya lebih dari satu sensor sehingga WSN ini akan dapat melakukan banyak monitoring suatu fenomena.

2.1.2. Penerapan dan Penggunaan WSN

Teknologi WSN banyak memberikan inspirasi dalam penerapan dan penggunaan untuk segala bidang. Beberapa penerapannya contohnya:

1) Monitoring lingkungan 2) Target tracking

3) Pipeline (Air, minyak, gas) tracking 4) Monitoring pertanian

5) Supply chain management 6) Traffic management

Setiap node WSN akan mengirim data sensor ke suatu base station dan hasil kumpulan data semuanya akan diolah sehingga ini akan memberikan suatu informasi.

Sumber: Agus, 2010

(14)

2.1.3. Arsitektur WSN

Pada WSN, node sensor disebar dengan tujuan untuk menangkap adanya gejala atau fenomena yang hendak diteliti. Jumlah node yang disebar dapat ditentukan sesuai kebutuhan dan tergantung beberapa faktor misalnya luas area, kemampuan sensing node, dan sebagainya. Tiap node dalam WSN dapat melakukan pemantuan lingkungan terbuka secara langsung dengan memanfaatkan beberapa macam sensor. (Mittal, 2010). Arsitektur WSN secara umum dapat ditunjukkan pada gambar 2.2.

Sumber : http://telekom.ee.uii.ac.id/index.php/berita/15-wsn1

Gambar 2.2. Arsitektur WSN Secara Umum

(15)

2.1.4. Bagian-Bagian WSN

WSN terbagi atas 5 bagian, yaitu comunication, mikrokontroler, power

supply, memori eksternal, dan sensor seperti pada gambar 2.3. Bagaimana menggabungkan ini adalah hal yang harus diperhatikan ketika kita melakukan perancangan. Sistem processor merupakan bagian sistem yang terpenting pada WSN yang dapat mempengaruhi performance ataupun konsumsi energi.

Sumber : (E, Sugiarto, & Sakti, 2009)

Gambar 2.3. Komponen Penyusun Node Dalam WSN

1) Comunication berfungsi untuk menerima/mengirim data dengan menggunakan protokol IEEE 802.15.4 atau IEEE 802.11b/g kepada device lain seperti

concentrator, modem Wifi, dan modem RF.

2) Mikrokontroler berfungsi untuk melakukan fungsi perhitungan, mengontrol dan memproses device–device yang terhubung dengan mikrokontroler.

3) Power Supply berfungsi sebagai sumber energi bagi sistem Wireless Sensor

secara keseluruhan.

4) External Memory berfungsi sebagai tambahan memory bagi sistem Wireless Sensor, pada dasarnya sebuah unit mikrokontroler memiliki unit memory sendiri.

Memory

Sensor/ actuators Controller

Communication device

(16)

5) Sensor berfungsi untuk men–sensing besaran–besaran fisis yang hendak diukur. Sensor adalah suatu alat yang mampu untuk mengubah suatu bentuk energi ke bentuk energi lain, dalam hal ini adalah mengubah dari energi besaran yang diukur menjadi energi listrik yang kemudian diubah oleh ADC menjadi deretan pulsa terkuantisasi yang kemudian bisa dibaca oleh

mikrokontroler.

2.1.5. Komunikasi dalam WSN

Wireless sensor menggunakan 2 standar komunikasi wireless, yaitu: IEEE 802.15.4. Protokol IEEE 802.15.4 ini merupakan salah satu macam dari protokol– protokol pada WPAN (Wireless Personal Area Networks), salah satu contoh dari WPAN yang lainnya adalah bluetooth. Protokol IEEE 802.15.4 ini merupakan standar untuk gelombang radio (RF). Protokol ini bekerja pada data rate yang rendah agar batere bisa tahan lama, dan sederhana. Suatu device yang menggunakan protokol ini, dapat terkoneksi dengan baik pada radius maksimal 10m dan dengan data rate maksimal 250 Kbps dengan alat lainnya. Protokol ini menggunakan 3 pita frekuensi untuk keperluan operasionalnya, seperti: 868–868.8 MHz untuk daerah Eropa, 902–928 MHz untuk daerah Amerika Utara, dan 2400– 2483.5 MHz untuk daerah lainnya diseluruh dunia. ZigBee merupakan salah satu

(17)

IEEE 802.11 Protokol ini terdiri atas beberapa jenis standar lain untuk WLAN (Wireless Local Area Networks), saat ini yang paling populer adalah IEEE 802.11g dan 802.11b. Pada Wireless Sensor Network digunakan protokol IEEE 802.11b/g. ProtokolIEEE 802.11 ini memiliki beberapa channel yang frekuensinya berbeda, agar tidak terjadi interferensi antar device IEEE 802.11 ini, pembagian frekuensi untuk tiap–tiap channel diatur oleh kebijakan masing– masing negara. Protokol IEEE 802.11b yang digunakan pada Wireless Sensor, mempunyai data rate maksimum 11 Mbps. Pada kenyataannya, protokol ini hanya mampu mempunyai data rate maksimum 5,9 Mbps dengan TCP, dan 7,1 Mbps untuk UDP (User Datagram Protocol). Hal ini karena adanya overhead

pada CSMA. Protokol IEEE 802.11bini mampu beroperasi pada radius jarak 38 m dari device lain, dan memiliki frekuensi operasi pada 2,4 GHz.

2.2. Mikrokontroler AVR

Microcontroller dan microprocessor mempunyai beberapa perbedaan.

(18)

Microcontroller lebih tepat untuk digunakan pada aplikasi embedded system. (Husanto, 2008).

Berbagai seri mikrokontroler AVR telah diproduksi oleh Atmel dan digunakan di dunia sebagai mikrokontroler yang bersifat low cost dan high performance. Mikrokontroler AVR banyak dipakai karena fiturnya yang cukup lengkap, mudah untuk didapatkan, dan harganya yang relatif terjangkau. Mikrokontroller AVR memiliki arsitektur RISC 8 bit, dimana semua instruksi dikemas dalam kode 16-bit (16-bits word) dan sebagian besar instruksi dieksekusi dalam satu siklus clock, berbeda dengan instruksi MCS51 yang membutuhkan 12 siklus clock. Hal ini terjadi karena perbedaan arsitektur yang dipakai. AVR menggunakan arsitektur RISC (Reduced Instruction Set Computing) sedangkan MCS51 menggunakan arsitektur CISC (Complex Instruction Set Computing).

(19)

Sumber : Atmel, 2011

Gambar 2.4. Blog Diagram Mikrokontroler AVR Keterangan:

a. Flash adalah suatu jenis read only memory yang biasanya diisi dengan program hasil buatan manusia yang harus dijalankan oleh mikrokontroler b. Random Acces Memory (RAM) merupakan memori yang membantu CPU

untuk penyimpanan data sementara dan pengolahan data ketika program dalam keadaan running

c. Electrically Erasable Programmable Read Only Memory (EEPROM) adalah memori untuk penyimpanan data secara permanen oleh program yang sedang

(20)

d. Port I/O adalah kaki untuk jalur keluar atau masuk sinyal sebagai hasil keluaran ataupun masukan bagi program

e. Timer adalah modul dalam hardware yang bekerja untuk menghitung waktu/pulsa

f. Universal Asynchronous Receive Transmit (UART) adalah jalur komunikasi data khusus secara serial asynchronous

g. Pulse Width Modulation (PWM) adalah fasilitas untuk membuat modulasi pulsa

h. Analog to Digital Converter (ADC) adalah fasilitas untuk dapat menerima sinyal analog dalam range tertentu untuk kemudian dikonversi menjadi suatu nilai digital dalam range tertentu

i. Serial Peripheral Interface (SPI) adalah jalur komunikasi data khusus secara serial secara serial synchronous

j. In System Programming (ISP) adalah kemampuan khusus mikrokontroler untuk dapat diprogram langsung dalam sistem rangkaiannya dengan membutuhkan jumlah pin yang minimal

2.2.1. Pemograman Bahasa C untuk AVR

Bahasa C luas digunakan untuk pemrograman berbagai jenis perangkat, termasuk mikrokontroler. Bahasa ini sudah merupakan high level language, dimana memudahkan programmer menuangkan algoritmanya.

(21)

A. Pre-Proccesor

Merupakan bagian dari program dalam bahasa c yang selalu dijalankan pertama kali. Bagian ini juga melakukan proses tertentu. Banyak sekali syntax dalam pre-processor. Namun setidaknya ada dua syntax yang akan sering kita gunakan dalam latihan programming dasar, yaitu syntax #include dan #define.

Sumber : http://digilib.ittelkom.ac.id

Gambar 2.5. Stuktur Penulisan Program Bahasa C Pada AVR

1) #include adalah proses yang pertama kali dijalankan untuk memanggil

library/prototype fungsi yang ada di dalam header file.

2) #define adalah proses yang pertama kali dijalankan untuk mendefinisikan konstanta dan macro. Nilai dari konstanta tidak akan berubah selama program berlangsung.

3) Mainfunction adalah fungsi utama dalam suatu program. Tentu saja fungsi ini yang akan dijalankan pertama kali. Tidak menutup kemungkinan di dalam fungsi ini terdapat statement yang memanggil fungsi lain.

(22)

diletaktan diatas fungsi utama, ataupun dapat juga dibawah fungsi utama (dengan menambahkan deklarasi fungsi diatas fungsi utama).

B. Tipe Data

Tipe data merupakan bagian program yang paling penting karena tipe data mempengaruhi setiap instruksi yang akan dilaksanakan oleh komputer. Berikut merupakan tipe data dalam bahasa C

1) char : 1 byte ( -128 s/d 127 ) 2) unsigned char : 1 byte ( 0 s/d 255 ) 3) int : 2 byte ( -32768 s/d 32767 ) 4) unsigned int : 2 byte ( 0 s/d 65535 )

5) long : 4 byte ( -2147483648 s/d 2147483647 ) 6) unsigned long : 4 byte ( 0 s/d 4294967295 ) 7) float : bilangan desimal

8) array : kumpulan data-data yang sama tipenya.

C. Deklarasi Variabel & Konstanta

1) Variabel adalah memori penyimpanan data yang nilainya dapat diubah-ubah. Penulisan : [tipe data] [nama] = [nilai] ;

2) Konstanta adalah memori penyimpanan data yang nilainya tidak dapat diubah. Penulisan : const [nama] = [nilai] ;

3) Tambahan

(23)

Local variabel/konstanta yang hanya dapat diakses oleh fungsi tempat dideklarasikannya.

Statement adalah setiap operasi dalam pemrograman, harus diakhiri dengan [ ; ] atau [ } ]. Statement tidak akan dieksekusi bila diawali dengan tanda [ // ] untuk satu baris. Lebih dari 1 baris gunakan pasangan [ /* ] dan [ */ ]. Statement yang tidak dieksekusi disebut juga comments / komentar.

C.1. Conditional Statement Dan Looping

1) if else : digunakan untuk penyeleksian kondisi

2) for : digunakan untuk looping dengan jumlah yang sudah diketahui 3) while : digunakan untuk looping jika dan salama memenuhi syarat

tertentu

4) do while : digunakan untuk looping jika dan salama memenuhi syarat tertentu, namun min 1 kali

5) switch case : digunakan untuk seleksi dengan banyak kondisi

C.2. Operasi Logika Dan Biner

1) && (logika and) digunakan bila ingin mendapatkan nilai yang true hanya jika kedua input bernilai HIGH.

2) | | (logika or) digunakan bila ingin mendapatkan nilai yang true

(24)

C.3. Operasi Relasional (Perbandingan)

1) == (sama dengan) Membuat sesuatu menjadi sama dengan nilai yang lain 2) != (tidak sama dengan) Tidak sama dengan (misalnya: 12 != 10 adalah TRUE

(benar) atau 12 != 12 adalah FALSE (salah)).

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

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

C.4. Operasi Aritmatika

1) + , - , * , / (tambah,kurang,kali,bagi)

2) += , -= , *= , /= (nilai di sebelah kiri operator di tambah/kurang/kali/bagi dengan nilai di sebelah kanan operator)

3) % (sisa bagi)

4) ++ , -- (tambah satu (increment) , kurang satu (decrement))

2.3. Topologi Tree

(25)

sebuah perusahaan mengkonfigurasi jaringan sesuai dengan kebutuhannya. (Rahayu, 2004)

Pada topologi tree terdapat beberapa tingkatan simpul atau node. Pusat atau simpul yang lebih tinggi tingkatannya, dapat mengatur simpul lain yang lebih rendah tingkatannya. Data yang dikirim perlu melalui simpul pusat terlebih dahulu. Misalnya untuk bergerak dari node 2 menuju node 5 seperti ditunjukkan pada gambar 2.2 data yang ada harus melewati node 2, node 3 dan node 4 sebelum berakhir pada node 5. Keungguluan topologi tree seperti ini adalah dapat terbentuknya suatu kelompok yang dibutuhkan pada setiap saat. Adapun kelemahannya adalah apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompok lainnya yang berada dibawahnya akhirnya juga menjadi tidak efektif.

Sumber : http://id.wikipedia.org/wiki/Topologi_pohon

Gambar 2.6. Topologi Tree

2.4. Komunikasi Serial

(26)

antara -3V hingga -25V danlogika “0” antara +3V hingga +25V sehingga kehilangan daya karena panjangnya kabel tidak menjadi masalah.

Komunikasi serial adalah pengiriman data yang dilakukan secara serial (data dikirim satu persatu secara berurutan), sehingga komunikasi serial lebih lambat daripada komunikasi paralel. Komunikasi serial biasanya digunakan untuk sambungan dengan jarak yang relatif lebih jauh. (Santosa, 1996)

2.4.1. Komunikasi Serial Synchronous

Komunikasi sychronous adalah mengirimkan data beberapa byte atau karakter (atau disebut blok data atau frame) sebelum meminta konfirmasi apakah data sudah diterima dengan baik atau tidak. Menurut (Nalwan, 2003) Transmisi secara synchcronous yaitu pengiriman data serial yang disertai dengan sinyal

clock. Synchcronous berarti transmitter dan receiver mempunyai sumber clock

yang berbeda.

Sumber : Tanutama, 1989

Gambar 2.7. Transmisi Synchronous

2.4.2. Komunikasi Serial Asynchronous

Komunikasi asynchronous adalah mengirimkan data setiap satu byte

(27)

mentransmisikan data secara serial, yaitu secara synchronous dan asynchronous. Perbedaan dari kedua cara tersebut adalah sinyal clock yang dipakai sebagai sinkronisasi pengiriman data. asynchronous yaitu pengiriman data serial yang tidak disertai sinyal clock sehingga receiver harus membangkitkan sinyal clock

sendiri (tidak memerlukan sinkronisasi).

Sumber : Tanutama, 1989

Gambar 2.8. Transmisi Asynchronous

2.4.3. Data Transfer Rate

Kecepatan tranfer data pada komunikasi data serial diukur dalam satuan BPS (bits per second). Sebutan terkenal lainnya adalah baud rate. Namun baud rate dan bps tidak serta merta adalah sama. Hal ini mengacu kepada fakta bahwa baud rate adalah terminology modem dan diartikan sebagai perubahan signal dalam satuan bit signal setiap detik. Sedang data tranfer rate penamaannya mengacu pada jumlah bit dari byte data yang ditransfer setiap detik. Sementara itu kecepatan transfer data (data transfer rate) pada komputer ter-gantung pada jenis komunikasi yang diberlakukan atasnya.

2.5. Modul Komunikasi Wireless 802.15.4 Xbee-Pro

Modul komunikasi wireless yang digunakan adalah XBee-Pro. Modul ini berguna untuk menjalin komunikasi antara microntroller dan komputer secara

(28)

pada frekuensi 24GHz, dan daya jangkau komunikasi sekitar 1-1.5km. Kecepatan kirim XBee-Pro lebih cepat karena XBee-Pro menggunakan fullduplex.

Modul XBee-Pro dibuat sesuai dengan standar ZigBee / IEEE 802.15.4. Modul ini membutuhkan daya yang rendah dan beroperasi dalam frekuensi 2,4 GHz ISM.

Modul komunikasi wireless ini mempunyai beberapa fitur, yaitu :

1. Jarak pengendalian dalam ruangan bisa mencapai 100 meter, dan diluar ruangan dapat mencapai 300 meter.

2. Transmisi daya yang hingga: 100 mW (20 dBm) 3. Sensitivitas penerimaan data mencapai: -100 dBm 4. Mempunyai kecepatan transfer data: 250,000 bps

5. Paket dapat dikirimkan dan diterima menggunakan data 16-bit atau sebuah alamat 64-bit (protokol 802.15.4).

6. Setiap modul akan menerima paket ketika dikonfigurasi untuk beroperasi di

Broadcast Mode. Dalam mode ini modul penerima tidak mengirim ACK (Acknowledgement) dan Transmitting.

(29)

Sumber : Evolution.2010. XBee-PRO Basic

Gambar 2.9. Modul XBee-Pro

Tabel 2.1. Spesifikasi Xbee-Pro (Digi Internatonal, Inc., 2009)

Performance

Indoor Urban-Range up to 300‟ (100 m)

Outdoor RF line-of-sight Range up to 1 mile (1500 m)

Transmit Power Output 60 mW (18 dBm) conducted,

(software selectable) 100 mW (20 dBm) EIRP

RF Data Rate 250,000 bps

Serial Interface Data Rate 1200 – 115200 bps

(software selectable) (non-standard baud rates also supported)

Receiver Sensitivity - 100 dBm (1% packet error rate)

Power Requirements

Supply Voltage 2.8 – 3.4 V

Idle / Receive Ourrent (typical) 55 mA (@3.3 V)

Power-down Current < 10 μA

General

Operating Frequency ISM 2.4 GHz

Frequency Band 2.4 - 2.4835 GHz

Modulation OQPSK

Dimensions 0.960" x 1.297" (2.438cm x 3.294cm)

Operating Temperature -40 to 85° C (industrial)

Antenna Options Integrated Whip, Chip or U.FL Connector

Networking & Security

Supported Network Topologies Point-to-point, Point-to multipoint & Peer-to-peer

Number of Channels 12 Direct Sequence Channels

Addressing Options PAN ID, Channel and Addresses

2.6. Sensor Gas Karbon Monoksida (MQ-7)

(30)

1. Solid electrolyte layer

2. Gold electrode

3. Platinum Lead

4. Heater

5. Porcelain Tub

6. 100 m double-layer stainless net

7. Nickel dan copper plated ring

8. Bakelite

9. dan copper plated pin ( Hanwei, 2012).

[image:30.595.93.507.295.649.2]

Sumber : Hanwei, 2012.

Gambar 2.10. Struktur Sensor Gas Karbon Monoksida Tabel 2.2. Spesifikasi Sensor Gas Karbon Monoksida

(Hanwei Electronics Co. Ltd.)

Symbol Parameter name Technical Condition Remark

Vc Circuit voltage 5V±0.1 Ac or Dc

VH (H) Heating voltage (high) 5V±0.1 Ac or Dc

VH (L) Heating voltage (low) 1.4V±0.1 Ac or Dc

RL Load resistance Can adjust

RH Heating resistance 33Ω±5% Room temperature

TH (H) Heating time (high) 60±1 seconds

TH (L) Heating time (low) 90±1 seconds

(31)

26

[image:31.595.94.505.308.683.2]

Penelitian dilakukan melalui beberapa tahap penelitian. Tahap pertama adalah merancang desain topologi, menyiapkan dan menentukan jumlah hardware yang dibutuhkan, membuat program software dan yang terakhir adalah pengujian. Perancangan komunikasi data terdiri dari beberapa node. Node dipasang sesuai dengan topologi tree seperti yang ditunjukkan pada gambar 3.1.

Gambar 3.1. Pemasangan Node dengan Topologi Tree

Dari gambar 3.1 dapat dilihat bahwa penelitian ini menggunakan 4 buah

node dan 1 personal computer yang berfungsi sebagai monitoring pencemaran Personal

Computer

COORDINATOR

XBee-Pro Mikrokontroler

NODE 3

XBee-Pro Mikrokontroler C

a t u

D a y a

MQ-7

NODE 2

XBee-Pro Mikrokontrol

er MQ-7

NODE 1

XBee-Pro Mikrokontrol

er MQ-7 Backup

Jalur Komunikasi

(32)

udara. Node coordinator berfungsi untuk menerima data dari node 1, 2, dan 3 sedangkan node 1, 2 dan 3 berfungsi untuk mengirimkan nilai respon sensor kandungan karbon monoksida pada udara atau data pemantau catu daya. Node coordinator terdiri dari modul wireless, dan modul mikrokontroler, sedangkan 3 buah node lainnya terdiri dari modul wireless, modul mikrokontroler, dan modul sensor gas karbon monoksida. Pada tugas akhir ini, penulis hanya membahas tentang protokol komunikasi data sebagai proses komunikasi pada node 1, node 2,

node 3 dan node coordinator. Sedangkan untuk aplikasi monitoring pada personal computer, serta perangcangan dan konfigurasi perangkat keras dikerjakan dalam

tugas akhir berjudul “Rancang Bangun Aplikasi Monitoring Sebagai Informasi

Gas Karbon Monoksida Pada Jaringan Sensor Network” oleh Ahmad Alfian Ilmi.

Pada salah satu node penulis memberikan rangkaian pemantau catu daya yang berfungsi memberikan informasi pemakaian daya. Nilai yang dihasilkan oleh sensor gas karbon monoksida akan dikirim ke mikrokontroler menggunakan Inter Integrated Circuit (I2C). Data tersebut selanjutnya akan diproses oleh mikrokontroler, data yang telah diproses mikrokontroler kemudian dikirim melalui komunikasi serial ke Xbee-Pro transmintter (Tx). Xbee-Pro Tx akan mengirimkan data menuju node coordinator dengan media wireless melewati beberapa node yang telah diatur sebelumnya. Dari gambar 3.1. proses aliran pengiriman data saat kondisi node 1, 2 dan 3 dalam keadaan aktif ditandai dengan garis panah yang tegas. Data yang berasal dari node 1 akan dikirimkan menuju

(33)

melalui node 3. Pada masing-masing node data tersebut akan diterima oleh Xbee-Pro receiver (Rx) yang kemudian akan dikirim ke mikrokontroler melalui komunikasi serial yang bertujuan untuk meneruskan data tersebut agar sampai pada node coordinator. Data pada node coordinator kemudian dikirim menuju

personal computer melalui komunikasi serial. Selanjutnya personal computer

akan menampilkan nilai pencemaran udara yang dihasilkan oleh sensor gas karbon monoksida yang terpasang pada setiap node beserta informasi catu daya yang berasal dari node 3.

3.1. Alat dan Bahan Penelitian

Alat dan bahan yang digunakan dalam penelitian ini adalah sebagai berikut.

1. Power supply digunakan untuk memberi daya pada masing-masing device. 2. Gas karbon monoksida digunakan sebagai bahan penelitian yang akan

dipantau oleh sensor.

3. Bagian elektronik pada setiap node terdapat modul-modul elektronika diantaranya modul sensor gas karbon monoksida, modul komunikasi wireless

802.15.4 Xbee-Pro, serta modul rangkaian pemantau catu daya yang terdapat pada node 3.

4. Peralatan pendukung yang diperlukan adalah multimeter, kabel serial RS232, tang potong, solder, timah, penyedot timah, dan beberapa mur-baut sesuai keperluan.

5. Personal computer digunakan untuk merancang dan membuat program pada

(34)

3.2. Jalan Penelitian

[image:34.595.95.497.187.508.2]

Penelitian ini dikerjakan dalam beberapa langkah sistematis yang saling berurutan. Langkah-langkah yang dilakukan dalam menyelesaikan penelitian ditunjukkan pada gambar 3.2 berikut.

Gambar 3.2. Blok Diagram Langkah-langkah Penelitian

(35)

3.2.1. Studi Literatur

Studi literatur dalam penelitian ini meliputi studi kepustakaan dan penelitian laboratorium. Dengan cara ini penulis berusaha untuk mendapatkan dan mengumpulkan data-data, informasi, konsep-konsep yang bersifat teoritis dari buku bahan-bahan kuliah dan referensi dari internet yang berkaitan dengan permasalahan. Antara lain Wireless Sensor Network (WSN), komunikasi serial

asynchronous (UART), komunikasi serial synchronous (I2C), modul komunikasi

wireless 802.15.4 Xbee-Pro, mikrokontroler AVR, sensor gas karbon monoksida (MQ-7), dan rangkaian pemantau catu daya. Teori dan informasi yang sudah diperoleh merupakan pendukung untuk melakukan langkah selanjutnya yang berhubungan dengan perancangan perangkat keras dan perangkat lunak.

3.2.2. Perancangan Perangkat Keras

[image:35.595.94.511.289.615.2]

Langkah-langkah yang dilakukan dalam perancangan perangkat keras ditunjukkan pada gambar 3.3 berikut.

(36)

informasi penggunaan daya pada salah satu node. Informasi ini akan dikirim menuju node coordinator yang selanjutnya akan ditampilkan pada personal computer. Langkah selanjutnya adalah konfigurasi modul yaitu menghubungkan beberapa modul antara lain, rangkaian pemantau catu daya, modul sensor gas MQ7 dan modul wireless Xbee-Pro dengan modul minimum sistem. Modul minimum sistem sendiri dibuat untuk mendukung kerja dari microchip ATmega dimana microchip tidak bisa berdiri sendiri melainkan harus ada rangkaian dan komponen pendukung seperti halnya rangakaian catu daya, kristal dan lain sebagainya yang biasanya disebut minimumsistem.

Microchip berfungsi sebagai otak dalam mengolah semua instruksi baik

[image:36.595.91.512.307.578.2]

input maupun output seperti halnya pemproses data input dari sensor atau catu daya yang kemudian menghasilkan output dan mengirimkan data serial ke XBee – Pro Tx atau memproses data yang diterima dari Xbee-Pro Rx seperti yang ditunjukkan pada gambar 3.5.

Gambar 3.4. Blok Diagram Konfigurasi Modul

Pada Tugas Akhir ini penulis membagi rangkaian minimum sistem menjadi 4 (empat) bagian yang terdapat pada masing-masing node. Pada node 1 menggunakan minimum sistem ATmega 8535, node 2 dan node 3 menggunakan minimum sistem ATmega 8, sedangkan pada node coordinator menggunakan minimum sistem ATmega 128.

Modul Gas MQ7

Modul

Minimum

Sistem

(37)

3.2.3. Perancangan Perangkat Lunak

Perancangan perangkat lunak dilakukan untuk merancang sistem pada mikrokontroler agar mendapatkan hasil sesuai dengan yang dibutuhkan. Langkah-langkah yang dilakukan dalam perancangan perangkat lunak ditunjukkan pada gambar 3.10 berikut.

Gambar 3.5. Blok Diagram Langkah-langkah Perancangan Perangkat Lunak Perancangan perangkat lunak dimulai dengan membuat protokol data yang berfungsi untuk membedakan data dari setiap node, kemudian membuat program modul WSN yang berisi program pembacaan sensor gas karbon monoksida serta program komunikasi data agar sistem dapat berjalan sesuai dengan protokol komunikasi data.

A. Protokol Data

Satu paket data yang dikirimkan oleh setiap node menuju station pusat atau node coordinator yang berisi data sensor MQ7 atau data pemantau catu daya yang sebelumnya sudah ditambahkan header dan trailler. Gambar dibawah ini menunjukkan bentuk paket data pada masing-masing node sebelum digabung dengan paket data yang berasal dari node lain.

Gambar 3.6. Bentuk Paket Data Node 1

Gambar 3.7. Bentuk Paket Data Node 2

Header

‘q’

(1-Byte)

Data Sensor Mq7

(3-Byte)

Trailler

‘w’

(1-Byte)

Header

‘z’ atau ‘k’

(1-Byte)

Data Sensor Mq7

(3-Byte)

Trailler

‘x’ atau ‘e’

(38)

Pada node 3 terdapat data pemantau catu daya dan data sensor MQ7 maka dalam paket data ditambahkan karakter pemisah. Gambar 3.8 menunjukkan bentuk paket data pada node 3.

Gambar 3.8. Bentuk Paket Data Node 3

Pada saat node 2 atau node 3 menerima data sensor yang berasal dari node

1 data tersebut akan dibentuk menjadi satu paket data sebelum data tersebut dikirim. Gambar 3.9 dan gambar 3.10 menunjukkan bentuk paket data pada node

2 dan node 3 setelah digabung dengan data sensor node 1.

Gambar 3.9. Pembentukan Paket Data Node 2Dan Node 1

Gambar 3.10. Pembentukan Paket Data Node 3Dan Node 1

Header dan tralier yang digunakan untuk paket data pada setiap node

tidak sama, hal ini bertujuan untuk membedakan data yang dikirimkan oleh masing-masing node. Tabel 3.1 menunjukkan header dan trailler yang digunakan untuk paket data.

Tabel 3.1. Penggunaan Header Dan Trailler Pada Masing-Masing Node

Header Trailler Fungsi

z x Paket data sensor MQ7 node 1

(apabila node 2 dalam keadaan hidup) k e Paket data sensor MQ7 node 1

(apabila node 2 dalam keadaan mati) q w Paket data sensor MQ7 node 2 h r Paket data sensor MQ7 node 3

Header

‘h’

(1-Byte)

Data Sensor Mq7

(3-Byte)

Pemisah

‘o’

(1-Byte)

Trailler

‘l’ dan ‘r’

(2-Byte) Data

Catu Daya (3-Byte)

Header ‘q’ (1-Byte) Data Sensor Mq7 (3-Byte) Pemisah ‘m’ (1-Byte) Trailler

‘n’ dan ‘w’

(2-Byte) Data

Sensor Node 1

(3-Byte) Header ‘h’ (1-Byte) Data Sensor Mq7 (3-Byte) Pemisah ‘o’ (1-Byte) Pemisah ‘l’ (1-Byte) Data Catu Daya (3-Byte) Trailler

‘n’ dan ‘r’

(2-Byte) Data

Sensor Node 1

(39)
[image:39.595.94.510.252.499.2]

Sebelum pengiriman paket data antar node, bagian pengiriman data akan menunggu request data atau ACK dari node yang ada diatasnya, serta saat aktifasi setiap node akan mengirimkan sebuah karakter ASCII ke node lain yang terhubung yang bertujuan sebagai penanda bahwa node tersebut dalam kondisi aktif dan siap berkomunikasi. Untuk mengetahui hal tersebut dikirimkan beberapa karakter ASCII seperti yang ditunjukkan pada tabel 3.2.

Tabel 3.2. Penggunaan Karakter ASCII Karakter

ASCII Fungsi

! Data ack dari node coordinator menuju node 2 @ Data ack dari node coordinator menuju node 3

# Data ack dari node 2menuju node 1 $ Data ack dari node 3menuju node 1 % Kode aktifasi dari node 3

^ Kode aktifasi dari node 2 & Kode aktifasi dari node 1

Tipe data hasil pembacaan setiap sensor dan pemantau catu daya adalah masing-masing integer (3 Byte). Dalam satu kali pengiriman data serial hanya dapat dilakukan 1 byte, sehingga data pembacaan sensor harus dipisah per 1 byte. Program pemisahan data akan ditunjukkan pada program mikrokontoler masing-masing node.

B. Program Modul WSN

(40)

B.1. Program Mikrokontroler Node 1

Pada program mikrokontroler node 1 hal pertama yang dilakukan adalah mengambil data sensor gas karbon monoksida kemudian dilakukan pembentukan paket data. Setelah data terbentuk node 1 akan mengunggu data ack yang berasal dari node 2 atau node 3. Jika terdapat data ack mikrokontroler akan mengirimkan paket data menuju node yang memberikan data ack. Gambar 3.11 menunjukkan digram alir program mikrokontoler node 1. Diagram alirini mewakili sistem kerja peralatan node 1 secara global yang masih dapat dipecah dan diperjelas dengan dibuatkan diagram alir tiap-tiap bagian.

START

Inisialisasi Data Sensor

MQ7

Pengambilan Data Sensor

Pembentukan Paket Data

Terima Data

Data ACK

Kirim Paket Data Y

Y T

[image:40.595.92.505.315.601.2]

T

Gambar 3.11. Diagram Alir Program Mikrokontroler Node 1

(41)

Selanjutnya mikrokontroler akan membaca serta menyimpan data sensor gas karbon monoksida agar dapat digunakan saat diperlukan.

i2c_start(); // Start Condition

i2c_write(0xE0); // Write to module (alamat I2c ke 1)

i2c_write(0x41); // “Read Sensor” Command address sensor co i2c_stop(); // Stop Condition

delay_us(10); // 10 us delay i2c_start(); // Start Condition

i2c_write(0xE1); // Read from module (alamat baca ke 1) temp1 = i2c_read(1); // Data Sensor

temp2 = i2c_read(0); // Data Sensor i2c_stop(); // Stop Condition sensor = (temp1 * 256) + temp2 ;

I2C start digunakan untuk mengirimkan sinyal start sebagai penanda bahwa mikrokontroler siap berkomunikasi dengan sensor, I2C write (0xE0) digunakan untuk mengakses atau menuliskan alamat pada modul sensor CO yang dituju, I2C write (0x41) digunakan untuk membaca perintah data dari sensor CO dan I2C stop digunakan mengirimkan sinyal stop. Delay_us (10) merupakan jeda yang diberikan sebelum mikrokontroler memulai lagi perintah I2C start. I2C write

(0xE1) digunakan untuk membaca modul sensor CO. Data sensor dimasukkan ke dalam variabel temp1 dan temp2 yang mempunyai tipe data integer. Untuk menghasilkan data sensor diperlukan penjumlahan dari temp1 yang dikalikan 256 kemudian ditambah temp2. Nilai data tersebut dimasukkan kedalam variabel sensor yang mempunyai tipe data integer.

Setiap satu kali pengiriman serial hanya bisa dilakukan dengan 8 bit sedangkan data sensor yang dihasilkan adalah maksimal 10 bit. Agar data sensor dapat dikirim melalui komunikasi serial maka diperlukan proses pembentukan paket data dengan merubah nilai data sensor menjadi data string serta memberikan

(42)

Gambar 3.12. Diagram Alir Proses Pembentukan Data

Pada node 1 terdapat 2 pemberian header, yaitu karakter ‘z’ dan karakter

‘k’. Header ini mempunyai fungsi masing-masing seperti yang terdapat pada tabel

3.2. Header‘z’ sebagai penanda data sensor node 1 yang akan dikirimkan ke node

2 dengan trailler ‘x’, sedangkan header ‘k’ sebagai penanda data sensor node 1 yang akan dikirimkan ke node 3 apabila node 2 terdeteksi dalam keadaan tidak aktif dengan trailler ‘e’. Program fungsi proses pembentukan data ditunjukkan halaman lampiran pada listing 1.1.

Setelah selesai pembentukan paket data mikrokontroler akan menunggu data input yang masuk melalui Xbee-Pro Rx, apabila tidak ada data input maka mikrokontroler akan kembali memproses data sensor. Jika terdapat data input dari Xbee-Pro Rx mikrokontroler akan mendeteksi apakah data tersebut merupakan ack yang berasal dari node 2 atau node 3, dengan prioritas utama ack dari node 2 seperti yang ditunjukkan pada gambar 3.13 berikut.

Header ‘z’ Atau ‘k’

(43)

START

Inisialisasi Data Sensor MQ7

Pengambilan Data Sensor

Pembentukan Paket Data

Terima Data

Temp = ‘#’

Swit = 0 T Temp = getchar

Ack1 ≥ 2

Kirim Paket Data

Ack2 = 0 Swit = 0

Ack1 ++

Temp = ‘$’

Ack2 ≥ 2

Kirim Paket Data

Ack2 ++ T

Y

Y T

T

Y

Y

T

[image:43.595.87.507.72.498.2]

Y

Gambar 3.13. Diagram Alir Proses Menunggu Request Data

Node 1 akan mengirimkan paket data dengan header ‘z’ dan trailler ’x’ apabila menerima ack berupa ‘#’ yang berasal dari node 2 sebanyak lebih dari 2

kali. Jika node 2 terdeteksi dalam keadaan tidak aktif node 1 akan melakukan

switching dengan mengirimkan paket data ke node 3 dengan header ‘k’ dan trailler ‘e’. Program fungsi proses menunggu request data ditunjukkan halaman lampiran pada listing 1.2.

Selain mendeteksi data ack, mikrokontroler node 1 juga mendeteksi

(44)

START Inisialisasi Data Sensor MQ7 Pengambilan Data Sensor Pembentukan Paket Data Terima Data

Temp = ‘^’ Temp = getchar

T

Y

Temp = ‘m’ Temp = ‘n’ Temp = ‘h’ Temp = ‘r’ Temp = ‘q’ Temp = ‘w’

Swit = 0

Ack2 = 0 Swit = 0 Swit = 0

Swit ≥ 15 Swit ≥ 15 Swit ≥ 15 Swit ≥ 15

Swit ++ Swit ++ Swit ++ Swit ++

Kirim Char ‘&’ Kirim Char ‘&’ Kirim Char ‘&’ Kirim Char ‘&’ Y T T Y T Y T Y Y T T T T Y T Y Y Y Y T Y T

Gambar 3.14. Diagram Alir Proses switching dan Fungsi Beberapa Karakter

Saat dalam kondisi tidak aktif node 2 tidak akan mengirim data ack pada

node 1. Apabila menerima input data selain karaker ‘m’ atau ‘n’ berupa header ‘h’,‘q’ atau trailler ‘r’,‘w’ sebanyak lebih dari 15 kali maka node 1 akan

mengirimkan karakter ‘&’ ke node 3. Karakter ‘&’ berfungsi sebagai indikator

(45)

berfungsi sebagai penanda bahwa data paket yang dikirimkan sudah diterima oleh

node 2 atau node 3 serta berfungsi sebagai indikator agar node 1 tidak melakukan

switching dan tidak mengirimkan karakter ‘&’ lagi. Sedangkan input data karakter

‘^’ berfungsi sebagai kode aktifasi yang berasal dari node 2 yang menandakan

node 2 dalam keadaan aktif kembali. Program fungsi proses switching ditunjukkan halaman lampiran pada listing 1.3.

B.2. Program Mikrokontroler Node 2

Pada program mikrokontroler node 2 hal pertama yang dilakukan adalah mengambil data sensor gas MQ7 kemudian dilakukan pembentukan paket data. Setelah data terbentuk node 2 akan mengunggu data ack yang berasal dari node coordinator. Jika terdapat data input ack mikrokontroler juga akan mengirimkan data ack ke node 1, apabila menerima paket data dari node 1 mikrokontroler akan mengirimkan paket data node 2 dan paket data dari node 1 menuju node coordinator secara bergantian. Apabila node 1 terdeteksi dalam keadaan tidak aktif, maka node 2 hanya mengirimkan paket datanya sendiri menuju node coordinator. Gambar 3.24 menunjukkan digram alir program mikrokontoler node

(46)

START Inisialisasi Data Sensor MQ7 Pengambilan Data Sensor Pembentukan Paket Data

Terima Data T

Y

Data ACK

Kirim ACK

Node 1

Aktif Kirim Paket Data

Data Node 1

Pembentukan Paket Data

Kirim Paket Data

Delay (1000) T Y Y Y T T

Gambar 3.15. Diagram Alir Program Mikrokontroler node 2

Dari diagram alir diatas program yang pertama kali dijalankan adalah inisialisasi data sensor gas karbon monoksida. Selama proses inisialisasi mikrokontroler akan mengirimkan sebuah karakter ASCII ‘^’.

Mikrokontroler akan mengirimkan sebuah karakter ASCII ke node 1 dan

node coordinator sebagai penanda bahwa node 2 dalam keadaan aktif dan siap untuk berkomunikasi. Selanjutnya mikrokontroler akan membaca serta menyimpan data sensor gas karbon monoksida agar dapat digunakan saat diperlukan.

i2c_start(); // Start Condition

i2c_write(0xE2); // Tulis ke modul DT-SENSE i2c_write(0x41); // Perintah “Read Sensor” i2c_stop(); // Stop Condition

delay_us(10); // delay 10 us i2c_start(); // Start Condition

(47)

sensor = (temp1*256) + temp2;

Sama halnya seperti yang dilakukan pada node 1, yang membedakan pada

node 2 ini adalah perintah membaca data dari modul sensor CO. Pada node 2 menggunakan perintah i2c_write(0xE2) dan i2c_write(0xE3).

i2c_write(0xE2) dan i2c_write(0xE3) merupakan alamat 12C 2 yang

digunakan oleh modul sensor CO.

[image:47.595.92.510.307.540.2]

Selanjutnya merubah data sensor menjadi data string agar dapat kirim melalui komunikasi serial serta memberikan header dan trailler sebagai penanda data sensor tersebut berasal dari node 2 yang fungsinya ditunjukkan pada tabel 3.2. Gambar 3.16 menunjukkan diagram alir proses pembentukan paket data.

Gambar 3.16. Diagram Alir Proses Pembentukan Data

Header ‘q’ merupakan penanda awal data sensor node 2 yang akan dikirimkan ke node coordinator dengan trailler ‘w’. Setelah selesai memberi header mikrokontroler node 2 akan menunggu data input yang masuk melalui Xbee-Pro Rx. Apabila tidak ada data input maka mikrokontroler akan kembali memproses data sensor. Jika terdapat data input dari Xbee-Pro Rx, mikrokontroler akan mendeteksi apakah data tersebut merupakan ack yang berasal dari node coordinator atau data sensor yang berasal dari node 1, seperti yang ditunjukkan

Data Sensor MQ-7

Header ‘q’

Trailler ‘w’

STOP START

Inisialisasi Data sensor MQ-7

(48)

pada gambar 3.15. Program fungsi proses pembentukan data ditunjukkan halaman lampiran pada listing 2.1.

Apabila node 2 menerima data input ack berupa karakter ‘!’ yang berasal

dari node coordinator, node 2 juga akan mengirimkan data ack berupa karakter

‘#’ ke node 1. Apabila node 2 sudah mengirim data ack ‘#’ sebanyak lebih dari 10

[image:48.595.92.504.304.642.2]

kali maka node 1 dikatakan dalam keadaan tidak aktif. Saat node 1 terdeteksi dalam keadaan tidak aktif maka node 2 hanya akan mengirimkan data sensornya ke node coordinator saat menerima data input ack, seperti yang ditunjukkan gambar 3.26 berikut.

START

Inisialisasi Data Sensor MQ7

Pengambilan Data Sensor

Pembentukan Paket Data

Terima Data T

Y

Temp = getchar

Temp = ‘!’

Flag = 3

Kirim Paket Data

Flag = 1

Ack ≤ 10

Kirim Char ‘#’

Ack ++

Flag = 3 Y

T

T

Y

T

Y T

Y

Gambar 3.17. Diagram Alir Proses Request Data

(49)

node 1 dalam keadaan aktif, apabila node 1 dalam keadaan tidak aktif kondisi ini ditandai dengan nilai ack menjadi lebih besar dari 10. Saat nilai ack lebih besar dari 10 maka nilai flag dirubah menjadi 3, hal ini bertujuan saat node 2 menerima data input ack maka node 2 tidak lagi mengirimkan data ack ke node 1 tetapi langsung mengirimkan data sensornya sendiri ke node coordinator. Program fungsi proses request data ditunjukkan halaman lampiran pada listing 2.2.

Saat node 1 dalam keadaan aktif kembali, node 1 akan mengirimkan kode

aktifasi berupa karakter ‘&. Apabila node 2 menerima data input kode aktifasi

tersebut nilai variabel flag dan ack akan diubah kembali ke awal, hal ini bertujuan agar proses berjalan kembali seperti semula. Apabila node 2 menerima data input sensor dari node 1, data tersebut akan di proses dan dilakukan pembentukan satu paket data dengan data sensor node 2. Gambar 3.18 menunjukkan proses penerimaan data yang berasal dari node 1.

START

Inisialisasi

Terima Data T

Y

Temp = getchar

Temp = ‘&’

Flag = 1 Ack = 0

Temp = ‘z’ T

Y

T

Y

Ack = 0

Temp = ‘x’

Pembentukan Paket Data

Kirim Paket Data

Delay (1000) T

[image:49.595.93.505.299.702.2]

Y

(50)

Data sensor yang berasal dari node 1 akan digabung dengan data sensor

node 2 dengan melakukan pembentukan paket. Program fungsi proses penerimaan data dari node 1 ditunjukkan pada halaman lampiran listing 2.3. Gambar 3.19 menunjukkan proses pembentukan data sensor yang berasal dari node 1.

Gambar 3.19. Diagram Alir Proses Penggabungan Data

Setelah selesai proses pembentukan data dari node 1, paket data tersebut akan dikirimkan ke node coordinator, seperti yang ditunjukkan pada gambar 3.18 di atas. Program fungsi proses penggabungan data ditunjukkan halaman lampiran pada listing 2.4.

B.3. Program Mikrokontroler Node 3

Pada program mikrokontroler node 3 hal pertama yang dilakukan adalah mengambil data sensor gas MQ7 dan data pemantau catu daya kemudian dilakukan pembentukan paket data. Setelah paket data terbentuk node 3 akan menunggu data ack yang berasal dari node coordinator. Jika terdapat data ack mikrokontroler juga akan mengirimkan data ack ke node 1 apabila node 2 dalam

Data Sensor MQ-7

Header ‘q’

Trailler ‘w’

STOP START

Inisialisasi Data sensor MQ-7

Pengambilan Data sensor MQ-7

Data Sensor node 1

(51)
[image:51.595.90.504.280.627.2]

keadaan tidak aktif, jika menerima paket data dari node 1 mikrokontroler akan melakukan penggabungan paket data node 3 dan paket data dari node 1 kemudian dikirim menuju node coordinator. Apabila node 1 terdeteksi dalam keadaan tidak aktif, node 3 hanya mengirimkan paket datanya sendiri ke node coordinator. Gambar 3.20 menunjukkan diagram alir program mikrokontoler node 3. Diagram alir ini mewakili sistem kerja peralatan node 3 secara global yang masih bisa dipecah dan diperjelas dengan dibuatkan diagram alir tiap-tiap bagian.

START Inisialisasi Node 2 Aktif T Y Pengambilan Data Sensor Pengambilan Catu Daya Pembentukan Paket Data Terima Data Data ACK

Kirim Paket Data

Delay (1000)

Node 1 Aktif

Kirim ACK

Kirim Paket Data

Delay (1000)

Data Node 1

Pembentukan Paket Data

Kirim Paket Data

Delay (1000) T Y T Y T Y Y T

Gambar 3.20. Diagram Alir Program Mikrokontroler node 3

(52)

delay_ms (2000) ; putchar ('%');

Mikrokontroler akan mengirimkan sebuah karakter ASCII ke node 1 dan

node coordinator sebagai penanda bahwa node 3 dalam keadaan aktif dan siap untuk berkomunikasi. Selanjutnya mikrokontroler akan membaca serta menyimpan data dari rangkain catu daya dan data sensor gas karbon monoksida agar dapat digunakan saat diperlukan.

volt = read_adc(0); //membaca data dari rangkain catu daya if (volt >= 254)

{

PORTB = PORTB | 0x0f; }

else if (volt >= 244 && volt < 254) {

PORTB = (PORTB & 0xf0) | 0x07; }

else if (volt >= 234 && volt < 244) {

PORTB = (PORTB & 0xf0) | 0x03; }

else {

PORTB = (PORTB & 0xf0) | 0x01; }

////////////////////////////////////////////////////////// i2c_start(); // Start Condition

i2c_write(0xE0); // Tulis ke modul DT-SENSE i2c_write(0x41); // Perintah “Read Sensor” i2c_stop(); // Stop Condition

delay_us(10); // delay 10 us i2c_start(); // Start Condition

i2c_write(0xE1); // Baca ke modul DT-SENSE temp1 = i2c_read(1); // Data Sensor MSB temp2 = i2c_read(0); // Data Sensor LSB i2c_stop(); // Stop Condition

sensor = (temp1*256) + temp2;

(53)

digunakan adalah I2C 1, dengan perintah i2c_write(0xE0) dan i2c_write(0xE1).

Selanjutnya merubah data sensor dan data output catu daya menjadi data

string agar dapat kirim melalui komunikasi serial serta memberikan header dan

trailler sebagai penanda data tersebut berasal dari node 3 yang fungsinya ditunjukkan pada tabel 3.2, seperti yang ditunjukkan gambar 3.21 berikut.

Gambar 3.21. Diagram Alir Proses Pembentukan Data Catu Daya dan Sensor MQ7

Header ‘h’ merupakan penanda awal paket data node 3 yang akan dikirimkan ke node coordinator dengan trailler ‘w’. Setelah selesai memberi header mikrokontroler node 3 akan menunggu data input yang masuk melalui Xbee-Pro Rx, apabila tidak ada data input maka mikrokontroler akan kembali memproses data sensor dan data catu daya. Jika terdapat data input dari Xbee-Pro Rx, mikrokontroler akan mendeteksi apakah data tersebut merupakan ack yang berasal dari node coordinator atau paket data yang berasal dari node 1, seperti

Data Catu Daya

Header ‘h’

Trailler ‘l’ dan ‘r’

STOP START

Pengambilan Data sensor MQ-7

Data Sensor node 3

(54)

yang ditunjukkan gambar 3.20. Program fungsi proses pembentukan data ditunjukkan halaman lampiran pada listing 3.1.

Apabila node 3 menerima data inputack berupa karakter ‘@’ yang berasal

dari node coordinator maka node 3 juga akan mengirimkan data ack berupa

karakter ‘$’ ke node 1 apabila node 2 dalam keadaan tidak aktif. Apabila node 3

sudah mengirim data ack ‘$’ sebanyak lebih dari 10 kali maka node 1 dikatakan

dalam keadaan tidak aktif. Saat node 1 terdeteksi dalam keadaan tidak aktif maka

node 3 hanya akan mengirimkan data output catu daya dan data sensor ke node coordinator saat menerima data input ack, seperti yang ditunjukkan gambar 3.22 berikut.

START

Inisialisasi

T

Y Mikrokontroler

Terima Data

Temp = getchar

Temp = ‘@’

Flag = 3

Kirim Paket Data

Delay (1000)

Flag = 1

Ack ≤ 10

Kirim

Char ‘$’

Ack ++

Flag = 3 T

Y

T

Y

T

Y

T

[image:54.595.92.506.321.721.2]

Y

(55)

Saat pertama kali inisialisasi variabel flag diberi nilai awal 1 sedangkan variabel ack diberi nilai awal 0, hal ini bertujuan apabila mikrokontroler menerima data input ack maka mikrokontroler juga akan langsung mengirimkan

data ack berupa karakter ‘$’. Proses ini akan berjalan begitu seterusnya apabila

node 1 dalam keadaan aktif dan node 2 dalam keadaan tidak aktif, apabila node 1 dalam keadaan tidak aktif kondisi ini ditandai dengan nilai ack menjadi lebih besar dari 10. Saat nilai ack lebih besar dari 10 maka nilai flag dirubah menjadi 3, hal ini bertujuan saat node 3 menerima data input ack maka node 3 tidak lagi mengirimkan data ack ke node 1 tetapi langsung mengirimkan datanya sendiri ke

node coordinator. Program fungsi proses request data ditunjukkan halaman lampiran pada listing 3.2.

Apabila node 1 dalam keadaan aktif kembali, node 1 akan mengirimkan

kode aktifasi berupa karakter ‘&’ saat pertama kali inisialisasi. Apabila node 2

menerima data input kode aktifasi tersebut nilai variabel flag dan ack akan diubah kembali ke awal, hal ini bertujuan agar proses berjalan kembali seperti semula. Apabila node 3 menerima data input sensor dari node 1, node 3 akan mendeteksi paket data yang dikirimkan, apakah berupa header ‘z’ dan trailler ‘x’ atau header ‘k’ dan trailler ‘e’. Apabila paket data yang dikirim mempunyai header ‘z’ dan

(56)

START

Inisialisasi

Y Rx_counter ≠ 0

Temp = getchar

Temp = ‘&’

Flag = 1 Ack = 0

Temp = ‘k’ Temp = ‘e’ Temp = ‘z’ Temp = ‘x’

Ack = 0 Pembentukan

Paket Data

Kirim Paket Data

Delay (1000)

Flag = 3 Ack = 0

Flag = 3 Ack = 0 T

T

Y

T

Y Y

T T

Y Y

[image:56.595.92.511.80.536.2]

T

Gambar 3.23. Diagram Alir Proses Penerimaan Data Dari Node 1

(57)

Gambar 3.24. Diagram Alir Proses Penggabungan Paket Data

Setelah selesai proses pembentukan data, paket data tersebut akan dikirimkan ke node coordinator, seperti yang ditunjukkan pada gambar 3.30 di atas. Program fungsi proses pembentukan data dari node 1 ditunjukkan halaman lampiran pada listing 3.4.

B.4. Program Mikrokontroler Node Coordinator

Pada program mikrokontroler node coordinator hal pertama yang dilakukan adalah mengirimkan request data atau ack ke node yang ada dibawahnya yaitu node 2 dan node 3. Setelah mengirimkan data ack mikrokontroler node coordinator akan menunggu data input yang masuk melalui Xbee-Pro Rx, apabila tidak ada data input maka mikrokontroler akan mengirimkan kembali request data atau ack ke node 2 dan node 3. Jika terdapat data input dari Xbee-Pro Rx, mikrokontroler akan menyeleksi paket data tersebut

Data Catu Daya

Header ‘h’

Trailler ‘n’ dan ‘r’

STOP START

Pengambilan Data sensor MQ-7

Data Sensor node 1

Pemisah ‘o’ Pengambilan Data catu daya

Data Sensor node 3

(58)

kemudian dibentuk kembali paket data berdasarkan header dan trailler yang berasal dari masing-masing node yang selanjutnya akan dikirimkan mennuju

personal computer. Gambar 3.25 menunjukkan diagram alir program mikrokontoler node coordinator. Diagram alirini mewakili sistem kerja peralatan

node coordinator secara global yang masih bisa dipecah dan diperjelas dengan dibuatkan diagram alir tiap-tiap bagian.

START

Inisialisasi

T Mikrokontroler

Kirim ACK

Terima Data

Data Node 2

Kirim Data ke PC

Data Node 3

Kirim Data ke PC Y

T

Y

T

[image:58.595.96.505.250.521.2]

Y

Gambar 3.25. Diagram Alir Program Mikrokontroler Node Coordinator

(59)

START

Inisialisasi

T Mikrokontroler

Flag = 1

Ack ≤ 20

Kirim Char ‘!’

Delay (1000)

Ack1 ++ G++

J ≤ 20

Flag = 3 Ack2 = 0

Node 2 Tidak Aktif

Flag = 1 Ack1 = 20

J = 0

Flag = 3

Ack2 ≤ 20

Kirim Char ‘@’

Delay (1000)

Ack2 ++ J ++

G ≤ 20

Flag = 1 Ack1 = 0

Node 3 Tidak Aktif

Flag = 3 Ack2 = 20

[image:59.595.99.501.75.508.2]

G = 0 T Y Y T Y T Y T Y T Y

Gambar 3.26. Diagram Alir Proses Request Data

Saat inisialisasi variabel flag diberi nilai awal 1 dan ack1 diberi nilai awal 0 hal ini berfungsi agar mikrokontroler mengirimkan data ack ke node 2 terlebih dahulu. Pertama kali node coordinator akan mengrimkan ack ‘!’ ke node 2, kemudian dilanjutkan ke node 3. Jika node coordinator sudah mengirimkan data

ack ‘!’ lebih dari 20 kali maka node 2 dikatakan dalam keadaan tidak aktif. Jika

node 2 terdeteksi dalam keadaan tidak aktif selanjutnya node coordinator akan

mengirimkan ack ‘@’ ke node 3. Sebaliknya jika node coordinator sudah

mengirimkan data ack ‘@’ lebih dari 20 kali maka node 3 dikatakan dalam keadaan tidak aktif. Jika node 2 dan node 3 terdekteksi dalam keadaan aktif, maka

node coordinator akan mengulangi mengirim ack ‘!’ sebanyak 21 kali dan

selanjutnya mengirim ack ‘@’ sebanyak 21 kali juga, seterusnya seperti itu.

Selanjutnya mikrokontroler node coordinator akan menunggu data input

(60)

terdapat data input dari Xbee-Pro Rx, mikrokontroler akan mendeteksi apakah data tersebut merupakan paket data yang berasal dari node 2 atau node 3 seperti yang ditunjukkan gambar 3.25.

3.3. Langkah Pengujian

langkah pengujian dilakukan untuk menguji kinerja sistem program. Pengujian kinerja sistem dalam penelitian ini terdiri dari 3 (tiga) bagian antara lain:

1) pengujian modul pendukung, dimulai dengan melakukan pengujian pada minimum sistem, rangkaian pemantau catu daya, modul wireless Xbee-Pro dan sensor gas karbon monoksida MQ-7,

2) pengujian aplikasi pendukung, dimulai dengan melakukan pengujian pada program mikrokontroler tiap node.

[image:60.595.94.512.301.630.2]

3) pengujian sistem secara keseluruhan, merupakan pengujian komunikasi data melalui beberapa node menuju node coordinator.

Gambar 3.27. Langkah Pengujian

Pengujian Aplikasi Pendukung

Program Mikrokontroler

(61)

3.3.1. Pengujian Modul Pendukung A. Modul Minimum Sistem

Langkah pengujian ini dilakukan seteleh selesai melakukan pengujian modul minimum sistem dan modul wireless Xbee-Pro . Langkah pertama yang dilakukan adalah menghubungkan port Rx Tx minimum sistem dengan port

Gambar

Gambar 2.10. Struktur Sensor Gas Karbon Monoksida
Gambar 3.1. Pemasangan Node dengan Topologi Tree
Gambar 3.2. Blok Diagram Langkah-langkah Penelitian
Gambar 3.3. Blok Diagram Langkah-langkah Perancangan Perangkat Keras
+7

Referensi

Dokumen terkait

Untuk membantu proses pemantauan kebocoran gas perlu dirancang sistem pendeteksi kebocoran gas, dengan menggunakan Wireless Sensor Network (WSN). Sistem ini terdiri dari

Untuk membantu proses pemantauan kebocoran gas perlu dirancang sistem pendeteksi kebocoran gas, dengan menggunakan Wireless Sensor Network (WSN). Sistem ini terdiri dari

Penelitian ini bertujuan untuk merancang Sistem Pendeteksi gas karbon monoksida dan mengirimkannya ke PC melalui jaringan wireless pada sebuah ruangan yang hampir

Penelitian ini bertujuan untuk merancang Sistem Pendeteksi gas karbon monoksida dan mengirimkannya ke PC melalui jaringan wireless pada sebuah ruangan yang hampir

Telah dibuat sebuah sistem irigasi tanaman otomatis menggunakan wireless sensor network dengan 2 node , 1 router dan 1 server yang dapat berkomunikasi antar modul

Jika yang terdeteksi adalah asap kebakaran hutan, maka keluaran dari STM32f4-discovery adalah angka 1 atau dengan kata lain wireless sensor network akan aktif karena

Tujuan dari penelitian ini adalah untuk membuat rancang bangun alat pengukur konsentrasi gas Karbon Monoksida (CO) menggunakan sensor gas MQ-135 berbasis Mikrokontroler

Perancangan Alat Pendeteksi Gas Karbon Monoksida di Udara Menggunakan Sensor Gas MQ-7 dan Modul Bluetooth HC-05 | 327 Karbon Monoksida CO akan mengalami gejala sakit kepala, gangguan