## SISTEM PENDETEKSI INDIKASI KEBAKARAN DALAM RUANGAN DENGAN PENAMPIL MELALUI RASPBERRY PI
Rema Hindarko 1) , Arief Hendra Saptadi 2) , Sigit Pramono 3)
1,3) Program Studi S1 Teknik Telekomunikasi
2) Program Studi D3 Teknik Telekomunikasi
Sekolah Tinggi Teknologi Telematika Telkom
Jl. D. I. Panjaitan No. 128 Purwokerto Indonesia
E-mail: 13101071@st3telkom.ac.id 1) , ariefhs@stttelematikatelkom.ac.id 2) , sigit@st3telkom.ac.id 3)

## ABSTRACT
The development of technology is now growing very rapidly. It encourages people to create something that could provide convenience to perform a task. One of them is able to monitor and detect fires  from  long  distance.  A  house  fire  is  a  frequently-occured  disaster  in  the  community.  It  can  be caused  by  environmental  factors  as  well  as  carelessness  of  the  home  owner.  Home  fires  often  occur when there is noone at home. They can occur at anytime because it is a disaster that goes unexpected. This research aims to design a fire detection system using a temperature sensor and smoke sensor that can  provide  an  indication  of  fire  early  on  in  a  room.  The  design  of  this  system  consists  of  a temperature sensor, smoke sensor and Arduino microcontroller system which is able to transmit data from  the  temperature  and  smoke  sensor  to  Raspberry  Pi  via  serial  communication.  The  results  were shown in Raspberry Pi through a GUI display. It is suggested that the system uses security camera or web  camera  for  precise  monitoring  and  adds  notification  feature  via  SMS  or  other  means  through internet.
Keywords : Raspberry Pi, Email, smoke, temperature, fire.

## 1.  P ENDAHULUAN
Berkembangnya  teknologi  saat  ini mendorong manusia untuk membuat sesuatu  yang  bisa  memberikan  kemudahan dalam  melakukan  suatu  pekerjaan.  Salah satunya  dapat  memantau  dan  mendeteksi kebakaran rumah dari jarak jauh.
Kebakaran    rumah  merupakan salah  satu  bencana  yang  sering terjadi di Indonesia. Kebakaran rumah bisa disebabkan  oleh    faktor    lingkungan maupun  kelalaian  dari  pemilik  rumah  itu sendiri. Faktor lingkungan misalnya
kebakaran yang berasal dari rumah tetangga kemudian  merambat  ke  rumah-rumah. Sedangkan  faktor  kelalaian  misalnya  lupa mematikan peralatan elektronik atau mematikan gas ketika akan pergi meninggalkan rumah. Sebenarnya kebakaran  rumah  bisa  diantisipasi  dengan cara mengecek semua isi rumah, khususnya barang-barang  yang  berhubungan  dengan listrik  dan  gas,  karena  kedua  hal  tersebut merupakan  penyebab  kebakaran  yang sering  terjadi  ketika  rumah  dalam  keadaan kosong. Namun, meskipun sudah
diantisipasi,  kebakaran  masih  bisa  terjadi karena  hal  tersebut  merupakan  peristiwa yang  tidak  terduga.  Dengan  memanfaatkan teknologi  yang  sudah  ada  saat  ini, kebakaran  bisa  dideteksi  dan  dipantau  dari jarak jauh.
Tujuan  dari  penelitian  ini  adalah membuat  sebuah  sistem  yang  mampu memberikan  indikasi  kebakaran  pada  suatu ruangan  di  dalam  rumah  yang  dapat ditampilkan pada Raspberry Pi menggunakan  tampilan  GUI.  Ada  pun tampilan tersebut dibangun dengan aplikasi Tkinter untuk Raspberry Pi.

## 2. D ASAR T EORI

## Sistem  Pemantauan dan Keamanan
Sistem  pemantau  adalah  sebuah sistem  yang  dapat  melakukan  pemantauan suatu  area  dari  jarak  jauh.  Untuk memantau  suatu  area  dibutuhkan  sebuah alat  yang  mampu  melakukan  pemantauan. Selain  berupa  pemantauan,  sistem  yang ada  dapat  dilengkapi  fasilitas  perekaman atau notifikasi.
2.2. Perangkat Keras ( Hardware )
Perangkat  keras  atau hardware
yang  digunakan  pada  penelitian  ini  adalah yang  sifatnya  dapat  digunakan  untuk mengolah,  menyiapkan,  memasukkan  dan menampilkan data.

## 2.2.1. Raspberry Pi
Raspberry  Pi  pada  penelitian  ini digunakan  sebagai  pengendali  utama  dari keseluruhan sistem. Raspberry Pi
( https://www.raspberrypi.org/ ) adalah sebuah mini  computer yang  seukuran dengan Arduino Uno yang memiliki fungsi hampir sama dengan komputer.
Raspberry Pi menggunakan Operating  System (OS)  yang  berfungsi untuk  menjalankan  perangkat-perangkat  di dalamnya.  Salah  satu  OS  yang  sering digunakan  adalah  Raspbian.  Raspberry  Pi yang  digunakan pada penelitian ini adalah jenis  3  B  dengan  spesifikasi  RAM  1  GB, 40  pin  GPIO  yang  berfungsi  sebagai  input atau  output,  4  buah  port  USB,  Ethernet port,  Camera  Interface,  Full  HDMI  port, Bluetooth  4.1,  1.2GHz  64-bit  quad-core ARMv8 CPU, dan Wifi 802.11n (Raspberry Pi, 2016).
Gambar 1 . Raspberry Pi Tipe 3 B.

## 2.2.2. Sistem  Mikropengendali  Arduino Uno (ATmega328P)
Mikropengendali merupakan sebuah sistem yang di dalamnya
terkandung  sebuah  inti  prosesor,  memori, pin yang bisa digunakan sebagai input atau pun  output  dan  berbagai  periferal  lainnya. Mikropengendali  bekerja  sesuai  dengan program atau masukan yang telah diberikan.
Pada sistem mikropengendali Arduino  Uno  terdapat  sebuah  IC  yaitu ATmega328P  dengan  arsitektur Reduce
Instruction  Set  Computer (RISC)  yang mana  setiap  proses  eksekusi  data  lebih cepat  dari  pada  arsitektur Completed
Instruction Set Computer (CISC).
Konfigurasi  pin  dari  ATmega328P  adalah sebagaimana dalam gambar 2.
Mikropengendali ini memiliki beberapa fitur antara lain (Atmel, 2014):
 130  macam  instruksi  yang  hampir semuanya dieksekusi dalam satu siklus clock .
 32 x 8- bit register serba guna.
 Kecepatan  mencapai  16  MIPS  dengan clock 16 MHz.
 32  KB flash  memory ,  pada  Arduino  2 KB digunakan sebagai bootloader .
 Memiliki Electrically
Erasable Programmable  Read  Only  Memory
(EEPROM)  sebesar  1  KB  untuk penyimpanan data semi permanen.
 Memiliki Static Random Access Memory (SRAM) sebesar 2 KB.
 Memiliki  pin  I/O  digital  sebanyak  14 pin,  6  diantaranya  dilengkapi  fitur Pulse Width Modulation (PWM)
 Antarmuka serial Master / Slave SPI
Gambar 2.
Konfigurasi pin pada
ATmega328P (Atmel, 2014)

## 2.2.3. Sensor Suhu LM35
LM35 merupakan sebuah komponen    elektronika  yang    digunakan untuk  mengukur  suhu  pada  suatu  area tertentu.  Penelitian  ini  menggunakan sensor  LM35  yang  diproduksi    oleh National Semiconductor.
Sensor  LM35  mampu  mengubah suhu  menjadi  besaran  listrik  dengan tegangan  kerja  4  –  30 ° C.  Sensor  ini mengukur  suhu  antara  -55  sampai  dengan 150 ° Celcius.  Setiap  ada  kenaikan  suhu sebesar    1 ° C,  tegangan  yang  dihasilkan akan  mengalami  kenaikan  sebesar  10  mV. Sensor LM35 memiliki 3 kaki seperti pada
gambar  3  yaitu  sebagai  V CC ,  V OUT dan GND (Texas Instruments, 2016).
Gambar 3. Sensor Suhu LM35

## 2.2.4. Sensor Asap MQ2
Penelitian ini menggunakan sensor MQ2 sebagai pendeteksi asap. MQ2 adalah    sensor    yang    digunakan  untuk mendeteksi  keberadaan  suatu  gas  dengan konsentrasi tertentu di udara.
Sensor  MQ2  biasanya  digunakan pada sebuah situasi dimana suhu di sekitar antara  -20  -  70 ° C.    Sensor    ini    dapat mengukur  konsentrasi  gas  mudah  terbakar dari  300  sampai  10000  ppm  (Pololu, 2016).

## Gambar 4. Sensor MQ2
2.3. Perangkat Lunak ( Software )
Perangkat  lunak  yang  digunakan dalam  penelitian  ini  terdiri  dari  empat jenis,  yaitu  sistem  operasi  Raspbian, aplikasi  pemrograman  Python,  aplikasi pemrograman Arduino Uno dan Tkinter.

## 2.3.1. Sistem Operasi Raspbian
Sistem  Operasi  merupakan  sebuah software yang berada pada lapisan computer ketika  komputer  dinyalakan. Sistem  operasi  yang    digunakan  untuk mengoperasikan  perangkat  Raspberry  Pi adalah  Raspbian.  Raspbian  merupakan sistem  operasi  yang  berbasis  Debian GNU/Linux  untuk  mengatur  konfigurasi Raspberry  Pi  dalam  menjalankan  aksi tertentu.  Raspbian  sangat  mudah  untuk dipasang pada Raspberry Pi dan dilengkapi dengan  lebih  dari  35.000  paket  aplikasi yang  dirilis  per  Juni  2012.  Raspbian  saat ini  masih  dikembangkan  oleh  komunitas pengembang aplikasi open source .

## 2.3.2. Aplikasi Pemrograman Python
Bahasa pemrograman yang digunakan  untuk  memberikan  instruksi pada Raspberry Pi adalah Python
(Bradbury  &  Everard,  2014).  Python merupakan  sebuah  bahasa  pemrograman untuk pengembangan pada perangkat lunak yang bersifat dinamis.
Python memiliki kemampuan untuk  diintegrasikan  dengan  pustaka, aplikasi,  maupun  bahasa  pemrograman lain.  Pustaka-pustaka  pada  Python  cukup lengkap  dan  mudah  untuk  dipelajari  bagi pemrogram pemula.
2.3.3. Aplikasi Pemrograman Arduino
Perangkat  keras  Arduino  Uno dapat dijalankan atau dapat diberi perintah menggunakan bahasa pemrograman Arduino,  yang  terinspirasi  dari  bahasa  C. Arduino  IDE  merupakan  aplikasi  yang digunakan  untuk  memberikan  instruksi pada board Arduino  (Banzi  &  Shiloh,
2015)
2.3.4. Tampilan GUI Tkinter
Data yang dikirimkan dari Arduino akan  ditampilkan  di  Raspberry  Pi  dalam bentuk  tampilan  GUI.  Aplikasi  yang digunakan  untuk  membentuk  tampilan GUI bagi data suhu dan asap dari Arduino Uno  adalah  Tkinter.  Aplikasi  tersebut berjalan  di  atas  bahasa  pemrograman Python (Shipman, 2013).

## 3. M ETODE P ENELITIAN
Penelitian ini dilaksanakan melalui tiga  tahapan  yaitu,  perancangan  sistem secara  keseluruhan,  perancangan  perangkat keras ( hardware ) dan perancangan perangkat lunak ( software ).

## 3.1. Perancangan Sistem
Perancangan  sistem  pendeteksi indikasi  kebakaran  pada  suatu  ruangan  di dalam rumah menggunakan tampilan
Raspberry  Pi  meliputi  perancangan  sistem kerja komponen-komponen yang digunakan pada  penelitian  ini.  Sistem  yang  dirancang pada  penelitian  ini  dimulai  dengan  dua
buah  sensor  yaitu  sensor  asap  MQ2  dan sensor suhu LM35 yang menjadi pendeteksi indikasi  kebakaran  di  dalam  sebuah ruangan.
Sensor MQ2 berfungsi mendeteksi asap  apabila  terjadi  kebakaran  sedangkan sensor  LM35  akan  mendeteksi  suhu ruangan.  Sensor  asap  MQ2  dan  sensor suhu LM35 dirangkai dengan Arduino Uno dimana  sistem  mikropengenali  tersebut menjadi pengendali keduanya.
Selain  sebagai  pengendali  sensor, Arduino  Uno  juga  digunakan  untuk mengirimkan  data  hasil  pengukuran  ke Raspberry  Pi  melalui  komunikasi  serial untuk  diproses  yang  kemudian  akan ditampilkan  dalam  bentuk aplikasi  berbasis GUI.  Gambar  5  memperlihatkan  blok diagram sistem.
Gambar 5. Blok Diagram Sistem

## 3.2. Perancangan Perangkat Keras
Perangkat  keras  untuk  sistem  ini terdiri  dari  dua  bagian.  Bagian  pertama adalah  sistem  mikropengendali  Arduino
Raspberry Pi GUI Tkinter (Python) CP
U
USAR T Arduino
Uno
Sensor Asap Sensor Suhu USB
Uno  beserta  sensor  asap  dan  sensor  suhu. Bagian  kedua  adalah  rangkaian  pada Raspberry Pi.

## 3.2.1. Sistem  Mikropengendali  Arduino Uno
Pada  rangkaian  sistem  Arduino Uno terdapat mikropengendali Atmega328P sebagai  pengendali  utama.  Arduino  Uno dihubungkan  dengan  sensor  asap  MQ2 melalui  pin  PC4.  Empat  buah  sensor  suhu LM35  dihubungkan  ke  Arduino  Uno masing-masing  pada  pin  PC3,  PC2,  PC1, dan  PC0.  Rangkaian  sebagaimana  yang dimaksud  adalah  seperti  dalam  Gambar  6 berikut ini.
Gambar 6. Rangkaian Pada Sistem Arduino.
Pada  pemasangannya,  keempat sensor  suhu  tersebut  diposisikan  di  empat sudut  ruangan.  Pemasangan  empat  sensor suhu  secara  menyebar  tersebut  bertujuan
agar  pengukuran  dapat  dilakukan  secara lebih merata dan akurat, dengan hasil  akhir suhu diperoleh dari nilai rata-rata pengukuran empat sensor tersebut.

## 3.2.2. Rangkaian Raspberry Pi
Pada  rangkaian  Raspberry  Pi terdapat empat buah port USB, namun yang digunakan  pada  penelitian  ini  hanya  satu port  USB  yaitu  untuk  dihubungkan  dengan Arduino Uno. Port serial yang terhubung ke Arduino  Uno  di  dalam  sistem  operasi Raspbian terdeteksi sebagai /dev/ttyACM0. Gambar  7  memperlihatkan  koneksi  antara Raspberry Pi dengan Arduino Uno.
Gambar 7. Raspberry Pi dan Arduino Uno

## 3.3. Perancangan Perangkat Lunak
Perangkat  lunak  untuk  sistem pendeteksi  indikasi  kebakaran  ini  terdiri dari  dua  aplikasi.  Aplikasi  pertama  adalah program  untuk  sistem  mikropengendali Arduino  Uno.  Aplikasi  kedua  berupa program  yang  berjalan  di  sistem  operasi Raspbian  pada  Raspberry  Pi.  Program tersebut bertugas untuk menerima data yang
dikirimkan  via  komunikasi  serial  dan menampilkannya.

## 3.3.1. Program  untuk  Mikropengendali

## ( Firmware )
Program  yang  dijalankan  oleh sistem  mikropengendali  Arduino  Uno ditulis  menggunakan  bahasa  pemrograman Arduino  melalui  aplikasi  Arduino  IDE. Alur program adalah seperti pada gambar 8.
Pada  tahap  awal,  terdapat  proses inisialisasi  yang  dilakukan  oleh  seluruh perangkat,  yaitu  mikropengendali  dan kedua  jenis  sensor.  Inisialisasi  untuk mikropengendali terkait dengan komunikasi serial dan ADC.
Setelah  itu  mikropengendali  akan mengecek  terhadap  keberadaan  data  suhu. Jika  ada  maka  mikropengendali  akan menjalankan proses ADC untuk mengubahnya  ke  bentuk  digital,  lalu  hasil pengukuran  dari  keempat  sensor  suhu dirata-ratakan.
Berikutnya  mikropengendali  akan mengecek  keberadaan  data  asap.  Jika  ada, maka  mikropengendali  kembali  melakukan proses ADC.
Proses  berikutnya  terkait  dengan pengiriman  data  via  komunikasi  serial. Sebelum  dikirimkan,  nilai  suhu  dan  asap diatur  formatnya  ke  bentuk  string  dengan pola:  (nilai_suhu)  |  (nilai_asap).  Ada  pun
karakter  “|”  berfungsi  sebagai  pembatas antara dua nilai tersebut, sekaligus merupakan  penanda  bagi  aplikasi  di Raspberry  Pi  dalam  pemisahan  dan pengambilan  nilai  ( parsing ).  String  data selanjutnya  dikirimkan  ke  Raspberry  Pi melalui  komunikasi  serial  secara  terus- menerus dengan waktu jeda 2 detik.
Gambar 8. Alur Program Arduino Uno

## 3.3.2. Aplikasi Berbasis GUI Tkinter
Perangkat  lunak  yang  berjalan  di
Raspberry Pi ditulis dalam bahasa pemrograman  Python  dan  menggunakan aplikasi  Tkinter  untuk  dapat  menghasilkan tampilan berbasis Graphical User Interface (GUI).  Gambar  9  memperlihatkan  alur programnya.
Gambar 9. Alur Program Mikropengendali
Secara  garis  besar,  ada  empat proses  yang  dikerjakan  oleh  aplikasi  pada Raspberry Pi. Proses-proses tersebut meliputi  inisialisasi,  penerimaan  data,
pemisahan nilai-nilai ( parsing ) dan penayangan data.
Pada  tahapan  pertama,  aplikasi menjalankan inisialisasi untuk mengaktifkan perangkat-perangkat di dalam Raspberry Pi.  Sesudah itu berlanjut dengan pengaktifan  fitur  komunikasi  serial  dalam bentuk pemanggilan modul serial.
Pada tahap kedua, aplikasi menerima  data  via  komunikasi  serial. Aplikasi juga melakukan pengecekan terhadap  keberadaan  data  di  dalam  port USB  yang  digunakan.  Jika  tidak  dijumpai, maka  proses  berulang  kembali  untuk melakukan penerimaan data.
Jika  terdapat  data  kiriman,  maka aplikasi  melanjutkan  proses  berikutnya yaitu  melakukan  pemisahan  data  suhu  dan data asap. Pemisahan atau parsing mengacu pada  karakter  “|”.  Seluruh  karakter  yang tampil  di  sebelah  kiri  karakter  acuan  akan dimasukkan ke variabel t ( temperature ) dan semua  karakter  di  sebelah  kanan  akan masuk  ke  variabel  s  ( smoke ).  Nilai  yang masuk  ke  masing-masing  variabel  akan diubah dahulu dari tipe data string ke float . Proses  terakhir  adalah  penayangan data  tersebut  dalam  bentuk  tampilan  GUI melalui  Tkinter.  Variabel  t  dan  s  tersebut selanjutnya  dikaitkan  dengan  objek-objek grafis  untuk  menampilkan  nilai-nilai  di
dalamnya.  Proses  menayangkan  data  ini dilakukan secara terus-menerus.

## 4. H ASIL D AN P EMBAHASAN
Untuk  mengetahui  apakah  hasil- hasil  yang  diperoleh  sudah  sesuai  dengan perancangan  maka  dilakukan  dua  jenis pengujian.  Kedua  pengujian  tersebut  yaitu uji  komunikasi  serial  dan  uji  aplikasi berbasis GUI.

## 4.1. Uji Komunikasi Serial
Tujuan  dari  uji  komunikasi  serial ini  adalah  untuk  mengetahui  apakah rangkaian  mikropengendali  Arduino  Uno telah  dapat  mengirimkan  data  suhu  dan asap dari masing-masing sensor ke Raspberry Pi dengan baik. Perangkat lunak yang digunakan untuk uji ini adalah Python 2.7.9  Shell  yang  dijalankan  pada  sistem operasi Raspbian.
Hasil  dari  pengujian  tersebut adalah  sebagaimana  tampak  pada  gambar 10.  Dari  tampilan  aplikasi  terlihat  bahwa Arduino  Uno  telah  mengirimkan  data dengan  format  sesuai  ketentuan,  yaitu  lima karakter  sebelah  kiri  tanda  “|”  adalah  nilai suhu  dan  lima  karakter  di  sebelah  kanan adalah  nilai  asap.  Kedua  nilai  tersebut selanjutnya  juga  telah  berhasil  dipisahkan dan  diatur  formatnya  ke  dalam  tipe  data float .  Pada  pengujian  ini  komunikasi  serial
diatur  pada bit  rate sebesar  115200  bps. Port yang digunakan adalah /dev/ttyACM0.

## 4.2. Uji Aplikasi Berbasis GUI
Tujuan  dari  uji  aplikasi  berbasis GUI  ini  adalah  untuk  mengetahui  dari  sisi tampilan  dan  fungsionalitasnya  apakah sudah  mampu  berjalan  sesuai  dengan rancangan. Setelah mikropengendali Arduino  Uno  dihubungkan  ke  salah  satu port USB di Raspberry Pi, aplikasi tersebut lalu dijalankan dan diamati.
Gambar 10. Hasil Uji Komunikasi Serial
Form utama pada aplikasi memiliki  beberapa  objek  grafis.  Objek- objek tersebut adalah satu buah judul utama (“Penampilan  Suhu  dan  Asap”),  dua  buah judul  variabel  (“Suhu”  dan  “Asap”),  dua buah kotak (berwarna kuning) dan dua buah teks  (berwarna  merah)  untuk  menampilkan
nilai-nilai  hasil  pengukuran.  Berdasarkan tampilan  aplikasi  seperti  pada  gambar  11, maka  dapat  dinyatakan  dari  sisi  tampilan sudah sesuai dengan rancangan.
Fungsi yang dijalankan oleh aplikasi  tersebut  yaitu  menerima  data  via komunikasi  serial  dan  menampilkannya.
Sesuai  tampilan  pada  gambar  11  tersebut, nilai suhu dan asap sudah berhasil diperoleh dan ditayangkan dengan baik.
Gambar 11. Hasil Uji Aplikasi

## 5. P ENUTUP
Setelah  tahapan-tahapan  dalam perancangan  dan  pengujian  telah  selesai dilakukan,  serta  sesuai  hasil-hasil  yang diperoleh,  maka  dapat  disusun  beberapa kesimpulan dan saran berikut ini.

## 5.1. Kesimpulan
1. Secara  keseluruhan  sistem  pendeteksi
indikasi  kebakaran  di  dalam  ruangan ini terdiri dari rangkaian
mikropengendali  Arduino  Uno,  sensor suhu  LM35,  sensor  asap  MQ2  dan Raspberry Pi.
2. Mikropengendali  Arduino  Uno  telah mampu  mengirimkan  data  suhu  dan asap dengan format yang benar.
3. Aplikasi  berbasis  GUI  telah  berjalan dengan baik, ditinjau dari sisi tampilan maupun fungsionalitasnya.

## 5.2. Saran
1. Penambahan  kamera  sekuriti  atau web camera diperlukan  untuk  memantau dan  memastikan  bahwa  saat  itu  telah terjadi kebakaran.
2. Perlu  ada  penambahan  fitur  notifikasi kepada  pengguna  dalam  bentuk  SMS atau melalui internet.

## 5. D AFTAR P USTAKA
Atmel,  2014,  ATmega48A/PA/88A/PA/ 168A/PA/328/P,
8-bit Micro- controller  with  4/8/16/32  KBytes  In- System Programmable Flash Datasheet, Atmel Corporation. Banzi, M., Shiloh, M, 2015, Getting Started with Arduino, Maker Media, Sebastopol.
Bradbury,  A.,  Everard,  B.,  2014,  Learning Python  with  Raspberry  Pi,  John Wiley & Sons Ltd.
Pololu,  2016,  MQ-2  Semiconductor  Sensor for  Combustible  Gas  Datasheet, Pololu Corporation.
Raspberry  Pi,  2016,  Raspberry  Pi  3  Model
B, https://www.raspberrypi.org/products/ raspberry-pi-3-model-b/. Diakses
tanggal 20 September 2016.
Shipman,  J.  W,  2013,  Tkinter  8.5
Reference:  A  GUI  for  Python,  New Mexico Tech Computer Center.
Texas  Instruments,  2016,  LM35  Precision
Centigrade  Temperature  Sensors
Datasheet, Texas Instruments
Incorporated.