Abstrak — Permasalahan yang melibatkan udara sudah banyak sekali terjadi, dengan adanya polusi udara, kualitas udara akan menjadi turun dan bisa berdampak pada kesehatan. maka dari itu untuk mencegah terjadinya hal serupa, sehingga dibutuhkan sistem untuk mendeteksi gas yang mungkin ada di sekitar kita dan  dapat  dimonitor  secara  realtime  dimana  saja.  Dari penelitian sebelumnya mengenai hal serupa hanya diaplikasikan khusus pada satu sensor dan satu jenis gas saja. maka  dari  itu  untuk  memecahkan  masalah  yang  dibawa, Peneliti mengusulkan sistem monitoring gas di dalam ruangan yang dapat di monitor secara realtime. Peneliti memakai 3 (tiga) sensor, mikrokontroler Arduino Uno, NodeMCU ESP8266 serta LCD  dengan  I2C  Bus.  Gas  yang  diteliti  pada  penelitian  ini adalah metana (CH4)  dengan  hasil pengukuran rata-rata 2.79 ppm, Alkohol 1.06 ppm, CO2 2.32 ppm, NH4 3.63 ppm, Smoke 0.7 ppm dan CO 1.1 ppm.
Kata Kunci—Deteksi Gas, Sistem Monitoring Realtime, Ruang Tertutup.

## I. PENDAHULUAN
DARA  merupakan  suatu  campuran  gas  yang  terdapat pada  lapisan  yang  mengelilingi  bumi  (atmosfer), dimana  komposisi  dari  udara  tersebut  tidak  selalu  konstan. Udara merupakan komponen lingkungan yang penting dalam kehidupan,  sehingga  perlu  dipelihara  dan  ditingkatkan kualitasnya [1].
Karbon  monoksida  sangatlah  beracun  dan  tidak  berbau maupun  berwarna.  Ia  merupakan  sebab  utama  keracunan yang  paling  umum  terjadi  di  beberapa  negara  [2].    Deteksi dini  pada  gas  seperti  karbon  monoksida  maupun  gas berbahaya  lainnya  merupakan  cara  pencegahan  awal  dalam mengurangi kejadian yang tidak diinginkan.

## II. METODE PENYELESAIAN

## A. Deskripsi Permasalahan
Pada  permasalahan  ini,  bagaimana  cara  deteksi  multi sensor serta value yang ada dapat ditampilkan secara realtime monitoring system.

## B. Strategi Penyelesaian
Pada  subbab  ini  akan  dipaparkan  mengenai  strategi penyelesaian  masalah  yang  dimulai  dengan  merencanakan alat seperti yang ditunjukan pada Gambar 1.
1) Kebutuhan Perangkat Keras
1. Arduino Uno x1
2. NodeMCU esp8266 x1
3. Sensor MQ-4 x1
4. Sensor MQ-135 x1
5. Sensor MQ-7 x1
6. Kabel USB
7. Kabel Jumper
8. LCD dengan I2C Bus
2) Gas yang akan dideteksi
U.S. Environmental Protection Agency (EPA) menetapkan Air Quality Index (AQI) untuk lima polutan udara utama yang diatur oleh Clean Air Act. [3] lima polutan utama yaitu: 1. Ozon permukaan tanah
2. Polusi  partikel  (juga  dikenal  sebagai  partikel,  termasuk PM2.5 dan PM10)
3. Karbon monoksida
4. Sulfur dioksida
5. Nitrogen dioksida
Salah  satunya  akan  dideteksi  yaitu  karbon  monoksida (CO),  selain  itu  ada  beberapa  jenis  gas  lain  yang  akan dideteksi  yaitu  metana  (CH4),  karbon  dioksida  (CO2), alkohol, NH4, dan asap (Smoke).
Gambar  2  merupakan  gambaran  alat  pada  Thinkercad tanpa  dilengkapi  dengan  catu  daya  usb  di  NodeMCU ESP8266,  selain  itu  dikarenakan  kurangnya  contoh komponen  pada  thinkercad  maka  untuk  gambar  sensor  gas dan  nodemcu  dari  luar  yang  membuatnya  kurang realistis.Tabel 1 dan Gambar 3 akan menjelaskan bagaimana cara penghubungan antar komponen:

## 3) Arduino Uno
Arduino Uno pada Gambar 4 adalah board mikrokontroler yang berbasis ATmega328P ( datasheet ). Ini memiliki 14 pin input/output digital (6 di antaranya dapat digunakan sebagai output PWM),  6 input analog,  resonator  keramik  16  MHz (CSTCE16M0V53-R0), koneksi USB, colokan listrik, header ICSP,  dan  tombol  reset.  Ini  berisi  semua  yang  diperlukan untuk  mendukung  mikrokontroler;  cukup  sambungkan  ke komputer dengan kabel USB atau nyalakan dengan  adaptor AC-ke-DC  atau  baterai  untuk  memulai.  Anda  dapat mengotak-atik  Uno  tanpa  terlalu  khawatir  melakukan kesalahan, skenario terburuk adalah perlu mengganti chipnya untuk beberapa dolar dan mulai dari awal lagi [4].

## Rancangan Bangun Prototype Monitoring Kualitas Udara dalam Ruang
Milenia Ulwan Zafira, Khakim Ghozali dan Irzal Ahmad Sabilla Departemen Teknologi Informasi, Institut Teknologi Sepuluh Nopember (ITS)
e-mail : khakim@is.its.ac.id
U
Gambar 1. Block Diagram.

## 4) NodeMCU ESP8266
NodeMCU  adalah platform  open  source berdasarkan ESP8266 yang dapat menghubungkan objek dan membiarkan transfer data menggunakan protocol Wi-Fi. Selain itu, dengan menyediakan beberapa fitur paling penting dari mikrokontroler  seperti  GPIO,  PWM,  ADC,  dan  lain-lain, dapat memecahkan banyak kebutuhan proyek saja [5]. Fitur umum dari papan ini adalah sebagai berikut:
1. Mudah digunakan
2. Programabilitas dengan bahasa Arduino IDE atau IUA
3. Tersedia sebagai titik akses atau stasiun
4. Praktis dalam aplikasi API berbasis acara
5. Memiliki antena internal
6. Berisi  13  pin  GPIO,  10  saluran  PWM,  I2C,  SPI,  ADC, UART, dan 1-Wire
5) Sensor MQ Series
Sensor gas seri MQ menggunakan pemanas kecil di dalam dengan sensor elektro-kimia. Mereka sensitif untuk berbagai gas dan digunakan di dalam ruangan pada suhu kamar. Sensor MQ dapat dikalibrasi lebih atau kurang (lihat bagian tentang "Resistor beban" dan "Pembakaran") tetapi konsentrasi yang diketahui dari gas atau gas yang diukur diperlukan untuk itu.
hasilnya adalah sinyal analog dan dapat dibaca dengan input analog  Arduino  [6].  Tabel  2  ini  merupakan list Sensor  seri MQ untuk mendeteksi gas:
Dari Tabel 2, sensor seri MQ yang penulis gunakan adalah MQ-4, MQ-135 dan MQ-7 dimana masing-masing memiliki gas yang berbeda untuk dideteksi tiap sensornya, kesamaan dari ketiga sensor ini ada pada keperluan tegangan listrik atau “ heater /pembakaran” pada sensor yaitu 5V.
6) ThingsBoard
ThingsBoard  adalah platform Internet  of  Things (IoT) open-source yang memungkinkan pengembangan, pengelolaan,  dan  penskalaan  proyek  IoT  dengan  cepat. Tujuan kami adalah untuk menyediakan IoT cloud out-of-the- box atau solusi lokal yang akan memungkinkan infrastruktur sisi server untuk aplikasi IoT Anda [7]. Gambar 5 merupakan tampilan awal dari ThingsBoard.

## 7) Serial Communication
Komunikasi serial adalah proses pengiriman data satu bit pada  satu  waktu,  secara  berurutan,  melalui  saluran komunikasi  atau  bus  komputer.  Hal  ini  berbeda  dengan komunikasi  paralel,  di  mana  beberapa  bit  dikirim  secara keseluruhan, pada link dengan beberapa saluran paralel [8].
Gambar 4. Arduino Uno.
Gambar 5. Interface demo.thingsboard.io. Tabel 1.
Tabel Sensor Seri MQ No. Seri Deteksi Gas 1 MQ-2 Methane , Butane , LPG, smoke 2 MQ-3 Alcohol , Ethanol , smoke 3 MQ-4 Methane , CNG Gas 4 MQ-5 Natural gas, LPG 5 MQ-6 LPG, butane gas 6 MQ-7 Carbon Monoxide 7 MQ-8 Hydrogen Gas 8 MQ-9 Carbon Monoxide, flammable gasses 9 MQ131 Ozone 10 MQ135 Air  Quality  (CO,  Ammonia,  Benzene, Alcohol, smoke) 11 MQ136 Hydrogen Sulfide gas 12 MQ137 Ammonia 13 MQ138 Benzene, Toluene, Alcohol, Acetone, Propane, Formaldehyde gas, Hydrogen
Gambar 2. Rangkaian alat.
Tabel 2.
Pin yang terhubung
Arduino
Uno MQ-4 MQ- 135 MQ-7 NodeMCU ESP8266 LCD
dengan I2C Bus GRD GRD GRD GRD GRD GRD 5V 5V 5V 5V 5V A0 A0
A1
A0 A2 A0 A4 SDA A5 SCL D5 TX D6 RX
Gambar 3. Dokumentasi Rangkaian alat.
Penulis  melakukan  komunikasi  serial  dengan  memakai library yaitu SoftwareSerial.h yang akan dijelaskan pada sub- bab selanjutnya, dimana Arduino melakukan serial print pada 2  baud  yaitu  pada  9600bps  dan  115200bps  yang  akan diterima oleh NodeMCU pada serial beud 115200bps.

## 8) Library
Pustaka adalah kumpulan program atau fungsi yang telah ada  pada  compiler  atau  intepreter  untuk  memudahkan pemrogram  membuat  program  dan  tidak  perlu  mengakses langsung sistem komputer untuk memprogram [9].
Pada  pengkodean  yang  dilakukan  diperlukan  adanya pustaka penting yang harus ada, antara lain MQUnifiedsensor.h, SoftwareSerial.h dan ESP8266WiFi.h.
9) MQUnifiedsensor.h
Library yang  dapat  memudahkan  pemakaian  sensor  seri MQ dimana diperlukannya kalibrasi dan sesi
“ heater /pembakaran”  dimana  sensor  akan  di  aliri  listrik selama ±24 jam [10].
Pada library ini dilakukan Exponential regression adalah proses  menemukan  persamaan  fungsi  eksponensial  yang paling  cocok  untuk  sekumpulan  data.  Sebagai  contoh  pada example code MQ-135-ALL tedapat tabel seperti Gambar 6.

## 10) Regresi Eksponensial
Rujukan  [11]  yang  merupakan  dokumentasi  dari library MQUnifiedSensor.h  dimana  dijelaskan  bahwa library ini menggunakan klasifikasi pohon keputusan dan linier model untuk  membuat  regresi  eksponensial  yang  berbasis  pada grafik datasheet dari tiap sensor gas seri MQ.
Pengaplikasian  Regresi  Eksponensial  pada  metode perhitungan  untuk  mencari  PPM  ( parts  per  million )  pada konsentrasi gas menggunakan satu rumus yang secara linier menghubungkan  rasio  dan  konsentrasi.  Dengan  demikian,
Gambar 6.Regresi Eksponensial pada MQ-135-ALL.
Gambar 7. Sensitifitas gas MQ135.
Gambar 8. hasil eksperimen Miguel Califa.
Gambar 9. Diagram Alir.
Gambar 10. Uji coba sensor dan arduino dan kalibrasinya.
kita dapat menemukan konsentrasi gas pada nilai rasio berapa pun bahkan di luar batas grafik. Rumus untuk garis adalah:
𝑦  =  𝑚𝑥  +  𝑏 (II.1)
y : Ratio (Rs/Ro) x : PPM m : Slope of the line b : Intersection point
Rumus II.1 dilakukan pada prediksi konsentrasi gas yang dilakukan  oleh  library  MQUnifiedSensor.h  dengan  berbasis pada  grafik datasheet pada  pasing-masing  sensor  gas  seri MQ.  Gambar  8  merupakan  salah  satu  dari  hasil  klasifikasi
konsentrasi  gas  di  MQ135  yang  pada  awalnya  menurut datasheet adalah pada Gambar 7.
Rumus  regresi  eksponensial  yang  digunakan  pada MQUnifiedSensor.h adalah sebagai berikut:
𝑃𝑃𝑀  =   𝑎 ∗ 𝑟𝑎𝑡𝑖𝑜^𝑏 (II.2)
Dimana nilai A dan  B sudah di  tetapkan  terlebih dahulu, kemudian untuk mencari rasio yang tepat digunakan rumus:
𝑟𝑎𝑡𝑖𝑜 = 𝑅𝑠 𝑅0 (II.3)
Gambar 11. Hasil melalui serial monitor Arduino IDE.
Gambar 12. Uji coba sambungan NodeMCU dengan ThingsBoard.
Gambar 13. Uji coba kirim data dengan NodeMCU.
Gambar 14. Kondisi ruangan awal saat diberi Hit Spray.
Gambar 15. Kondisi ruangan setelah beberapa detik diberi Hit Spray.
Gambar 16. Simulasi pengujian Hit Spray pada ruang tertutup.
Rasio  atau  dalam  grafik  di  Gambar  7  dan  8  merupakan sumbu  Y  dan  sumbu  X  adalah  nilai  PPM,  R0  sendiri didapatkan dari hasil nilai kalibrasi.

## 11) ESP8266WiFi.h
ESP8266  adalah  tentang  Wi-Fi.  menghubungkan  modul ESP8266 baru ke jaringan Wi-Fi untuk mulai mengirim dan menerima data.
Perpustakaan  Wi-Fi  untuk  ESP8266  telah  dikembangkan berdasarkan  ESP8266  SDK,  menggunakan  konvensi penamaan  dan  filosofi  fungsionalitas  keseluruhan  dari perpustakaan  WiFi  Arduino.  Seiring  waktu,  kekayaan  fitur Wi-Fi porting dari ESP8266 SDK ke esp8266 / Arduino ke Arduino  WiFi library dan  menjadi  jelas  bahwa  kita  perlu memberikan dokumentasi terpisah tentang apa yang baru dan ekstra [12].
12) SoftwareSerial.h
Perangkat keras Arduino memiliki dukungan built-in untuk komunikasi  serial  pada  pin  0  dan  1  (yang  juga  masuk  ke komputer melalui koneksi USB). Dukungan serial asli terjadi melalui  perangkat  keras  (dibangun  ke  dalam chip )  yang disebut  UART.  Perangkat  keras  ini  memungkinkan chip Atmega  untuk  menerima  komunikasi  serial  bahkan  saat mengerjakan tugas lain, selama ada ruang di buffer serial 64 byte . Library SoftwareSerial  telah  dikembangkan  untuk memungkinkan  komunikasi  serial  pada  pin  digital  Arduino lainnya,  menggunakan  perangkat  lunak  untuk  mereplikasi fungsionalitas (karenanya disebut "SoftwareSerial"). Dimungkinkan  untuk  memiliki  beberapa port serial perangkat  lunak  dengan  kecepatan  hingga  115200  bps.
Parameter  memungkinkan  pensinyalan  terbalik  untuk perangkat yang memerlukan protokol itu.
Versi SoftwareSerial yang disertakan dalam 1.0 dan yang lebih baru didasarkan pada perpustakaan NewSoftSerial oleh Mikal Hart [13].

## 13) Code mencari PPM
Kode 1: kode mencari PPM, dan dapat dilihat pada Gambar 18.  Menurut  referensi  [14],  Kode  1  merupakan  cara perhitungan singkat untuk mencari konsentrasi gas yang ada. Penjelasan dari kode singkat diatas adalah, sebagai berikut: 1. Line  1  merupakan  deteksi  gas  sensor  melalui analogRead()
2. Line  2  merupakan  cara  merubah  nilai  sensor  ke  voltase dengan persamaan (1)
𝑠𝑒𝑛𝑠𝑜𝑟 𝑣𝑜𝑙𝑡 = 𝑠𝑒𝑛𝑠𝑜𝑟𝑉𝑎𝑙𝑢𝑒( 𝑉𝑜𝑙𝑡𝑎𝑔𝑒 𝑅𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 𝐴𝐷𝐶 𝐵𝑖𝑡 𝑅𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 )
a. Voltage_Resolution=voltase  yang  dipakai  oleh  board, contoh Arduino Uno 5V, sedangkan ESP8266 3,3V.
b. ADC_Bit_Resolution= 2 10 =1024, mulai dari 0 jadi 1023
3. Line 3 untuk mendapat nilai Rs dari gas, dengan rumus:
𝑅 𝑆 = ( 𝑉𝑜𝑙𝑡𝑎𝑔𝑒 𝑅𝑒𝑠𝑜𝑙𝑢𝑡𝑖𝑜𝑛 ∗ 𝑅 𝐿
𝑆𝑒𝑛𝑠𝑜𝑟 𝑣𝑜𝑙𝑡 ) − 𝑅 𝐿 R L secara default bernilai 10
4. Line 4 untuk menghitung rasio Rs_gas dibagi RS_air atau
R0
5. Line 5 penghitungan nilai PPM dengan rumus:
𝑃𝑃𝑀 = 𝑎 ∗ 𝑟𝑎𝑡𝑖𝑜 𝑏

## C. Cara Kerja Sistem
Alat  monitoring  udara  dalam  ruangan  ini  memiliki  cara kerja yang cukup mudah, secara umum cara kerja alat yang dibuat ini dapat dilihat pada Gambar 9.
Alat  akan  memulai  deteksi  gas  dengan  sensor  yang  ada yaitu MQ-4, MQ-135, MQ-7, nilai dari ketiga sensor ini akan dibaca oleh Arduino uno dan akan dikomunikasikan dengan NodeMCU ESP8266 melalui serial communication dan akan dikirimkan  ke  ThingsBoard  dimana  nilai  sensor  ini  akan divisualisasikan  untuk  mempermudah monitoring udara didalam ruangan.

## III. UJI COBA DAN ANALISIS

## A. Uji Coba
Uji coba awal dilakukan dengan testing alat tanpa memakai sambungan  ke  web  server  Thingsboard,  jadi  hanya analogRead() dari Arduino. Berikut merupakan gambaran Uji coba  ada  pada  Gambar  10  yag  merupakan  hasil  kalibraasi pada sensor gas, kemudian Gambar 11 merupakan hasil dari serial monitor Arduino IDE

## B. Uji Coba data dengan NodeMCU ke Thingsboard
Gambar 12 dan 13 merupakan uji coba koneksi NodeMCU ke  Thingsboard  untuk  melakukan  kirim  data  sensor  dari Arduino.

## C. Uji Coba Kondisi Ruang Kamar Pakai Hit Spray
Kondisi  ini  dibuat  dengan  cara  memasukan  sensor  ke dalam  ruang  tertutup  dan  mengisi  ruang  tersebut  dengan menyemprotkan  hit  spray  dapat  disimulasikan  dengan Gambar 16.
Gambar 17. Pengiriman data ThingsBoard.
Gambar 18. Kode 1: kode mencari PPM.
Pada  Gambar  14  dapat  dilihat  bahwa  saat  pertama  kali spray  nilai  sensor  melonjak  tinggi,  sedangkan  saat  sudah sedikit  lama  akan  menurun  dengan  sendirinya  dan  stabil seperti Gambar 15.

## D. Uji Coba Performance
Pengujian  ini  dilakukan  untuk  membandingkan  waktu pengiriman  nilai  sensor  dengan delay pada  kode  Arduino yaitu delay (2000) dan delay (70) dalam mili detik artinya total delay adalah 2,07 detik.
Pada  Gambar  17  dapat  diketahui  bahwa  waktu  atau timestamp setiap  data  yang  masuk  ke  dalam  ThingsBoard berselang  2  detik  maka  antara  delay  pada  Arduino  dan pengiriman data ke ThingsBoard tidak berbeda. Namun perlu di  perhatikan  bahwa  pada  Gambar  17  terdapat  pengiriman yang  terbagi  menjadi  2  tapi  tidak  terlihat  perbedaan  pada waktu/ timestamp yang ada. Pembagian ini terjadi dikarenakan  paket  data  yang  masuk  terlebih  dahulu mengikuti urutan dari program Arduino, dan pembagian ini tidak menjadi penghalang data untuk masuk secara realtime karena tidak ada perbedaan waktu yang mencolok.

## IV. KESIMPULAN
Permasalahan pada makalah ini dapat diselesaikan dengan beberapa  uji  coba  dimana  uji  coba  tersebut  berhasil
melakukan  pengiriman  data  sensor  secara realtime dan terdapat perubahan nilai yang terjadi.
Selain  melalui  website  ThingsBoard,  dalam  percobaan diberikan  kondisi  ambang  batas  nilai  sensor  agar pemakai/ customer dapat  mengetahui  nilai  melalui  LCD dengan kondisi tertentu. Gas sensor sangat sensitif terhadap perubahan  tegangan  dan  bau/gas  yang  ada  membuat  nilai akan naik secara tiba-tiba dan stabil saat beberapa lama.
Dari  beberapa  percobaan  yang  dilakukan  dapat  dilihat bahwa  3  dari  3  percobaan  berhasil  membuat  dapat  penulis ketahui adalah alat telah berfungsi lancar dan mendapat hasil yang baik. Namun masih terdapat kekurangan dari alat yang diteliti oleh penulis ini yaitu ada pada bila alat dibawa keluar dari jaringan koneksi WiFi yang sudah di konfigurasi maka alat  harus  di  konfigurasi  ulang  dengan  WIFI_AP  dan WIFI_PASSWORD jaringan baru.

## DAFTAR PUSTAKA
[1]  A. Y. P. Wardoyo, Emisi Partikulat Kendaraan Bermotor dan Dampak Kesehatan . Malang: Universitas Brawijaya Press, 2016.
[2]  S.  T.  Omaye,  “Metabolic  modulation  of  carbon  monoxide  toxicity,” Toxicology , vol. 180, no. 2, pp. 139–150, 2002, doi: 10.1016/S0300- 483X(02)00387-6.
[3]  AirNow,  “Air  Quality  Index  (AQI)  Basics,” Office  of  Air  Quality Planning and Standards (OAQPS) , 2022. https://www.airnow.gov/aqi/aqi-basics.