IMPLEMENTASI DAN PENGUJIAN Pada bab ini akan dijelaskan tentang tahapan implementasi dan pengujian. Tahap pengujian terdiri dari pengujian rangkaian daya dan pengujian alat secara keselurahan.
5.1. Implementasi Terdapat dua bagian dalam tahapan implementasi, antara lain implementasi desain elektrik dan program kendali. 5.1.1
Implementasi Desain Elektrik Implementasi dari desain elektrik adalah Print Circuit Board (PCB) yang
terpasang modul-modul arduino yang telah dibuat pada Gambar 4-9 sampai dengan 4-12. yang ada pada sub Bab 4.1.8.
Gambar 5-1. Implementasi desain elektrik central node
5-1
http://digilib.mercubuana.ac.id/
Gambar 5-2. Implementasi desan elektrik RFID
Gambar 5-3. Implementasi desain elektrik sensor pintu
Gambar 5-4. Implementasi desain elektrik sensor jendela 5.1.2
Implementasi Program Kendali Untuk mengimplementasikan perancangan program kendali, dibutuhkan
perangkat keras dan perangkat lunak yang mendukung dalam tahap implementasi ini. Dibawah ini adalah spesifikasi perangkat keras dan perangkat lunak yang digunakan dalam tahap implementasi: 5.1.2.1 Spesifikasi Perangkat Keras (Hardware) Perangkat keras yang digunakan adalah sebuah komputer sebagai media untuk penulisan dan pengisian program kedalam Mikrokontroler. Spesifikasi perangkat keras yang digunakan adalah sebagai berikut: 1. Prosessor : Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz 2. RAM
: 4.0 GB
5-2
http://digilib.mercubuana.ac.id/
3. HDD
: 500 GB
5.1.2.2 Spesifikasi Perangkat Lunak (Software) Perangkat lunak yang digunakan pada tahap perancangan dan tahap implementasi antara lain: 1. Arduino IDE 1.8.1 2. Adobe Photoshop CC 2014 3. Fritzing Version 0.9.3 4. Notepad++ v6.8.8 5.1.2.3 Pengisian Program Sebelum mengisi program kedalam Arduino Uno. Terlebih dahulu memilih tipe board arduino yang kita gunakan dalam kasus ini board yang digunakan adalah tipe board Arduino Uno, dan setelah itu memilih port yang digunakan oleh board tersebut, setelah itu dilakukan pengecekan apakah syntax yang dituliskan sudah benar. Pengecekan dilakukan dengan cara mengklik logo ceklist pada Arduino IDE.
Gambar 5-5. Memilih tipe arduino
5-3
http://digilib.mercubuana.ac.id/
Selanjutnya adalah memilih port yang digunakan oleh board tersebut.
Gambar 5-6. Port yang digunakan Setelah selesai pengetaruan terhadap tipe board dan port sudah selesai langkah selanjutnya adalah pengecekan syntax pada kode apakah ada kesalahan syntax atau tidak.
Gambar 5-7.Verifikasi syntax jika verfikasi berhasil maka langsung akan dikompilasi dan siap untuk diunggah kedalam Arduino Uno
Gambar 5-8.Kompilasi berhasil 5-4
http://digilib.mercubuana.ac.id/
Setelah proses kompilasi berhasil, langkah selanjutnya adalah unggah kode kedalam Arduino Uno dengan ArduinoIDE.
Gambar 5-9.Unggah kode 5.2. Pengujian Perangkat keras atau hardware merupakan komponen nyata dari rancangan sistem ini. Beberapa komponen utama dari perangkat keras dalam sistem ini adalah: 1. Modul GSM 2. Modul Radio Transceiver 3. Modul Passive Infrared 4. Magnet Switch 5. Relay dan electronic siren
Agar dapat diketahui kondisi dan kinerja dari setiap komponene serta hubungannya dengan komponen lain, maka diperlukan suatu pengujian. Pengujian ini bertujuan untuk memastikan setiap komponen dapat bekerja dengan baik. 5.2.1
Pengujian Rangkaian Daya/Power Supply Pengujian ini dilakukan untuk mengetahui apakah tangkaian daya dapat bekerja dengan baik. Pengujian dilakukan dengan mensuplai tegangan input dari adaptor 12DCV kemudian dilakukan penguruan pada input masing-masing modul.
Tabel 5-1. Hasil pengukuran tegangan pada komponen yang ada pada central node Komponen Buck Converter SIM800l nrf24l01
Nilai Tegangan 5,0 volt 4,1 volt 3,3 volt 5-5
http://digilib.mercubuana.ac.id/
Tabel 5-2. Hasil pengukuran tegangan pada komponen RFID dan PIR Komponen
5.2.2
Nilai Tegangan
PIR
5,0 volt
RFID
3,3 volt
nrf24l01
3,3 volt
Pengujian modul nRF24L01 Setelah modul nrf24l01 diinstalasi dan berjalan dengan baik pada Central Node dan Sensor Node, maka selanjutnya adalah menguji berapa jarak jangankauan maksimal modul ini. Pengujian dilakukan pada 2 kondisi dalam ruangan tanpa halangan tembok dan dengan halangan tembok. Seluruh rangkaian sudah terhubung sesuai dengan skema rakaian keseluruhan (dapat dilihat pada Gambar 4-9 – 4-12).
Gambar 5-10. Tempat pengujian bagian lorong
5-6
http://digilib.mercubuana.ac.id/
Tabel 5-3. Hasil pengujian skenario lorong/dalam ruang tanpa halangan Pengujian Ke-
2
4
6
8
Jarak Meter 10 12 14 16 18 20 22
24
26
28
1 2 3 4 5 6 7 8 9 10
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
X X X X X X X X X X
X X X X X X X X X X
X X X X X X X X X X
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
V V V V V V V V V V
V V X X X V V V V V
Pengujian dilakukan dengan menggunakan kode yang ada pada halaman 5-8, Sensor node dinyalakan dari jarak 1 Meter sampai dengan jarak 28 Meter, Tabel 5-3 merupakan hasil jarak maksimal penerimaan data secara nirkabel, hasil menunjukan batas maksimal penerimaan data adalah
±20 meter. Skenario pengujian dengan kondisi halangan tembok adalah dengan menaruh pusat kontrol di dalam kamar, dan menyalakan sensor node diluar kamar dengan jarak beberapa meter dari kamar kos, Hasil dari Tabel 5-4 menunjukan batas maksimal penerimaan data adalah ±4 meter.
Tabel 5-4. Hasil pengujian skenario halangan tembok Pengujian Ke1 2 3 4 5 6 7 8 9 10
2 V V V V V V V V V V
Jarak Meter 4 6 8 10 V X X X V X X X V V X X V X X X V V X X V X X X V X X X V X X X V V X X V X X X
V menandakan data yang dikirim oleh sensor node berhasil diterima dengan baik oleh central node, data yang dikirim oleh sensor node berupa string. 5-7
http://digilib.mercubuana.ac.id/
Kode untuk pengujian diatas bagian transceiver atau sensor node : #include <SPI.h> #include
RH_NRF24 nrf24;
//Library modul radio transceiver //Library modul radio transceiver //Deklarasi modul radio transceiver
void setup() { Serial.begin(9600); while (!Serial) if (!nrf24.init()) Serial.println("init failed"); if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); } void loop() { Serial.println("Sending to nrf24_server"); // Mengirim pesan ke receiver uint8_t data[] = "Hello World!"; nrf24.send(data, sizeof(data)); nrf24.waitPacketSent(); // Now wait for a reply uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof(buf); if (nrf24.waitAvailableTimeout(500)) { if (nrf24.recv(buf, &len)) // jika mendapat balasan { Serial.print("Pesat dibalas: "); Serial.println((char*)buf); } else { Serial.println("gagal diterima."); } } else { Serial.println("tidak ada balasan. Apakah receiver online?"); } delay(400); }
Ketika sensor node berhasil mengirim data string “Hello World!” ke pusat kontrol maka central node akan memberikan keluaran suara alarm selama 1 detik.
5-8
http://digilib.mercubuana.ac.id/
kode untuk pengujian bagian receiver atau pusat control (central node) : #include <SPI.h> #include RH_NRF24 nrf24;
//Library modul radio transceiver //Library modul radio transceiver //Deklarasi modul radio transceiver
void setup() { Serial.begin(9600); while (!Serial) if (!nrf24.init()) Serial.println("init failed"); if (!nrf24.setChannel(1)) Serial.println("setChannel failed"); if (!nrf24.setRF(RH_NRF24::DataRate2Mbps, RH_NRF24::TransmitPower0dBm)) Serial.println("setRF failed"); } void loop() { if (nrf24.available()) { uint8_t buf[RH_NRF24_MAX_MESSAGE_LEN]; uint8_t len = sizeof(buf); if (nrf24.recv(buf, &len)) { Serial.print("mendapat pesan: "); Serial.println((char*)buf); // Membunyikan alarm selama 1 detik
digitalWrite(7, LOW); delay(1000); digitalWrite(7, HIGH); delay(200); } else { Serial.println("gagal diterima"); } } }
5.2.3
Pengujian sensor gerak PIR Pengujian Sensor Gerak bertujuan untuk memastikan output yang
dihasilkan sesuai dengan apa yang diharapkan. ini dilakukan dengan meletakkan sensor di dalam ruangan yang diinginkan. Sensor diletakkan pada ketinggian 1.5 meter diatas permukaan lantai ruangan supaya seluruh gerakan angota tubuh manusia dapat di jangkau oleh sensor. Prinsip kerja PIR yaitu mendeteksi manusia melalui gerakan tubuh manusia akan mengeluarkan output pada level high 5 volt, jika tidak mendeteksi manusia atau tidak ada gerakan tubuh manusia yang dideteksi maka output yang di keluarkan sensor yaitu sebesar 0 volt (low). Jarak sinyal output
5-9
http://digilib.mercubuana.ac.id/
sensor PIR pada saat mendeteksi manusia yaitu antara tegangan high dan tegangan low jaraknya berbeda-beda, Hal ini disebabkan karena sensitifitas sensor yang sangat tinggi. Pada proses adaptasi sensor membutuhkan waktu beradaptasi terhadap lingkungan sekitar 30-60 detik dan selama proses adaptasi di usahakan tidak ada pergerakan manusia di depan permukaan lensa sensor PIR module. Berikut adalah tabel hasil pengujian sensor PIR.
Tabel 5-5.Tampak depan sensor pir Tabel 5-6. Hasil Pengujian sensor PIR terhadap manusia Jarak
Pengujian Ke-
1 Meter
2 Meter
3 Meter
5 Meter
1
Deteksi
Deteksi
Deteksi
Tak deteksi
2
Deteksi
Deteksi
Deteksi
Tak deteksi
3
Deteksi
Deteksi
Deteksi
Tak deteksi
4
Deteksi
Deteksi
Deteksi
Tak deteksi
5
Deteksi
Deteksi
Deteksi
Tak deteksi
Tabel dibawah merupakan hasil pengujian menggunakan sapu yang digerakan didepan lensa sensor PIR. Tabel 5-7. Pengujian PIR terhadap benda mati Pengujian Ke1 2 3 4 5
1 Meter deteksi deteksi deteksi deteksi deteksi
Jarak 2 Meter 3 Meter Tak deteksi Tak deteksi Tak deteksi Tak deteksi Tak deteksi Tak deteksi deteksi Tak deteksi Tak deteksi Tak deteksi
5 Meter Tak deteksi Tak deteksi Tak deteksi Tak deteksi Tak deteksi
5-10
http://digilib.mercubuana.ac.id/
Bedasarkan table 5-6 dan table 5-7 terdapat perbedaan deteksi antara makhluk hidup dalam hal ini manusia dengan benda mati. Walau sama-sama bergerak tetapi hasil respon sensor pir berbeda, penyebabnya adalah perbedaan panas yang dikeluarkan oleh obyek. Jarak deteksi pada obyek manusia adalah 3meter dan benda mati ±1meter. Berikut coding untuk menguji Modul passive infrared val = digitalRead(inputPin); // membaca nilai inputan if (val == HIGH) { // jika input adalah high/ada pergerakan uint8_t data[] = "gerakh"; nrf24.send(data, sizeof(data)); delay(400); }
5.2.4
Penujian RFID Pengujian RFID bertujuan untuk mengetahui kinerja dari RFID reader yang
bersangkutan yang bersangkutan dengan jarak baca reader terhadap tag. Pengujian ini dilakukan dengan cara mendekatkan tag ke readernya. Hal-hal yang akan diuji dalam sistem ini adalah keterbacaan RFID tag oleh RFID reader, ketepatan baca RFID reader, kecepatan baca RFID reader, dan kecepatan tulis RFID reader. Pengujian keterbacaan RFID dilakukan dengan mengukur jarak terjauh RFID tag dapat terbaca oleh RFID reader, dan mengetahui dalam posisi apa saja RFID tag dapat terbaca oleh RFID reader. Pengujian ini dilakukan dengan cara mendekatkan RFID tag perlahan-lahan dimulai dari jarak 1 cm. Ketika RFID tag mulai terbaca, maka angka tersebut diambil sebagai sampel. Pengujian dilakukan dengan alat bantu penggaris sederhana dengan tingkat ketelitian 1 mm.
Gambar 5-11. Tampak atas sistem RFID 5-11
http://digilib.mercubuana.ac.id/
Tabel 5-8. Hasil pengujian jarak pembacaan RFID
5.2.5
Jarak
Pengujian Ke-
1CM
1
Deteksi
Deteksi Deteksi
Tak deteksi
2
Deteksi
Deteksi Deteksi
Tak deteksi
3
Deteksi
Deteksi Deteksi
Deteksi
4
Deteksi
Deteksi Deteksi
Tak deteksi
5
Deteksi
Deteksi Deteksi
Tak deteksi
6
Deteksi
Deteksi Deteksi
Tak deteksi
7
Deteksi
Deteksi Deteksi
Deteksi
8
Deteksi
Deteksi Deteksi
Tak deteksi
9
Deteksi
Deteksi Deteksi
Tak deteksi
10
Deteksi
Deteksi Deteksi
Tak deteksi
2CM
3CM
4CM
Pengujian Reed Switch Pengujian magnet switch bertujuan untuk memastikan output yang
dihasilkan oleh magnet switch berjalan dengan baik. Output tersebut tentunya bergantung pada input dari sensor magnet, karena hasil input sensor magnet switch tersebut lah yang menentukan output sinyal yang dihasilkan. Magnet switch terhubung dengan arduino melalui kabel sebagai media penghubung antara Magnet dan Arduino pro mini. Arduino pro mini akan mengirim data ke pusat kontrol secara nirkabel ketika magnet switch berada pada posisi Normally open atau Normally Closed.
Gambar 5-12. Pengujian reed switch pada simulasi ruangan 5-12
http://digilib.mercubuana.ac.id/
switch1 = digitalRead(switch2); if (switch1 == HIGH) { for( int a = 0; a < 10; a++) { uint8_t data[] = "pintut"; nrf24.send(data, sizeof(data)); jendela = HIGH; delay(500); } } else { uint8_t data[] = "pintub"; nrf24.send(data, sizeof(data)); nrf24.waitPacketSent(); delay(400); }
Fungsi coding diatas adalah ketika pintu tertutup maka inputannya adalah high dan low jika terbuka, ketika low maka akan mengirimkan data “pintub” ke pusat control, ketika high maka datanya adalah “pintut”. Hasil dari penujian reed switch adalah, ketika sistem keamanan diaktifkan dan ada yang membuka pintu atau jendela maka alarm yang berada pada central node akan berbunyi dan mengirimkan notifkasi SMS pada pemilik kamar. Jarak waktu hanya serpersekian detik tergantung dari apakah central node sedang menggunakan modul GSM atau tidak, jika sedang menggunakan modul GSM maka koneksi antara central node dan sensor node akan terputus, dikarenakan arduino uno tidak bisa menggunakn modul nRF24l01 dan GSM secara bersamaan. 5.2.6 Pengujian modul GSM Sim800l Pengujian ini dilakukan untuk mengetahui apakah SMS yang dikirimkan oleh user dapat terbaca oleh sistem keamanan dan sistem dapat mengirimkan SMS kepada user. Dari hasil pengujian yang telah dilakukan, dapat disimpulkan bahwa SMS yang dikirimkan oleh user dapat diproses oleh sistem. Gambar 5-14 menunjukan subuah SMS yang dikirim dari HP user. SMS tersebut dikirim dengan menggunakan format perintah “Securityon”, dan “Securityoff”, dan SMS balasan yang akan diterima oleh user. Berikut ini tahap-tahap dalam pengujian modul GSM pada sistem keamanan :
5-13
http://digilib.mercubuana.ac.id/
1. Seluruh rangkaian sudah terhubung sesuai dengan skeman rakaian keseluruhan (dapat dilihat pada gambar 4-9). 2. Modul GSM sudah terisi kartu GSM yang aktif dan berisi pulsa. 3. Mencoba memicu 4 sensor node (pintu, jendela, PIR, RFID).
Gambar 5-13. Pesan SMS jika sensor pintu terpicu Pada Gambar 5-13 merupakan tampilan saat pesan notifkasi masuk ke handphone pemilik kamar ketika keamanan dinyalakan dan pintu terbuka.
Gambar 5-14. Pesan SMS jika sensor jendela terpicu Pada Gambar 5-14 merupakan tampilan saat pesan notifkasi masuk ke handphone pemilik kamar ketika keamanan dinyalakan dan jendela terbuka.
Gambar 5-15. Pesan SMS jika sensor PIR terpicu
Pada Gambar 5-15 merupakan tampilan saat pesan notifkasi masuk ke handphone pemilik kamar ketika keamanan dinyalakan dan sensor PIR mendeteksi gerakan didalam kamar. Gambar 5-15 merupakan pesan SMS ketika sistem keamanan dinonaktifkan atau diaktifkan, melalui pesan singkat oleh user.
5-14
http://digilib.mercubuana.ac.id/
Gambar 5-16. Mengaktifkan dan Menonaktifkan sistem keamanan Table 5-1. Pengujian proses notifkasi SMS
1 2 3
Pintu Deteksi Tak deteksi Tak deteksi
Sensor Jendela PIR Tak deteksi Tak deteksi Deteksi Tak deteksi Tak deteksi Deteksi
4
Tak deteksi
Tak deteksi
Tak deteksi
Akses diterima
5
Tak deteksi
Tak deteksi
Tak deteksi
Tak deteksi
No
RFID Tak deteksi Tak deteksi Tak deteksi
HP User Pintu terbuka! Jendela terbuka! Ada Pergerakan! Keamanan dimatikan/dinyala kan Tak ada SMS
Bedasarkan hasil pada Tabel 5-1. Notifkasi pesan singkat tidak diterima ketika sensor pada kamar tidak terpicu. Pesan singkat akan diterima oleh pemilik kamar ketika salah satu sensor node terpicu. Dari Tabel 5-1 dapat disimpulkan sistem notifikasi sms pada sistem keamanan dapat berjalan dengan baik.
5.2.7
Pengujian relay dan electronic siren Pengujian terhadap relay dan electronic siren dilakukan untuk mengetahui kinerja bersama dari kedua komponen tersebut. Karena electronic siren disini yang berperan dalam sistem keamanan kamar kos sebagai alarm. Relay yang adalah relay 5V sedangkan Electronic siren yang digunakan adalah 12V. relay digunakan sebagai saklar bagi electronic siren. 5-15
http://digilib.mercubuana.ac.id/
5.2.8
Pengujian alat secara keseluruhan Penguijan rangkaian secara keseluruhan dilakukan setelah semua komponene terpasang dan program yang sudah dibuat di unggah ke Arduino. Pengujian dilakukan menggunakan simulasi kamar kos (Gambar 5-17). Ketika pintu yang sudah dipasang sensor pintu dibuka maka sensor akan mengirimkan data string “pintub” yang artinya pintu terbuka, dari data string tersebut pusat kontrol akan mengirimkan pesan sms ke pemilik kamar dan membunyikan alarm. if (strcmp ("pintub",(char*)buf) == 0) { digitalWrite(7, LOW); if (peringatan == LOW) { kirim("PINTU TERBUKA!", nomor); peringatan = HIGH; } }
begitu juga dengan jendela dan sensor gerak ketika jendela terbuka maka sensor jendela akan mengirim data string “jendelab” yang artinya jendela terbuka dan “gerakh” yang artinya ada pergerakan, dari data string tersebut pusat kontrol akan mengirimkan pesan sms ke pemilik kamar dan membunyikan alarm sesuai algoritma program dibawah ini. Tabel 5-2 merupakan hasil pengujian. else if (strcmp ("jendelab",(char*)buf) == 0) { digitalWrite(7, LOW); if (peringatan == LOW) { kirim("JENDELA TERBUKA!", nomor); peringatan = HIGH; } } else if (strcmp ("gerakh",(char*)buf) == 0) { digitalWrite(7, LOW); if (peringatan == LOW) { kirim("ADA PERGERAKAN DIDALAM KAMAR!", nomor); peringatan = HIGH; } }
5-16
http://digilib.mercubuana.ac.id/
Gambar 5-17. Simulasi alat secara keseluruhan Table 5-2. Hasil pengujian alat secara keseluruhan No
Alat
1
reed switch
2
reed switch
3
Sensor PIR
4
RFID
5
Modul GSM
6
Electronic siren
Fungsi Sebagai sensor pada pintu Sebagai sensor pada jendela Mendeteksi gerak di dalam kamar Untuk mengaktifkan atau menonaktifkan sistem keamanan
Bagian sensor node
Hasil Bekerja dengan baik
sensor node
Bekerja dengan baik
sensor node
Bekerja dengan baik
sensor node
Bekerja dengan baik
Jalur komunikasi antara user dan alat
central node
Bekerja dengan baik
Sebagai peringatan
central node
Bekerja dengan baik
5-17
http://digilib.mercubuana.ac.id/