Abstrak  –  Saat  ini   secara global  polusi  udara sudah sangat memprihatinkan terutama untuk kelangsungan hidup manusia. Untuk  mengetahui  bahwa  udara  sudah  mengandung  unsur- unsur  polutan  maka  perlu  untuk  membuat  suatu  aplikasi. Tujuan  penelitian  ini  adalah  membuat  suatu  kode  sumber aplikasi  sensor  polusi  udara  menggunakan  bahasa  C++.  Kode sumber  ini  akan  menghasilkan  aplikasi  sensor  polusi  udara  ke perangkat  Android  sebagai  untuk  mengetahui  kualitas  udara yang  ada  di  sekitar.  Kode  sumber  ini  menghasilkan  aplikasi sensor polusi udara. Dalam penelitian ini diambil sumber polusi berupa  karbon  dioksida  (CO 2 )  dan  karbon  monoksida  (  CO  ). Aplikasi ini bisa diterapkan pada perangkat Arduino Uno serta sensor udara.
Kata  kunci  –  Arduino  Uno;  Bahasa  C/C++;    Karbon Dioksida; Karbon Monoksida; Sensor udara.
Abstract  -  Currently,  global  air  pollution  is  very  alarming, especially  for  human  survival.  To  find  out  that  air  already contains  pollutant  elements  it  is  necessary  to  make  an application. The purpose  of  this study is  to  create  a source code for  air  pollution  sensor  applications  using  the  C  ++  language. This source code will produce an air pollution sensor application to  the Android device  as a way to find out  the air quality that is around.  This  source  code  produces  air  pollution  sensor applications.  In  this  research,  pollution  sources  such  as  carbon dioxide  (CO2)  and  carbon  monoxide  (CO)  were  taken.  This application can be applied to Arduino Uno devices as well as air sensors.
Keywords  -  Air  sensor;  Arduino  Uno;  C  ++  language;  Carbon Dioxide; Carbon Monoxide.

## I. P ENDAHULUAN

## A. Penelitian Terkait
Penelitian  yang  terkait  dengan  arduino  yang  penulis ambil,  khususnya  menggunakan  sensor  sebagaimana diuraikan bagian berikut ini.
Berdasarkan  artikel  A.  Faroqi  tentang  Perancangan  Alat Pendeteksi  Kadar  Polusi  Udara  Menggunakan  Sensor  Gas MQ-7  Dengan  Teknologi Wireless HC-05  [1],  sumber  ini melakukan  penelitian,  perancangan  serta  analisis pendeteksi kadar polusi di udara, dan dapat mendeteksi gas CO (Karbon Monoksida) dengan menggunakan sensor gas  MQ-7 beserta Teknologi  Wireless  HC-05,  dan  data  yang  diperoleh  masuk ke arduino stelah itu ditampilkan pada LCD dan LED lalu di kirim ke PC.
Berdasarkan  artikel  dari  V.V.  Kosegeran,  dkk,  yang berjudul  Perancangan  Alat  Ukur  Kadar  Karbon  Monoksida
(CO), Karbon Dioksida (CO 2 ) dan Hidro Karbon (HC) Pada Gas  Buang  Kendaraan  Bermotor  [2],    penelitian  ini menggunakan sensor TGS-2201 dan sensor MG-811 beserta mikrokontroler ATMega 8535 untuk memperoleh data emisi gas buang kendaraan bermotor.
Berdasarkan  artikel  dari  E.  Nebath,  dkk  yang  berjudul Rancang  Bangun  Alat  Pengukur  Gas  Berbahaya  CO  dan CO 2 di  Lingkungan  Industri  [3],  penelitian  ini  bertujuan untuk  mengukur  kadar  karbon  dioksida  (CO)  dan  karbon monoksida (CO 2 ) di lingkungan industri dengan menggunakan mikrokontroler Arduino Uno, sensor MG-811 (sensor yang mendeteksi Gas CO 2 dan sensor MQ-7 (sensor yang mendeteksi Gas CO. Masing-masing dengan sensivitas yang tinggi.
Berdasarkan  Tugas  Akhir  Prilly  Morena  Ridwan  [4] dengan  judul  Alat  Ukur  Kualitas  Udara  Berbasis Mikrokontroler  ATMEGA328.  Penelitian  ini  bertujuan mengetahui indeks polusi udara dengan menggunakan sensor MQ-135  dan  menampilkan  hasilnya  data  yang  di  baca  oleh sensor dengan menggunakan LCD.
Hafiizh  A.P.  Jati  dkk  menggunakan array sensor  gas yang  terdiri  dari  delapan  sensor  serta  Arduino  berbasiskan ATMega  2560,  menggunakan  aplikasi  Arduino  IDE  1.0. peralatan  yang  dibuat  digunakan  untuk  mengukur  berbagai sampel gas polutan gas butana, gas CO, gas H 2 S serta etanol [5].
Zainal  Iqbal  dan  lingga  Hermanto  melakukan  penelitian dengan  membuat  sistem  monitoring  tingkat  pencemaran udara  berbasis  gas  polutan  carbon  monoksida  (CO). penelitian ini menggunakan sensor gas MQ-7, mikrokontroler  ATMega328  dan  menggunakan  bahasa  C melalui media interface Delphi [6]

## B. Build Process
Lingkungan  ( environtment )  Arduino  melakukan  beberapa pra-pemrosesan  kecil  untuk  mengubah sketch menjadi program C ++. Kemudian akan diteruskan ke kompiler (avr- gcc),  yang  mengubah  kode  yang  dapat  dibaca  manusia menjadi instruksi yang dapat dibaca mesin (atau file objek). Kemudian  kode  Anda  digabungkan  dengan  (ditautkan dengan),  pustaka  Arduino standar yang menyediakan fungsi dasar  seperti  digitalWrite  ()  atau  Serial.print  ().  Hasilnya adalah  file  hex  tunggal  Intel,  yang  berisi  byte  spesifik  yang perlu  ditulis  ke  memori  program  chip  pada  papan  Arduino. File ini kemudian diunggah ke papan: ditransmisikan melalui USB atau koneksi serial  melalui bootloader yang sudah ada di chip atau dengan perangkat keras pemrograman eksternal
C. Bahasa C++

## Aplikasi Sensor Polusi Udara
Brave A. Sugiarso, Arie S. M. Lumenta, Benefit S. Narasiang, Arthur M. Rumagit Teknik Elektro Universitas Sam Ratulangi Manado, Jl. Kampus Bahu-Unsrat Manado, 95115 brave@unsrat.ac.id , al@unsrat.ac.id , benefitsemuel@unsrat.ac.id , arthur_rumagit@unsrat.ac.id
Bahasa  pemrograman  Arduino  dapat  dibagi  dalam  tiga bagian  utama:  fungsi,  nilai  (variabel  dan  konstanta),  dan struktur.  Kode yang digunakan pada Arduino menggunakan bahasa C++. Kode C++ antara lain berupa kelompok Sketch ( loop dan setup ), control  structure ( break,  continue, do…while,  else ,  dst),  sintaks-sintaks  ( define,  include,  block comment,  single  line  comment,  semicolon dan curly  braces operator-operator aritmatika, operator-operator perbandingan,  operator  boolean,  operator pointer  access , operator bitwise , dan operator compound . [7]

## D. Sensor
Menurut fraden (2003:64) dalam artikel Constantien  I.Y.  Gessal  [8],  Sensor  berasal  dari  kata  Sense (merasakan  atau  mengindera),  adalah  mengidefinisikan sensor  sebagai  Piranti  yang  menerima  sebuah  stimulus  dan meresponnya dengan sebuah sinyal listrik. Lebih jauh fraden mendefinisikan stimulus, atau rangsangan, sebagai kuantitas, sifat  atau  kondisi  tertentu  yang  dapat  dirasakan  dan  diubah menjadi  sinyal  listrik.  Tujuan  dari  sebuah  sensor  adalah merespon  sejenis  masukan  dan  mengubah masukan  tersebut menjadi  sinyal  listrik.  Keluaran  output  dari  sensor  dapat berupa  arus  atau  beda  potensial.  Setiap  sensor  pada prinsipnya  adalah  mengubah  energy  ( energy converter ). Sensor  adalah  jenis  tranduser  yang  digunakan  untuk mengubah  besaran  mekanis,  magnetis,  panas,  sinar  dan kimia  menjadi  tegangan  dan  arus  listrik.  Sensor  sering digunakan  untuk  pendeteksian  pada  saat  melakukan pengukuran dan pengendalian. Karakteristik sensor dilakukan adalah untuk mengetahui Performance dari sensor yang telah dirancang. Dalam hal ini sensor dianggap sebagai black  box  yang  karakteristiknya  ditentukan  oleh  hubungan antara  sinyal  keluaran  dan  sinyal  masukan.  Karakteristik statis sebuah sensor dapat dicirikan sebagai berikut:

## 1) Akurasi
Akurasi  pada  kenyataannya  dapat  diketahui  dari ketidakakuratan  sensor.  Ketidakakuratannya  dapat  diukur dari  deviasi  terbesar  yang  dihasilkan  sensor  dalam pengukuran.  Deviasi  dapat  diartikan  sebagai  perbedaan antara nilai perhitungan dengan nilai eksperimen.

## 2) Nonlinearitas
Nonlinearity  error dikhususkan  untuk  sensor  yang memilki fungsi transfer dengan pendekatan linier. Nonlinearitas  merupakan  deviasi  maksimum  fungsi  transfer dari  pendekatan  garis  linier.  Dapat  dilakukan  pendekatan linier  untuk  sensor  dengan  fungsi  transfer  nonlinier. Diantaranya  dengan  menggunakan  metode  terminal  point dan  metodeleast  square.  Metode  terminal  point  dilakukan dengan cara menarik garis lurus dua titik output, yaitu output dengan input terkecil dan terbesar.

## 3) Saturasi
Setiap sensor memiliki batasan operasi. Peningkatan nilai input  tidak  selalu  menghasilkan  output  yang  diinginkan. Dengan  kata  lain  setiap  sensor  meskipun  memiliki  fungsi
transfer  linier,  tetapi  pada  input  tertentu  memiliki  kondisi nonlinear atau saturasi.

## 4) Resolusi
Masih berdasarkan dalam artikel Constantien I.Y. Gessal [8], Resolusi didefinisikan sebagai kemampuan sensor untuk mendeteksi  sinyal  input  minimum  (John  Wilson,  2005). Ketika sensor diberikan input secara kontinyu, sinyal output pada  beberapa  jenis  sensor  tidak  akan  memberikan  output yang  sempurna  bahkan  dalam  kondisi  tidak  ada  gangguan sama sekali. Pada kondisi demikian, biasanya terjadi sedikit perubahan  output.  Jika  pada  asebuah  sensor  tidak  terjadi demikian,  maka  sensor  tersebut  dapat  dikatakan  bersifat kontinyu atau memiliki resolusi yang sangat kecil

## 5) Repeatabilitas
Repeatability ( reproducibility error )  disebabkan  karena ketidakmampuan sensor untuk menghasilkan nilai yang sama pada  kondisi  yang  sama.  Kesalahan  ini  dapat  disebabkan karena  sifat  material,  gangguan  temperatur,  dan  kondisi lingkungan lainnya..

## E. Udara
Menurut Kamus Besar Bahasa Indonesia (KBBI) on-line [9], terdapat  beberapa  definisi  tentang  udara,  yaitu  udara merupakan campuran berbagai gas yang tidak berwarna dan tidak  berbau  (seperti  oksigen  dan  nitrogen)  yang  memenuhi ruang  di  atas  bumi  seperti  yang  kita  hirup  apabila  kita bernapas.  Udara  juga  merupakan  ruang  di  atas  bumi  yang berisi  hawa  atau  disebut  juga  angkasa.  Udara  juga merupakan keadaan hawa (cuaca, hari)

## F. CO (Karbon Monoksida)
Menurut  Wardhana  (2004)  dalam  artikel  D.Y.  Damara [10] karbon monoksida atau CO adalah suatu gas yang tidak berwarna, tidak berbau dan juga tidak berasa. Gas CO dapat berbentuk  cairan  pada  suhu  dibawa  -192 O C.  Gas  CO sebagian  besar  berasal  dari  pembakaran  bahan  fosil  dengan udara,  berupa  gas  buangan.  Kota  besar  yang  padat  lalu lintasnya akan banyak menghasilkan gas CO sehingga kadar CO  dalam  uadra  relatif  tinggi  dibandingkan  dengan  daerah pedesaan.  Selain  itu  dari  gas  CO  dapat  pula  terbentuk  dari proses industri. Secara alamiah gas CO juga dapat terbentuk, walaupun  jumlahnya  relative  sedikit,  seperti  gas  hasil kegiatan gunung berapi, proses biologi dan lain-lain.
Lebih  lanjut,  menurut  K.Prabowo  [11]  Karbon monoksida  yang  terdapat  di  alam  terbentuk  dari  salah  satu proses  pembakaran  tidak  lengkap  terhadap  karbon  atau komponen yang mengandung karbon. CO juga terjadi karena reaksi  antara  karbon  dioksida  dan  komponen  yang mengandung  karbon  pada  suhu  tinggi.    Pada  suhu  tinggi, karbon  dioksida  terurai  menjadi  CO  dan  O.  Gas  CO sebagian  besar  berasal  dari  pembakaran  bahan  bakar  fosil dengan  udara,  berupa  gas  buangan.  Kota  besar  yang  padat lalu  lintasnya  akan  banyak  menghasilkan  gas  CO  sehingga kadar  CO  dalam  udara  relatif  tinggi  dibandingkan  dengan daerah  pedesaan.  Secara  alamiah  gas  CO  dapat  juga terbentuk  walaupun  jumlahnya  relatif  sedikit,  seperti  gas
hasil  kegiatan  gunung  berapi,  proses  biologi  dan  lain-lain. Kendaraan  bermotor  merupakan  sumber  polutan  CO  yang utama (sekitar 59,2%), maka daerah-daerah yang berpenduduk padat dengan lalu lintas ramai memperlihatkan tingkat polusi CO yang tinggi. Konsentrasi CO di udara per waktu  dalam  satu  hari  dipengaruhi  oleh  kesibukan  atau aktivitas  kendaraan  bermotor  yang  ada.  Semakin  ramai kendaraan  bermotor yang ada, semakin tinggi tingkat polusi CO di udara.[11]
Konsentrasi  gas  CO  sampai  dengan  100  ppm  masih dianggap aman kalau waktu kontak hanya sebentar. Gas CO sebanyak  30  ppm  apabila  dihisap  manusia  selama  8  jam akan  menimbulkan  rasa  pusing  dan  mual.  Pengaruh  karbon monoksida  (CO)  terhadap  tubuh  manusia  ternyata  tidak sama  dengan  manusia  yang  satu  dengan  yang  lainnya. Konsentrasi  gas  CO  disuatu  ruang akan naik bila  diruangan itu  ada  orang  yang  merokok.  Orang  yang  merokok  akan mengeluarkan asap rokok yang mengandung gas CO denagn konsentrasi  lebih  dari  20.000  ppm  yang  kemudian  menjadi encer sekitar 400-5000 ppm selama dihisap. Konsentrasi gas CO  yang  tinggi  didalam  asap  rokok  menyebabkan kandungan  COHb  dalam  darah  orang  yang  merokok  jadi meningkat.  Keadaan  ini  sudah  barang  tentu  sangat membahayakan kesehatan orang yang merokok. Orang yang merokok  dalam  waktu  yang  cukup  lama  (perokok  berat) konsentrasi  COHb  dalam  darahnya  sekitar  6,9%.  Hal  inilah yang  menyebabkan  perokok  berat  mudah  terkena  serangan jantung.

## G. CO 2 (Karbon Dioksida)
Karbon dioksida (CO 2 ) memiliki beberapa dampak yaitu 1). Pada  konsentrasi  di  atas  nilai  ambang  batas  yang dipersyaratkan,  dapat  menyebabkan  mengantuk,  sakit kepala, dan menurunkan aktivitas fisik.
2). Pada  konsentrasi  3%  (30.000  ppm),  bersifat  narkotik ringan  dan  menyebabkan  peningkatan  tekanan  darah serta gangguan pendengaran.
3). Pada  konsentrasi  5%  (50.000  ppm),  menyebabkan stimulasi  pernapasan,  pusing-pusing,  dan  kesulitan pernapasan yang diikuti oleh sakit kepala.
4). Pada konsentrasi >8% (80.000 ppm,) dapat menyebabkan  sakit  kepala,  berkeringat  terus  menerus, tremor,  dan  kehilangan  kesadaran  setelah  paparan selama 5-10 menit.
Berikut  ini  adalah  beberapa  faktor  resiko  yang  ditimbulkan dari beberapa aktifitas yaitu penggunaan bahan bakar seperti arang,  kayu,  minyak  bumi,  dan  batu  bara.  Faktor  resiko lainnya  adalah  merokok  di  dalam  rumah  serta  kepadatan penghuni dalam ruang tinggi.[12]

## H. Index Kualitas Udara
Saat  ini  Indeks  standar  kualitas  udara  yang  dipergunakan secara  resmi  di  Indonesia  adalah  Indek  Standar  Pencemar Udara  (ISPU),  hal  ini  sesuai  dengan  Keputusan  Menteri Negara  Lingkungan  Hidup  Nomor  :  KEP  45  /  MENLH  / 1997  Tentang  Indeks  Standar  Pencemar  Udara.  Dalam keputusan  tersebut  yang  dipergunakan  sebagai  bahan pertimbangan  diantaranya  :  bahwa  untuk  memberikan kemudahan  dari  keseragaman  informasi  kualitas  udara ambien kepada masyarakat di lokasi dan waktu tertentu serta sebagai bahan pertimbangan dalam melakukan upaya-upaya
TABEL I. RENTANG INDEKS STANDAR PENCEMAR UDARA
KATEGORI RENTANG PENJELASAN Baik 0 – 50 Tingkat  kualitas  udara  yang tidak  memberikan  efek  bagi kesehatan manusia atau hewan dan tidak berpengaruh pada tumbuhan,  bangunan  atau nilai estetika Sedang 51 – 100 Tingkat  kualitas  udara  yang tidak berpengaruh pada kesehatan  manusia  ataupun hewan  tetapi  berpengaruh pada tumbuhan yang sensitif dan nilai estetika Tidak Sehat 101 – 199 Tingkat  kualitas  udara  yang bersifat  merugikan  pada manusia  ataupun  kelompok hewan  yang  sensitif  atau bisa menimbulkan kerusakan  pada  tumbuhan ataupun nilai estetika. Sangat tidak sehat 200 – 299 Tingkat  kualitas  udara  yang dapat  merugikan  kesehtan pada sejumlah segmen populasi yang terpapar. Berbahaya 300 - lebih Tingkat kualitas udara berbahaya yang secara umum dapat merugikan kesehatan yang serius.
pengendalian  pencemaran  udara  perlu  disusun  Indeks Standar  Pencemar  Udara.  Indeks  Standar  Pencemar  Udara adalah  angka  yang  tidak  mempunyai  satuan  yang menggambarkan kondisi kualitas udara ambien di lokasi dan waktu  tertentu  yang  didasarkan  kepada  dampak  terhadap kesehatan manusia, nilai estetika dan makhluk hidup lainnya. Indeks  Standar  Pencemar  Udara  ditetapkan  dengan  cara mengubah kadar pencemar udara yang terukur menjadi suatu angka  yang  tidak  berdimensi.  Rentang  Indeks  Standar Pencemar Udara dapat dilihat pada tabel I [13].

## I. Arduino
Arduino  [14]  merupakan  sebuah Platform elektronika yang bersifat open-source dengan dasar mudah menggunakan  ( easy-to-use )  perangkat  keras  dan  perangkat lunaknya . Papan  Arduino  dapat  membaca  input  -  cahaya pada  sensor,  jari  pada  tombol,  atau  pesan  Twitter  -  dan mengubahnya  menjadi  output  -  mengaktifkan  motor, menyalakan  LED,  serta  menerbitkan  sesuatu  secara  online. Kita  dapat  memberi  tahu  Arduino  terhadap  apa  yang  harus dilakukan  yaitu  dengan  mengirimkan  serangkaian  instruksi ke mikrokontroler di papan tulis. Untuk dapat melakukannya,  kita  menggunakan  bahasa  pemrograman Arduino  (berdasarkan  Pengkabelan),  dan  Perangkat  Lunak Arduino (IDE), berdasarkan Pemrosesan.
Arduino  tercipta  di Ivrea  Interaction  Design  Institute sebagai  alat  yang  mudah  untuk  membuat  prototipe  cepat, yang  ditujukan  untuk  siswa  tanpa  latar  belakang  dalam bidang  elektronik  dan  pemrograman.  Segera  setelah mencapai  komunitas  yang  lebih  luas,  papan  Arduino  mulai berubah  untuk  beradaptasi  dengan kebutuhan dan tantangan baru.  Papan  arduino  berbeda  dari  papan  8-bit  sederhana hingga produk untuk aplikasi IoT, wearable, pencetakan 3D, dan  lingkungan  yang  tertanam  ( embedded ).  Semua  papan
Arduino sepenuhnya open-source , memberdayakan pengguna  untuk  membangunnya  secara  mandiri  dan akhirnya  menyesuaikannya  dengan  kebutuhan  khusus mereka.  Perangkat  lunaknya  juga  bersifat open-source ,  dan terus  berkembang  melalui  kontribusi  pengguna  di  seluruh dunia.

## J. Arduino Uno
Arduino  Uno  adalah  papan  mikrokontroler  yang berbasiskan  ATMega328  (lihat  gambar  1)  [15].  Arduino Uno  memiliki  14  pin  input/output  digital  (6  pin  dapat digunakan  sebagai  output  PWM),  6  pin  sebagai  input analog,  sebuah  kristal  kuarsa  16  MHz,  satu  koneksi  USB, satu untuk colokan  listrik, satu untuk  ICSP header dan satu sebagai tombol reset. Arduino Uno memuat segala hal yang dibutuhkan  untuk  mendukuang  mikrokontroler.  Hanya dengan  menghubungkannya  ke  sebuah  komputer  melalui kabel USB atau memberikan tegangan dari adaptor AC –ke-- DC atau baterai maka arduino uno sudah dapat dihidupkan Dalam  bahasa  Itali,  "Uno"  berarti  satu  dan  dipilih  untuk menandai  rilis Arduino Software (IDE) 1.0. Papan Uno dan versi  1.0 Arduino  Software (IDE)  adalah  versi  referensi Arduino,  yang  sekarang  berevolusi  menjadi  rilis  yang  lebih baru.

## II. M ETODE

## A. Alat dan Bahan
Alat  dan  bahan  yang  digunakan  pada  penelitian  ini sebagai  berikut  Perangkat  Keras  Laptop  Lenovo  dengan spesifikasi  perangkat  ini  adalah  sebagai  berikut  Prosesor Intel®  Core  ™  i5-4200M,  CPU  @2.50GHz,  RAM  4  GB  , OS Windows 8, 64-Bit . Penelitian ini menggunakan juga kit Arduino  uno.  Perangkat  Lunak  yang  digunakan  berupa Aplikasi  Arduino  :  Arduino  1.8.1,  Aplikasi  Android  : Makeroid, Notepad++, dan Windows 8.

## B. Rancangan Aplikasi
Rancangan  aplikasi  yang  dilakukan  adalah  membuat kode  program  sumber.  Awal  dari  pembuatan  kode  program sumber ini adalah membuat flowchart aplikasi. Flowchart ini digunakan untuk sensor yang akan membaca kadar udara ambien.  Gambar  2  menunjukkan  digram  alir  dari  Aplikasi Sensor  Polusi  Udara.  Gas  yang  ada  disekitar  sensor  dibaca oleh sensor. Jika sensor membaca data lebih dari 0% dan
Gambar 1. Arduino Uno yang berbasiskan ATMega328
kurang  dari  51%  maka  penampil  akan  menampilkan  status ‘BAIK’.  Jika  data  terbaca  diantara  lebih  dari  50%  namun kurang  dari  101% maka penampil  akan  menampilkan status ‘SEDANG’.  Jika  data  terbaca  lebih  dari  100%  namun kurang  dari  199% maka penampil  akan  menampilkan status ‘TIDAK SEHAT’. Jika data terbaca lebih dari 200%  namun kurang  dari  299% maka penampil  akan  menampilkan status ‘SANGAT  TIDAK  SEHAT’.  Jika  data  terbaca  lebih  dari 300%  namun  kurang  dari  500%  maka  penampil  akan menampilkan  status  ‘BERBAHAYA’.  Jika  kita  memilih keluar  dari  aplikasi,  maka  program  akan  menghentikan semua kegiatan aplikasi serta alat, dan aplikasi akan ditutup.

## III. H ASIL DAN P EMBAHASAN
Kode  program  berikut  ini  merupakan  kalibrasi  untuk  sensor MQ135  yang  digunakan.  Kode  program  ini  sudah  diberikan beberapa  komentar  yang  merupakan  maksud  dari  masing-masing sintaks tersebut.
int mqInput = A0; //pin input sensor int mqR = 1000;  // nilai resistor pull-down float ppm = 410.96; //konsentrasi CO2 yang diketahui float a = 116.6020682;  //nilai  koefisien  a  (faktor  penskalaan)  dari sensor float b = -2.769034857;  //nilai koefisien b (eksponen) dari sensor void setup() { pinMode(mqInput, INPUT); Serial.begin(9600); } void loop() { int adcRaw = analogRead(mqInput); long rS = ((1024.0 * mqR) / adcRaw) - mqR; long rO = rS*pow(a/ppm, 1/b); Serial.print( "ADC raw = "); Serial.println(adcRaw);
Serial.print("Rs = "); Serial.print(rS); Serial.println(" Ohm"); Serial.print("Ro =  "); Serial.print(rO); Serial.println(" Ohm\n"); delay(2500); }
Selanjutnya  untuk  kode  program  mendeteksi  Gas  karbon monoksida  (CO)  dapat  dilakukan  berdasar  penggalan  kode sumber berikut. Yang perlu diperhatikan adalah deklarasikan terlebih  dahulu  nama  pada  nilai  yang  konstan  sebelum program  dikompilasi.  Tentukan  nilai-nilai  untuk  pin  sensor, penampil LCD, koefisien dan sebagainya.
//Define variables #define I2C_ADDR 0x3F //Define I2C Address where the PCF8574A is #define BACKLIGHT_PIN 3 #define En_pin 2 #define Rw_pin 1 LiquidCrystal_I2C lcd(I2C_ADDR, En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); SoftwareSerial Bluetooth(10, 11); const int buzzer = 9;
int Nilai_PPM = 0;                // deklarasi suatu objek int mqInput = A0;                 // pin input sensor int mqR = 1000;                   // nilai resistor pull-down float rO = 1064;                  // nilai R0 sensor float  a  =  580.8621309;            // nilai koefisien a (faktor penskalaan) dari sensor
float b = -3.958416584;           // nilai koefisien b (eksponen) dari sensor
void setup() { pinMode(buzzer, OUTPUT); pinMode(mqInput, INPUT);
lcd.begin (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.setCursor(4,0); lcd.print("DETEKSI"); lcd.setCursor(1,1); lcd.print("KUALITAS UDARA"); delay(4000); lcd.clear(); lcd.setCursor(0,0); lcd.print("UNIVERSITAS SAM"); lcd.setCursor(0,1); lcd.print("RATULANGI MANADO");
delay(4000); lcd.clear(); lcd.setCursor(0,0); lcd.print("be Brave"); //lcd.setCursor(0,1); lcd.setCursor(3,1); lcd.print("13021106174"); delay(4000); lcd.clear(); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); Serial.begin(9600);             // sets the serial port to 9600 Bluetooth.begin(9600); } void loop() { lcd.clear(); int adcRaw = analogRead(mqInput); long rS = ((1024.0 * mqR) / adcRaw) - mqR; float rSrO = (float)rS / (float)rO; float ppm = a * pow((float)rS / (float)rO, b);
Nilai_PPM = ppm ; lcd.setCursor(0,0); lcd.print("DATA : "); lcd.setCursor(7,0); lcd.print(Nilai_PPM); lcd.print("PPM");
//Nilai di LCD if (Nilai_PPM >=0 && Nilai_PPM <51) { lcd.setCursor(0,1); lcd.print("BAIK"); } if (Nilai_PPM >50 && Nilai_PPM <101) { lcd.setCursor(0,1); lcd.print("SEDANG"); } if (Nilai_PPM >100 && Nilai_PPM <199) { lcd.setCursor(0,1); lcd.print("TIDAK SEHAT"); } if (Nilai_PPM >200 && Nilai_PPM <299) { lcd.setCursor(0,1); lcd.print("S. TIDAK SEHAT"); } if (Nilai_PPM >300 && Nilai_PPM <500) { lcd.setCursor(0,1); lcd.print("BERBAHAYA"); } if (Nilai_PPM >100) { tone(buzzer, 4000); delay(2000); noTone(buzzer); } //Bluetooth.print(Nilai_PPM, DEC); //delay(2000); delay(15000); lcd.clear();
// cek apakah ada data yang masuk via bluetooth if (Bluetooth.available() > 0) {
// jika ada baca data tersebut
char data_masuk = Bluetooth.read();
// jika data tersebut adalah karakter 'M' if (data_masuk == 'M') { // panggil fungsi kirimDataSensor kirimDataSensor(); } } }
// Fungsi untuk mengirim data sensor void kirimDataSensor() {
//1. Baca data sensor int adcRaw = analogRead(mqInput);
//2. Hitung nilai Resistansi Sensor Rs long rS = ((1024.0 * mqR) / adcRaw) - mqR;
//3. Hitung nilai rasio Rs/Ro float rSrO = (float)rS / (float)rO;
//4. Hitung nilai konsentrasi gas (ppm) float ppm = a * pow((float)rS / (float)rO, b);
//5. Kirim data konsentrasi gas (ppm) via bluetooth Bluetooth.print(ppm); }
Untuk  mendeteksi  gas  CO2  dapat  digunakan  beberapa penggalan  kode  berikut.  Bebrapa  hal  yang  harus diperhatikan  seperti  deklarasi  parameter  dan  variabel, menentukan  pin  mana  yang  digunakan  dari  masing-masing perangkat seperti penampil LCD, bluetooth , sensor, arduino dan  lainnya.  Tentukan  nilai-nilai  polutan  CO2  yang  ingin diukur
//Define variables #define I2C_ADDR 0x3F //Define I2C Address where the PCF8574A is #define BACKLIGHT_PIN 3 #define En_pin 2 #define Rw_pin 1 #define Rs_pin 0 #define D6_pin 6 #define D7_pin 7 LiquidCrystal_I2C lcd(I2C_ADDR, En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin); SoftwareSerial Bluetooth(10, 11); const int buzzer = 9;
int Nilai_PPM = 0;                // deklarasi suatu objek int mqInput = A0;                 // pin input sensor int mqR = 1000;                   // nilai resistor pull-down float rO = 12597;                 // nilai R0 sensor float  a  =  110.726459;                     // nilai koefisien a (faktor penskalaan) dari sensor
float b = -2.879530643;           // nilai koefisien b (eksponen) dari sensor
void setup() { pinMode(buzzer, OUTPUT); pinMode(mqInput, INPUT); lcd.begin (16,2); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); lcd.setCursor(4,0);
lcd.print("DETEKSI"); lcd.setCursor(1,1); lcd.print("KUALITAS UDARA"); delay(4000); lcd.clear(); lcd.setCursor(0,0); lcd.print("be Brave"); //lcd.setCursor(0,1); lcd.setCursor(3,1); lcd.print("13021106174"); delay(4000); lcd.clear(); lcd.setBacklightPin(BACKLIGHT_PIN,POSITIVE); lcd.setBacklight(HIGH); Serial.begin(9600);             // sets the serial port to 9600 Bluetooth.begin(9600); } void loop() { lcd.clear(); int adcRaw = analogRead(mqInput); long rS = ((1024.0 * mqR) / adcRaw) - mqR; float rSrO = (float)rS / (float)rO; float ppm = a * pow((float)rS / (float)rO, b);
Nilai_PPM = ppm; lcd.setCursor(7,0); lcd.print(Nilai_PPM); lcd.print("PPM");
if (Nilai_PPM <=999) { lcd.setCursor(0,1); lcd.print("STATUS: "); lcd.setCursor(7,7); lcd.print("AMAN"); } if (Nilai_PPM >=999) { lcd.setCursor(0,1); lcd.print("STATUS: "); lcd.setCursor(7,7); lcd.print("BERBAHAYA"); } if (Nilai_PPM >999) { tone(buzzer, 4000); delay(2000); noTone(buzzer); }
Bluetooth.print(Nilai_PPM, DEC); delay(2000); delay(15000); lcd.clear();
// cek apakah ada data yang masuk via bluetooth if (Bluetooth.available() > 0) {
// jika ada baca data tersebut char data_masuk = Bluetooth.read();
// jika data tersebut adalah karakter 'M' if (data_masuk == 'M') { // panggil fungsi kirimDataSensor kirimDataSensor(); } } }
// Fungsi untuk mengirim data sensor void kirimDataSensor() { //1. Baca data sensor int adcRaw = analogRead(mqInput);
//2. Hitung nilai Resistansi Sensor Rs long rS = ((1024.0 * mqR) / adcRaw) - mqR;
//3. Hitung nilai rasio Rs/Ro float rSrO = (float)rS / (float)rO;
//4. Hitung nilai konsentrasi gas (ppm) float ppm = a * pow((float)rS / (float)rO, b);
//5. Kirim data konsentrasi gas (ppm) via bluetooth Bluetooth.print(ppm);
Kode  pemrograman  untuk  menghubungkan  antara aplikasi dan  alat  terdapat beberapa bagian, yaitu melakukan kode pemrograman untuk untuk melakukan pengiriman data dari  alat ke  aplikasi android untuk parameter  CO2 (Karbon Dioksida) sebagaimana dapat di lihat pada gambar 3. Bagian lain  adalah  melakukan  kode  pemrograman  untuk  mengirim data  dari  alat  ke  aplikasi android dengan  parameter  CO (Karbon  Monoksida)  dapat  di  lihat  pada  gambar  4  dan gambar 5..
Gambar 3. Kode pemrograman untuk parameter CO2 (Karbon Dioksida)
Gambar 4. Kode Pemrograman untuk parameter CO (Karbon Monoksida)
Gamabar 5. Kode perograman untuk parameter CO (Karbon Monoksida) bagian 2

## Gambar 6. Menu Pilihan
Gambar  6  merupakan  hasil  yang  menunjukkan  menu pilihan  untuk  mendeteksi  gas  karbon  monoksida  (CO2) maupun gas CO.

## IV. K ESIMPULAN DAN S ARAN

## A. KESIMPULAN
Aplikasi  ini  membutuhkan  perangkat  keras  berupa  sensor MQ135,  Arduino  Uno,  serta  menggunakan  teknologi bluetooth

## B. SARAN
Aplikasi  ini  harus  dihubungkan  dengan  perangkat  keras MQ135, bluetooth serta  perangkat  keras  Arduino  Uno. Aplikasi  ini  perlu  dikembangkan  untuk  kebutuhan  deteksi polutan udara lainnya.

## V. K UTIPAN
[1] A. Faroqi, D. K. Halim, M. Sanjaya, and D. W. S. Ph, “Perancangan Alat Pendeteksi Kadar Polusi Udara Menggunakan Sensor Gas MQ-7 Dengan Teknologi Wireless HC-05,” J. ISTEK Ed. Juni 2017 Vol. X No. 2 , vol. X, no. 2, pp. 33–47, 2017.
[2] V. V Kosegeran, E. Kendekallo, and S. R. U. A. Sompie, “Perancangan Alat Ukur Kadar Karbon Monoksida (CO),
Karbon Dioksida (CO2) dan Hidro Karbon (HC) Pada Gas Buang Kendaraan Bermotor,” E-Journal Tek. Elektro Dan Komput. , vol. 2, no. 3, pp. 50–56, 2013.
[3] E. Nebath, D. Pang, and J. O. Wuwung, “Rancang Bangun Alat Pengukur Gas Berbahaya CO Dan CO2 di Lingkungan Industri,” E-Journal Tek. Elektro Dan Komput. , vol. 3, no. 4, pp. 65–72, 2014.
[4] P. morena Ridwan, “ALAT UKUR KUALITAS UDARA BERBABIS MIKROKONTROLLER ATMEGA328,” Politeknik Negeri Padang, 2016.
[5] H. A. P. Jati and D. Lelono, “Deteksi dan Monitoring Polusi Udara Berbasis Array Sensor Gas,” IJEIS (Indonesian J. Electron. Instrum. Syst. , vol. 3, no. 2, pp. 147–156, 2013.
[6] Z. Iqbal and L. Hermanto, “Sistem Monitoring Tingkat Pencemaran Udara Berbasis Teknologi Jaringan Sensor Nirkabel,” J. Inform. dan Komput. , vol. 22, no. 1, pp. 10–20,
2017.
[7] A. G. Arduino, “Language Reference,” Arduino.cc , 2019. [Online]. Available: https://www.arduino.cc/reference/en/#page-title.
[8] C. I. Y. Gessal, A. S. M. Lumenta, and B. A. Sugiarso, “Kolaborasi Aplikasi Android Dengan Sensor MQ-135 Melahirkan Detektor Polutan Udara,” J. Tek. Inform. , vol. 14, no. 1, pp. 109–120, 2019.
[9] K. Badan Pengembangan dan Pembinaan Bahasa, “Udara,” 2019. [Online]. Available: https://kbbi.web.id/udara.
[10] R. N. S. Putra, I. wisnu Wardhana, and E. Sutrisno, “Analisis Dampak Kegiatan Car Free Day Terhadap Kualitas Udara
Karbon Monoksida ( Co ) Di Sekitar Area Simpang Lima
Menggunakan Program Caline 4 Dan Surfer Studi Kasus : Kota Semarang,” J. Tek. Lingkung. , vol. 6, no. 1, pp. 1–11, 2017. [11] K. Prabowo and M. Burhan, Bahan Ajar Kesehatan Lingkungan Penyehatan Udara . Kemenkes RI, 2018. [12] M. Kesehatan and R. Indonesia, Peraturan Mentri Kesehatan Indonesia No 1077/Menkes/PER/2011 . Indonesia, 2011. [13] A. Budiyono, “Index Kualitas Udara,” Berita Dirgantara , vol. 3, no. 1. pp. 1–14, 2010. [14] A. Arduino, “Introduction of Arduino,” 2019. [Online]. Available: https://www.arduino.cc/en/Guide/Introduction.
[15] A. Arduino, “Arduino Uno Rev3,” 2019. [Online]. Available: https://store.arduino.cc/usa/arduino-uno-rev3.
[16] D. Novrian, “RANCANG BANGUN ALAT PENCEGAH
KEBAKARAN DARI KEBOCORAN GAS
MENGGUNAKAN SENSOR MQ135 BERBASIS MIKROKONTROLER ATMEGA16,” Politek. Negeri Sriwij. , 2014.
[17] P. M. Ridwan, “Alat Ukur Kualitas Udara Berbasis Mikrokontroler ATMEGA328”. Jurusan Teknik Elektro Program Studi DIII Teknik Elektronika Politeknik Negri Padang,” Politek. Negeri Padang , 2016.
[18] D. S. Damin, Pengantar Kimia Buku Panduan Kuliah Mahasiswa Kedokteran . Jakarta: Buku Kedokteran EGC,
2006.
[19] N. I. Rahmatika, “analisis risiko paparan nitrogen dioksida dari polutan ambien terhadap kesehatan masyarakat di kabupaten Magelang tahun 2015,” UIN Syarif Hidayatullah
Jakarta , 2017.
[20] S. Fardiaz, Polusi Air dan Udara , 11 10 9. Yogyakarta: KANISIUS (Anggota IKAPI), 1992.
[21] “Menurut Peraturan Pemerintah RI NO. 41 tahun 1999 (PPRI NO. 41 Thn 1999),” in tentang pengendalian pencemaran udara , 1999.
[22] Y. NURFITRIYANA, “PENERAPAN MODEL PROBLEM BASED LEARNING UNTUK MENINGKATKAN KEMAMPUAN MENGENDALIKAN IMPULSIVITAS SISWA PADA KONSEP PENCEMARAN LINGKUNGAN,” pp. 7–30, 2017.
[23] A. Makiolor, “Rancang Bangun Pencarian Rumah Sakit, Puskesmas dan Dokter Praktek Terdekat di Wilayah Manado Berbasis Android,” E-Journal Tek. , vol. 10, pp. 2–3, 2017.
Tentang Penulis
Brave A. Sugiarso adalah dosen pengajar  di  Jurusan  Teknik  Elektro Fakultas Teknik Universitas Sam Ratulangi  Manado.  Memperoleh  gelar Sarjana  Teknik  (ST)  dari  Fakultas Teknik Universitas Sam  Ratulangi Manado.  Melanjutkan  studi  di  Program Studi  Teknik  Elektro  Jaringan  Cerdas Multimedia  Fakultas  Teknologi  Industri  Institut  Sepuluh Nopember  Surabaya  (ITS)  dan  mendapatkan  gelar Magister Teknik (MT).