BAB IV IMPLEMENTASI DAN PENGUJIAN
Pada bab ini penulis menjelaskan mengenai langkah – langkah praktek untuk melakukan penerapan terhadap perancangan yang telah dijelaskan pada bab sebelumnya. Implementasi merupakan penerapan dari perancangan yang telah dilakukan ke dalam perancangan fisik dan program kendali yang dapat berjalan dengan baik. Selain itu, penulis juga telah melakukan pengujian untuk mengetahui tingkat keberhasilan dari hasil analisa yang telah dibahas dalam bab sebelumnya. Maka tujuan pengujian pada bab ini adalah untuk mengetahui kinerja dari sistem yang berupa kehandalan dan ketepatan eksekusi antara program dan modul perangkat yang telah dibuwat untuk mengontrol sistem yang ada untuk mencegah terjadinya kemungkinan adanya error serta kekurangan – kekurangan dari sebuah sistem yang telah dibuwat. 4.1 Implementasi Terdapat dua bagian dalam tahap implementasi, yaitu implementasi desain mekanik, desain rangkaian. 4.1.1 Implementasi Desain Mekanik Desain mekanik Detektor Gas Metana Berbasis Arduino Mega 2560 menggunakan deteksi kebocoran gas karena detektor gas metana tidak hanya sebagai pendeteksi kebocoran pada sensor gas akan tetapi dapat mengirimkan data secara otomatis melalui android yang berisi peringatan kebocoran gas serta dapat mengirimkan data bahaya gas jika kadar gas LPG tinggi. Pada penelitian ini detektor gas metana dirancang untuk memberikan sebuah peringatan didalam ruangan secara otomatis sehingga saat terjadinya kebocoran gas dapat dicegah agar tidak terjadi hal yang tidak diinginkan. Oleh karena itu, Detektor Gas Metana mempunyai beberapa komponen yang satu sama lain saling berhubungan satu sama lainnya, sensor MQ2 terhubung dengan buzzer, pir, 2 lampu dan kipas yang satu sama lain langsung terhubung melalui adaptor, dimana fungsi dari sensor MQ2 tersebut dapat mendeteksi bau gas, terdapat juga buzzer, pir, lampu dan kipas yang berfungsi sebagai notifikasi jika telah 4-49
http://digilib.mercubuana.ac.id/
terjadi kebocoran gas komponen yang telah saling terhubung satu sama lain. Agar desain mekanik detektor gas metana dapat berjalan dengan baik. Rangkaian mekanik sensor gas juga memiliki 7 komponen yang nantinya satu komponen akan langsung terhubung, power supply tersebut akan langsung terhubung dengan dengan relay modul sebagai pengghantar aliran arus listrik ketika alat detektor gas metana mulai dinyalakan. Setelah sensor MQ2 membaca kadar bau gas yang telah terbaca maka akan otomatis diplay LCD dapat membaca bahaya bau gas yang telah dideteksi oleh sensor MQ2. Dan seluruh desain rangkaian mekanik detektor gas metana adaptor langsung terhubung melalui arduino yang telah terprogram.
Gambar 4.1 Implementasi desain mekanik detektor gas metana 4.1.2 Implementasi Desain Rangkaian Implementasi dari desain rangkaian adalah rangkaian komponen – komponen elektrik yang telah terhubung satu sama lain dengan port – port arduino yang telah dijelaskan pada bab sebelumnya. Berikut adalah hasil implementasi rangkaiannya.
4-50
http://digilib.mercubuana.ac.id/
Gambar 4.2 Implementasi desain rangkaian detektor gas metana
Gambar 4.3 Implementasi desain rangkaian Power Supply, Arduino, dan Relay 4 channel
4-51
http://digilib.mercubuana.ac.id/
Gambar 4.4 Implementasi desain rangkaian LCD, Rfid dan Solenoid Dor
Gambar 4.5 Implementasi desain rangkaian Sensor MQ2 dan Kipas
4-52
http://digilib.mercubuana.ac.id/
Gambar 4.6 Implementasi desain rangkaian Sensor PIR dan Buzzer 4.1.3. Spesifikasi Perangkat Keras ( Hardware ) Perangkat keras yang digunakan adalah sebuah laptop / notebook sebagai media untuk penulisan dan pengisian kode program ke dalam mikrokontroller arduino.Spesifikasi perangkat keras yang digunakan adalah sebagai berikut: 1. Prosessor Nvidia - 720M HD Graphics 2. Sistem Operasi windows 10 numix 64 – bit 3. RAM : 4.00 GB 4. HDD : 500 GB 4.1.3.1 Spesifikasi Perangkat Keras ( Hardware ) Perangkat lunak yang digunakan pada tahap perancangan dan implementasi antara lain: 1. rancangan atau wairing ( Fritzing ) 2. Yed Graph Editor 3. Arduino IDE
4-53
http://digilib.mercubuana.ac.id/
4.1.3.2 Pengisian Program Penulisan program menggunakan sofware Arduino IDE. Sebelum mengecek kode program yang terdapat di Arduino Mega, maka terlebih dahulu memilih tools lalu untuk menentukan jenis arduino maka memilih board arduino mega 2560.
Gambar 4.7 Menentukan Board Arduino Mega 2560 Selanjutnya adalah memilih kembali jenis processor yang sesuai dengan arduino mega 2560.
4-54
http://digilib.mercubuana.ac.id/
Gambar 4.8 Menentukan processor Atmega 2560 Selanjutnya adalah untuk mengecek tahap demi tahap dari kode program Arduino Mega, dengan cara melakukan sketch atau memilih verify atau compile dengan cara mengklik tab sketch, kemudian memilih verify atau compile.
4-55
http://digilib.mercubuana.ac.id/
Gambar 4.9 Compile kode program Berikut ini merupakan tampilan kode program yang telah diverify atau compile yang menunjukan bahwa kode program tersebut tidak terdapat error ( bug ) di dalam kode program.
4-56
http://digilib.mercubuana.ac.id/
Gambar 4.10 Compaile kode program berhasil Setelah kode program telah berhasil di compile, maka dapat langsung melakukan uplod kode program ke dalam Arduino Mega. Untuk melakukan uplod pada kode program dengan cara mengklik petunjuk panah ke kanan, kemudian klik uplod.
Gambar 4.11 Upload kode program
4-57
http://digilib.mercubuana.ac.id/
4.2 Pengujian Dalam pengujian dan penelitian ini terdapat 6 jenis pengujian, yaitu pengujian daya, pengujian jarak sensor MQ2, pengujian jarak dan waktu sensor MQ2, pengujian LCD, pengujian RFID, pengujian secara keseluruhan. Rangkaian detektor gas metana maka diperlukan gas yang memiliki kandungan gas yang sama seperti kandungan gas LPG yaitu gas lapangan yang sudah banyak beredar di masyarakat. Pengujian yang dilakukan adalah dengan membandingkan tekanan yang dikeluarkan oleh gas lapangan, maka pengujian dilakukan dengan jarak dekat karena kadar gas dikeluarkan oleh korek gas sangat kecil maka kami menggunakan gas lapangan sebagai pengujian. 4.2.1 Pengujian Daya Pengujian daya dilakukan untuk memastikan apakah rangkaian daya / power suply dapat bekerja dengan baik. Pengujian dilakukan dengan menggunakan modul relay 4 channel yang memastikan hubungan arus listrik dapat mensuplai dan dapat menghantar tegangan arus listrik yang tinggi, sehingga pengujian daya dapat berjalan secara normal. Kemudian dilakukan hasil pengukuran output masing – masing keluaran diukur dengan menggunakan avometer dan untuk mengukur arus menggunakan multimeter. Tabel 4.1 Tegangan dan arus komponen Detektor Gas Metana Komponen
Tegangan
Arus
Power Supply
12 V
2000 mA
Relay 4 Channel
220 V
4000 mA
Sensor MQ2
5V
2000 mA
. Solenoid Door Lock
12 V
2000 mA
2 Lampu
12V
2000 mA
Kipas DC
12V
2000 mA
Wifi ESP8266
3.3V
700mA
Pir HC-SR501
5V
2000 mA
LCD Karakter 16x2 12C
5V
2000mA
RFID Reader RC522
3.3V
700mA
4-58
http://digilib.mercubuana.ac.id/
4.2.2 Pengujian Jarak Sensor MQ2 Pengujian jarak sensor gas bertujuan untuk melihat seberapa jauh jarak yang dideteksi sensor MQ2 terhadap sumber pengambilan data gas dengan menggunakan korek gas, Hasil pengambilan data dengan cara memberikan keluaran gas yang sudah terdeteksi dari sensor MQ2 dengan tekanan kadarnya ± 20.000 ppm, Maka hasil pengujian sensor MQ2 bisa mendeteksi dengan jarak efisien ± 50 cm (Suyatno, Nugraha, & Susanto, n.d.).
Gambar 4.12 pengujian sensor MQ2 Tabel 4.2 Tabel pengujian jarak sensor MQ2 Percobaan
Jarak
Gas Terukur (mg)
1
10 cm
20.000 ppm
2
20 cm
15.000 ppm
3
30 cm
15.000 ppm
4
40 cm
13.000 ppm
5
50 cm
10.000 ppm
Untuk memanggil fungsi dari pengujian sensor MQ2 yaitu dengan terhubungnya port – port yang sudah terprogram oleh arduino mega, sehingga fungsi pengujian sensor MQ2 dapat berjalan dengan baik. Sehingga sensor MQ2 dapat membaca kadar gas yang akan diuji. 4-59
http://digilib.mercubuana.ac.id/
Tabel 4.3 Tabel program sensor MQ2 Program Sensor MQ2 #define ANALOG_LPG A1
Fungsi Program Untuk menentukan analog sensor MQ2 yang terdapat diarduino
#define ON 0
Untuk mendefinisikan aktif dan tidak
#define OFF 1
aktif ketika sensor MQ2 membaca kadar gas yang sudah terdeteksi
#define YES 1 #define NO 0 int statusgas;
Untuk membaca status gas
int sensorPin = A1;
Untuk mendefinisikan variable dalam penyimpanan konsentrasi kadar gas.
int sensorValue = 0;
Untuk menampung Relay gas yang
int valaktif = 0;
terdeteksi sensor MQ2
char Buffmsg[120];
Untuk menyimpan buffer
statusgas = digitalRead(PIN_LPG)
Untuk Membaca dan menyimpan status kadar gas
4.2.3 Pengujian Jarak Dan Waktu Sensor MQ2 Pengujian jarak sensor gas dan waktu deteksi sensor MQ2 bertujuan untuk melihat seberapa jauh jarak yang dideteksi sensor MQ2, dan seberapa cepat respon sensor dalam mendeteksi adanya gas metana pengujian ini dilakukan untuk melihat seberapa cepat waktu deteksi sensor MQ2 dengan jarak penyerapan gas terhadap sensor lebih cepat ± 10 detik.
4-60
http://digilib.mercubuana.ac.id/
Tabel 4.4 Tabel pengujian jarak dan waktu sensor MQ2 Percobaan
Jarak
Gas Terukur
Waktu
Waktu
(mg)
Terdeteksi
Tidak Terdeteksi
1
10 cm
20.000 ppm
10 detik
20 detik
2
20 cm
15.000 ppm
8 detik
20 detik
3
30 cm
15.000 ppm
7 detik
20 detik
4
40 cm
13.000 ppm
5 detik
15 detik
5
50 cm
10.000 ppm
3 detik
10 detik
4.2.4 Pengujian LCD Pengujian status LCD bertujuan untuk membaca kadar gas yang sudah terdeteksi oleh sensor MQ2 sehingga dapat melihat kondisi kadar gas dalam keadaan normal dan dalam keadaan berbahaya jika terdeteksi adanya kadar gas.
Gambar 4.13 Pengujian LCD monitoring gas
4-61
http://digilib.mercubuana.ac.id/
Tabel 4.5 Tabel pengujian LCD Sensor MQ2
Status Display LCD
Belum Terdeteksi
Kadar gas normal
Terdeteksi
Kadar gas berbahaya
Untuk memanggil setiap fungsi dari hasil pengujian LCD agar dapat terdeteksi oleh sensor MQ2 dalam pembacaan status display LCD, maka setiap pin dari LCD sudah terhubung dan terprogram melalui arduino mega, agar program dapat berjalan dengan baik ketika kadar gas terdeteksi oleh sensor MQ2. Tabel 4.6 Tabel program LCD display Program LCD Display
Fungsi Program
sensorValue = analogRead(sensorPin); Untuk mendefenisikan sensor pin LCD. Serial.print("Nilai =");
Untuk menampilkan nilai display
Serial.println(sensorValue);
kadar gas.
Serial.print("Status =");
Untuk membaca status gas.
Serial.println(statusgas); Serial.println("======="); if(!statusgas) {
Untuk menampilkan judul display monitoring gas .
lcd.setCursor(0,0); lcd.print(" MONITORING GAS "); lcd.setCursor(0,1); lcd.print("
Untuk membaca kondisi berbahaya
BAHAYA
");
pada display LCD ketika sensor MQ2 mendeteksi adanya kadar gas
else { lcd.setCursor(0,0);
Untuk menampilkan kondisi normal
lcd.print(" MONITORING GAS ");
pada display LCD.
4-62
http://digilib.mercubuana.ac.id/
lcd.setCursor(0,1); lcd.print("
NORMAL
");
4.2.5 Pengujian RFID Pengujian ini dilakukan untuk mengetahui seberapa cepat dan lambatnya Tag Card ( kartu ) Rfid dari hasil respone dalam pendeteksian sehingga respone cepat yang diberikan oleh rfid langsung terhubung dengan solenoid dor agar dapat terbuka secara baik, tidak hanya itu pengujian yang dilakukan oleh rfid dapat terhubung dengan bunyi buzzer yang sudah terangkaian dan terhubung dengan sensor MQ2 dengan pendeteksian adanya kadar gas, Untuk memanggil setiap fungsi perintah port – port dari rfid, buzzer , solenoid dor tersebut perlu didefinisikan beberapa program yang saling terhubung satu sama lain agar perintah program dapat sesuai.
Tabel 4.7 Tabel program RFID Program RFID if(cnt_delay%10)
Fungsi Program Untuk
membaca
tag
{
card
agar
Look for new cards
terdeteksi oleh RFID.
mudah
if ( ! Rfid.PICC_IsNewCardPresent()) { return; } if ( ! Rfid.PICC_ReadCardSerial()) {
Untuk mengecek acces return;
kepastian data tag card agar
terhubung
oleh
RFID. } //Show UID on serial monitor Serial.print("UID tag :");
4-63
http://digilib.mercubuana.ac.id/
String content= "";
Untuk
menyimpan
byte letter;
semua
for (byte i = 0; i < Rfid.uid.size; i++)
yang akan diakses ke
{
RFID.
data
variable
Serial.print(Rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(Rfid.uid.uidByte[i], HEX); content.concat(String(Rfid.uid.uidByte[i] < 0x10 ? " 0" : " ")); content.concat(String(Rfid.uid.uidByte[i], HEX)); } Serial.println();
Untuk mencocokan data
Serial.print("Message : ");
yang telah tersimpan
content.toUpperCase();
melalui RFID.
if (content.substring(1) =="73 87 60 01") {
Fungsi dalam tujuan pengujian dalam tabel program di atas adalah program telah mencocokan dan menyimpan hasil data dari tag card agar mudah terhubung melalui RFID, sehingga respone hasil program rfid langsung terkoneksi melalui solenoid dor dan buzzer.
Tabel 4.8 Tabel perogram kontrol dor lock digitalWrite(PIN_LOCK,ON); StatusLock=YES; delay_lock=DELAY_LOCK; Serial.println("Authorized access"); Serial.println(); buzzok(); delay(1500);
4-64
http://digilib.mercubuana.ac.id/
} else { Serial.println("Not Acess"); Serial.println(); buzzfailed(); delay(1500): 1. digitalWrite(PIN_LOCK,ON) : Untuk memanggil fungsi pintu terbuka oleh solenoid dor lock. 2. buzzok() : Untuk memanggil fungsi dalam menyalakan buzzer ketika terdeteksi adanya kadar gas. 3. buzzfailed() : Untuk memanggil fungsi dalam menyalakan buzzer dalam keadaan tidak aktif jika belum terdeteksi adanya kadar gas. Tabel 4.9 Tabel pengujian RFID Tag
RFID
Lock Dor
Buzzer
Sensor MQ2
Card Ada
Keteran gan
Ready
card
Close /
OFF
Open
Belum
Perintah
terdeteksi
pintu dapat terbuka dari luar
Ada card
Ready
Close /
OFF
Open
Belum
Perintah
terdeteksi
pintu dalam keadaan terbuka dan terkunci 4-65
http://digilib.mercubuana.ac.id/
Ada
Access ok
Open
ON ( bunyi )
Terdeteksi
card
Perintah membuk a pintu lock dor dari luar
Fungsi dari hasil pengujian di atas adalah dapat disimpulkan bahwa card yang telah merespone dari rfid dapat membuka dan menutup solenoid dor melalui rfid, kemudian arduino akan mengirimkan perintah yang terdapat pada sensor MQ2 jika terdeteksi adanya kadar gas metana maka akan otomatis buzzer dalam keadaan bunyi ( ON ). Tabel 4.10 Tabel program otomatis buzzer Program Otomatis Buzzer
Fungsi Program
void buzzok()
Untuk menyalakan buzzer dengan waktu
{
tunggu 1 sec. digitalWrite(PIN_BUZZER,LOW); delay(1000); // DILAY 1 SEC
Untuk mematikan buzzer ketika tidak
digitalWrite(PIN_BUZZER,HIGH);
mendeteksi adanya kadar gas.
} void buzzfailed() {
Untuk menentukan frekuensi jeda suara digitalWrite(PIN_BUZZER,LOW);
berdasarkan
delay(250); // DELAY 250 SEC
membedakan
digitalWrite(PIN_BUZZER,HIGH); delay(250);
pengaturan
delay
untuk
terdeteksi
dan
tidak
terdeteksinya adanya kadar gas dari setiap fungsi dan pengaturan bunyi buzzer.
digitalWrite(PIN_BUZZER,LOW); delay(250); digitalWrite(PIN_BUZZER,HIGH); delay(250); }
4-66
http://digilib.mercubuana.ac.id/
Fungsi tabel di atas merupakan pengaturan frekuensi suara yang dihasilkan oleh buzzer dalam mendeteksi adanya kadar gas, sehingga fungsi bunyi suara buzzer dapat diatur sesuai dengan keinginan. 4.2.6 Pengujian Keseluruhan Pada kondisi awal rangkian detekor gas metana dilekan sesuai dengan arcelit yang telah diletakan dan dirangkai sesuai dengan fungsi setiap komponen detektor gas dengan adanya pengujian secara keseluruhan dengan tujuan untuk memastikan bahwa semua komponen detektor gas metana berfungsi dengan baik. Pengujian di lakukan didalam ruangan fasilkom universitas mercubuana dan diletakan di kursi dengan mencolokan adaptor agar arus listrik dapat langsung terhubung ke alat detektor gas metana.
Gambar 4.14 Pengujian rangkaian dapur
4-67
http://digilib.mercubuana.ac.id/
Gambar 4.15 Penghubungan arus listrik Setelah tercoloknya adaptor langsung menghubungkan arus listrik melalui rangkaian alat detektor gas metana secara keseluruhan dapat menyala dan berfungsi dengan baik.
Gambar 4.16 Pengujian semua rangkaian detektor gas metana Untuk memanggil setiap fungsi dari semua rangkaian alat maka di perlukan beberapa port – port tersebut perlu didefinisikan agar dapat terhubung dengan komponen alat lainnya.
4-68
http://digilib.mercubuana.ac.id/
Tabel 4.11 Tabel pengkoneksian semua data program
if (wifi.createTCP(HOST_NAME, HOST_PORT)) { Serial.print("Update Data OK\r\n"); } else { Serial.print("Update Data Failed\r\n"); } wifi.send((const uint8_t*)Buffmsg, strlen(Buffmsg)); uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000); if (len > 0) { for(uint32_t i = 0; i < len; i++) { char c = buffer[i]; txtMsg.trim(); txtMsg.concat(c); txtMsg.trim(); } 1. if (wifi.create Merupakan fungsi untuk melakukan koneksi modem agar mudah terhubung ke server. 2. wifi.send((const uint8_t*)Buffmsg, strlen(Buffmsg)); Merupakan fungsi untuk mengirimkan data ke server. 3. uint32_t len = wifi.recv(buffer, sizeof(buffer), 10000) Berfungsi untuk menerima data server agar dapat terkoneksi. Setelah dilakukan proses pengujian program bertujuan untuk melakukan koneksi menuju server dengan mengirim txtMsg.trim(); data ke server agar dapat terhubung dengan modem sehingga wifi esp dan modem dapat saling terkoneksi dengan baik dan sesuai. Untuk itu diperlukan langkah untuk menyatukan semua data void trim(char *s, const int len) yang akan di masukan melalui program arduino ide agar 4-69
http://digilib.mercubuana.ac.id/
semua program dapat terprogram dengan baik agar semua rangkaian komponen dapat saling terhubung satu sama lain. Tabel 4.12 Tabel penyatuan semua data program } void trim(char *s, const int len) { int end = len - 1; int start = 0; int y = 0; while ((start < len) && (s[start] <= ' ')) { start++; } while ((start < end) && (s[end] <= ' ')) { end--; } if (start > end)
4-70
http://digilib.mercubuana.ac.id/
{ memset(s, '\0', len); return; } for (y = 0; (y + start) <= end; y++) { s[y] = s[start + y]; } memset((s + y), '\0', len - y); }
4.3 Analisis hasil pengujian Berdasarkan hasil penelitian yang didapatkan, penulis menuliskan analisisnya antara lain: 4.3.1 Hasil pengujian daya Setelah dilakukan uji daya, daya yang mengalir pada setiap komponen berbeda – beda, terutama pada arus daya power supply, arduino mega dan module 4 channel yang memerlukan sumber daya listrik tersendiri. Namun ternyata daya dari arduino memiliki arus tegangan yang tinggi di karenakan komponen – komponen yang memerlukan daya sumber listrik yang besar sehingga tegangan yang di alirkan kepada tiap komponen, agar komponen listrik tidak mudah rusak.Dari hasil pengujian dapat dipastikan bahwa rangkaian daya pada detektor gas metana berfungsi dengan baik. 4.3.2 Hasil pengujian jarak sensor MQ2 Ada beberapa hal yang mempengaruhi dalam pengujian jarak sensor MQ2 terutama dengan jarak pengeluaran kadar gas yang telah dihasilkan oleh sensor MQ2 dalam mendeteksi kandungan kadar gas yang telah di keluarkan 4-71
http://digilib.mercubuana.ac.id/
oleh gas lapangan, pada pengujian tersebut, penulis memberi kesimpulan bahwa semakin banyak kadar gas keluaran yang dideteksi oleh sensor MQ2. Hal ini dapat memperlambat deteksi kadar gas yang akan diterima oleh sensor MQ2, akan tetapi sedikit pengeluaran yang akan dideteksi oleh sensor MQ2 dengan jarak yang dekat maka akan semakin cepat sensor MQ2 dapat mendeteksi adanya kadar gas yang akan diterima. 4.3.3 Hasil pengujian RFID Setelah dilakukan pengujian RFID ada beberapa hal yang mempengaruhi dalam pengujian dari hasil respone cepat dan lambatnya tag card kartu yang dapat dihasilkan, agar hasil respone yang dihasilkan dapat langsung terhubung melalui solenoid dor, buzzer dan sensor MQ2 yang sudah terangkai dan terhubung satu sama lain, pada pengujian tersebut, penulis memberi kesimpulan bahwa tag card harus di tempelkan dengan jarak RFID yang dekat sehingga dapat menghasilkan respone yang cepat. 4.3.4 Hasil pengujian keseluruhan Pada pengujian keseluruhan, alat telah berjalan dengan baik sesuai dengan konsep rancangan awal yang sudah dirancang, dengan fungsi seluruh program yang telah sesuai dengan hasil respon program yang berjalan dengan baik,seluruh rangkaian alat detektor telah berfungsi dengan baik dan benar.
4-72
http://digilib.mercubuana.ac.id/