TUGAS AKHIR
MONITORING DAN DETEKSI DINI KEBAKARAN
BERBASIS RASPBERRY PI
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
ALBERTUS JALU NUGROHO
NIM : 165114047
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
TUGAS AKHIR
MONITORING DAN DETEKSI DINI KEBAKARAN
BERBASIS RASPBERRY PI
Diajukan untuk memenuhi salah satu syarat
Memperoleh gelar Sarjana Teknik pada
Program Studi Teknik Elektro
Jurusan Teknik Elektro
Fakultas Sains dan Teknologi Universitas Sanata Dharma
Disusun oleh :
ALBERTUS JALU NUGROHO
NIM : 165114047
JURUSAN TEKNIK ELEKTRO
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
FINAL PROJECT
MONITORING AND EARLY FIRE DETECTION
BASED ON RASPBERRY PI
In partial fulfillment of the requirements
For the degree of Sarjana Teknik
Department of Electrical Engineering
Faculty of Science and Technology, Sanata Dharma University
Arranged by :
ALBERTUS JALU NUGROHO
NIM : 165114047
DEPARTMENT OF ELECTRICAL ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2020
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
HALAMAN PESEMBAHAN DAN MOTTO HIDUP
MOTTO
“Stop thinking about winning, just focus on the game”
-Kuro “KuroKy” Salehi Takhasomi-
Skripsi ini saya persembahkan untuk :
Tuhan Yang Maha Kuasa yang selalu bersama dengan saya
Keluarga dan Kerabat terdekat, yang selalu memberikan
dukungan secara jasmani dan rohani
Teman – teman elektro USD angkatan 2016 yang selalu
memberikan semangat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
INTISARI
Kebakaran adalah suatu kejadian yang dapat membawa dampak kehilangan yang
besar bagi status kekayaan dan kehidupan manusia. Berbagai alarm kebakaran telah
dikembangkan untuk mengantisipasi dan mencegah kebarakaran seperti sensor pendeteksi
asap, suhu, api dan lain – lain. Semakin berkembangnya teknologi, berbagai instrumen
pencegahan kebakaran menjadi lebih terjangkau dan berbagai macam otomasi pendeteksi
alarm kebakaran lebih banyak pilihannya. Berbanding lurus dengan instrumen teknologi
yang lebih murah dan terjangkau, berbagai sistem pendeteksi dan pemadaman kebakaran
juga memungkinkan untuk tersambung dengan jaringan nirkabel yang berkecepatan tinggi
dan murah.
Sistem pendeteksi kebakaran yang diusulkan pada penelitian ini adalah sistem
pemantauan secara real time yang mendeteksi adanya api dengan menggunakan kamera dan
mendeteksi asap di udara dengan sensor asap akibat dari kebakaran. Fitur utama dari sistem
yang dikembangkan dalam penelitian ini adalah pendeteksian dan pemadaman api secara
real time, pemantauan kondisi ruangan melalui web server, dan pengiriman pesan peringatan
melalui web server dan bot telegram. Manfaat dari menggunakan sistem ini adalah
pemantauan langsung kondisi ruangan sekaligus berfungsi sebagai pendeteksian api yang
langsung dipadamkan apabila terindikasi adanya api yang muncul.
Hasil implementasi dari pengenalan api untuk sistem pendeteksian memiliki tingkat
presentase keberhasilan melalui 4 percobaan dari masing-masing ruangan berdasarkan citra
api dan intensitas cahaya disetiap jaraknya dari titik buta kamera adalah 79% pada ruangan
tengah dan 100% pada ruangan tidur, sementara tingkat presentase keberhasilan aksi
aktuator dalam menjalankan fungsinya berdasarkan sistem pendeteksian adalah 100%. Jarak
maksimum sistem mendeteksi titik api adalah 3,6 meter pada ruangan tengah dan 2,6 meter
pada ruangan tidur dari titik buta kamera. Nilai rata-rata presentase ketepatan pendeteksian
titik api adalah 33,93%
Kata Kunci : Pendeteksian Api, Pendeteksian Asap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Fire is an event that can have a large loss impact on wealth status and human life.
Various fire alarms have been developed to anticipate and prevent fires, such as sensors for
detecting smoke, temperature, fire and others. As technology advances, various fire
prevention instruments are becoming more affordable and various kinds of automatic fire
alarm detection are more options. With the cheaper and more affordable technological
instruments, various fire detection and suppression systems also make it possible to connect
high speed and low cost wireless networks.
The fire detection system proposed in this study is a real time monitoring system that
detects a fire using a camera and detects smoke in the air with a smoke sensor due to the fire.
The main features of the system developed in this study are detection and suppression of fire
in real time, monitoring of room conditions via a web server, and sending warning messages
via a web server and telegram bot. The benefit of using this system is direct monitoring of
the condition of the room as well as functioning as a fire detection system that is immediately
extinguished if a fire is indicated.
The results of the application of fire recognition for the detection system have a
percentage of success rate through 4 experiments from each room based on fire images and
light intensity at each distance from the camera blind spot is 79% in the living room and
100% in the bedroom, while the percentage of the actuator success rate the action in carrying
out its function based on the detection system is 100%. The system's maximum distance to
detect fire spot is 3.6 meters in the living room and 2.6 meters in the bedroom from the blind
spot of the camera. The average value of the percentage of fire spot detection accuracy is
33.93%
Keywords : Fire Detection, Smoke Detection
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
MONITORING DAN DETEKSI DINI KEBAKARAN BERBASIS RASPBERRY PI....... i
MONITORING EARLY FIRE DETECTION BASED ON RASPBERRY PI .................... ii
HALAMAN PERSETUJUAN ............................................................................................. iii
HALAMAN PENGESAHAN .............................................................................................. iv
PERNYATAAN KEASLIAN KARYA ................................................................................ v
HALAMAN PESEMBAHAN DAN MOTTO HIDUP........................................................ vi
HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK
KEPENTINGAN AKADEMIS ........................................................................................... vii
INTISARI ........................................................................................................................... viii
ABSTRACT ......................................................................................................................... ix
KATA PENGANTAR ........................................................................................................... x
DAFTAR ISI ......................................................................................................................... x
DAFTAR GAMBAR .......................................................................................................... xiv
DAFTAR TABEL .............................................................................................................. xvi
BAB I PENDAHULUAN ..................................................................................................... 1
1.1 Latar Belakang ........................................................................................................ 1
1.2 Tujuan dan Manfaat Penelitian ............................................................................... 3
1.3 Batasan Masalah .................................................................................................... 3
1.4 Metodologi Penelitian ............................................................................................. 4
BAB II DASAR TEORI ........................................................................................................ 6
2.1. Kebakaran ............................................................................................................... 6
2.1.1. Efek Kebakaran ................................................................................................... 6
2.2. Raspberry Pi ............................................................................................................ 7
2.2.1. Arsitektur Hardware Raspberry Pi 3 B+ ......................................................... 7
2.2.2. Pemrograman Raspberry Pi 3 .......................................................................... 8
2.2.3. Web Server Flask Raspberry Pi 3 .................................................................... 9
2.3. Webcam .................................................................................................................. 9
2.4. Open CV ............................................................................................................... 10
2.5. Pengolahan Citra ................................................................................................... 10
2.5.1. Citra RGB ...................................................................................................... 11
2.5. 2. Citra Grayscale .............................................................................................. 13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
2.5.3. Citra Biner ..................................................................................................... 14
2.6. Haar Cascade Classifier ........................................................................................ 15
2.7. Relay ..................................................................................................................... 16
2.8. Pompa Air 12V ..................................................................................................... 18
2.9. Network Switch .................................................................................................... 19
2.10. Solenoid Valve .................................................................................................. 20
2.11. Sensor Asap MQ7 ............................................................................................. 21
2.12. Analog to Digital Converter .............................................................................. 22
BAB III RANCANGAN PENELITIAN ............................................................................. 26
3.1. Konsep Perancangan ............................................................................................. 26
3.2. Kebutuhan Perangkat ............................................................................................ 29
3.2.1. Kebutuhan Perangkat Keras ......................................................................... 29
3.2.2. Kebutuhan Perangkat Lunak .............................................................................. 29
3.3. Perancangan Perangkat Keras .............................................................................. 29
3.3.1. Wiring Perangkat Keras................................................................................ 30
3.3.2. Desain Miniatur Ruangan ............................................................................. 33
3.4. Perancangan Perangkat Lunak ............................................................................. 34
3.4.1. Pemrograman Algoritma ............................................................................... 34
3.4.2. Perancangan GUI Web Server ....................................................................... 37
3.4.3. Pemrograman Web Server ............................................................................. 36
3.4.4. Pemrosesan Citra .......................................................................................... 41
BAB IV HASIL DAN PEMBAHASAN ............................................................................. 43
4.1. Perubahan Rancangan ........................................................................................... 43
4.1.1. Desain Ruangan ............................................................................................. 43
4.1.2. Tampilan Web Server .................................................................................... 44
4.1.3. Sensor Asap ................................................................................................... 45
4.2. Hasil Implementasi ............................................................................................... 45
4.2.1. Implementasi Perangkat Keras ...................................................................... 45
4.2.2. Cara Kerja Sistem .......................................................................................... 48
4.3. Pengujian Sistem ................................................................................................... 49
4.3.1. Pengujian Sistem Pendeteksian Api .............................................................. 51
4.3.2. Pengujian Sistem Pendeteksian Asap ............................................................ 68
4.3.2. Pengujian Web Server dan Bot Telegram ...................................................... 72
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
4.3.3. Pengujian Sistem Pemadam........................................................................... 74
BAB V KESIMPULAN DAN SARAN .............................................................................. 77
DAFTAR PUSTAKA .......................................................................................................... 80
LAMPIRAN ...................................................................................................................... L-1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 1.1. Diagram blok perancangan .............................................................................. 4
Gambar 2.1. Model Raspberry Pi 3+ [9] .............................................................................. 8
Gambar 2.2. GPIO Raspberry Pi 3+ [9] ............................................................................... 8
Gambar 2.3. Webcam Logitech C270 [10] ........................................................................ 10
Gambar 2.4. Citra dan piksel penyusunnya [16] ............................................................... 11
Gambar 2.5. Representasi citra RGB dan kanal warna penyusunnya [16] ....................... 12
Gambar 2.6. Citra konversi RGB ke grayscale [16] ......................................................... 13
Gambar 2.7. Ilustrasi perubahan nilai piksel pada proses thresholding (17) ..................... 14
Gambar 2.8. Citra hasil konversi grayscale menjadi biner (17) ....................................... 15
Gambar 2.9. Rectangular Feature Haar Cascade [18] ...................................................... 15
Gambar 2.10. Skema filter pendeteksi obyek [18] ............................................................. 16
Gambar 2.11. Gambar bentuk dan simbol relay [19] .......................................................... 17
Gambar 2.12. Struktur sederhana relay [19]........................................................................ 17
Gambar 2.13. Pompa air DC 12V [21] ................................................................................ 18
Gambar 2.14. Network switch ZTE [23] ............................................................................. 19
Gambar 2.15. Solenoid Valve [25] ...................................................................................... 20
Gambar 2.16. Sensor MQ7 [27] .......................................................................................... 21
Gambar 3.1. Diagram alir perancangan sistem program utama ........................................ 27
Gambar 3.2. Diagram alir pengolahan gambar.................................................................. 28
Gambar 3.3. Komunikasi perangkat keras......................................................................... 30
Gambar 3.4. Wiring perangkat keras ................................................................................. 31
Gambar 3.5. Desain perancangan alat ............................................................................... 34
Gambar 3.6. Diagram alir haar cascade ............................................................................. 35
Gambar 3.7. Diagram alir inisialisasi fungsi program dan web server ............................. 37
Gambar 3.8. Rancangan GUI web server .......................................................................... 38
Gambar 3.9. Diagram alir streaming ruangan ................................................................... 39
Gambar 3.10. Diagram alir hasil tangkapan asap pada kamera........................................... 40
Gambar 3.11. Diagram alir hasil tangkapan api pada kamera ............................................. 40
Gambar 3.12. Diagram alir preprocessing .......................................................................... 41
Gambar 3.13. Diagram alir processing ................................................................................ 42
Gambar 4.1. Perubahan rancangan ruangan ...................................................................... 44
Gambar 4.2. Tampilan home pada web server .................................................................. 45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 4.3. Penempatan rangkaian pada ruangan tengah ................................................ 46
Gambar 4.4. Penempatan rangkaian pada ruangan kamar tidur ........................................ 46
Gambar 4.5. Penempatan rangkaian sistem utama ............................................................ 47
Gambar 4.6. Monitoring ruangan tengah .......................................................................... 48
Gambar 4.7. Tampilan web server ruangan tengah terdeteksi .......................................... 49
Gambar 4.8. Gambar positif untuk pelatihan sampel ........................................................ 50
Gambar 4.9. Gambar negatif untuk pelatihan sampel ....................................................... 51
Gambar 4.10. Fake fire kertas berwarna merah ................................................................. 52
Gambar 4.11. Fake fire foto api 1 ...................................................................................... 52
Gambar 4.12. Fake fire foto api 2 ....................................................................................... 52
Gambar 4.13. Fake fire foto api 3 ....................................................................................... 53
Gambar 4.14. Sistem berhasil mendeteksi api ..................................................................... 53
Gambar 4.15. Ilustrasi pengklasifikasian data piksel .......................................................... 55
Gambar 4.16. Ilustrasi pengujian pendeteksian titik api pada ruangan tengah ................... 55
Gambar 4.17. Ilustrasi pengujian pendeteksian titik api pada ruangan tidur ...................... 56
Gambar 4.18. Kurva rata-rata waktu pendeteksian ruangan tengah .................................... 66
Gambar 4.19. Kurva rata-rata waktu pendeteksian ruangan tidur ....................................... 66
Gambar 4.20. Perintah penerjemah nilai analog ke digital.................................................. 69
Gambar 4.21. Listing program perhitungan tegangan sensor dan asap ............................... 71
Gambar 4.22. Hasil pendeteksian sensor asap pada ruangan tengah................................... 72
Gambar 4.23. Hasil pendeteksian kamera di ruangan tengah.............................................. 73
Gambar 4.24. Hasil pendeteksian kamera di ruangan tidur ................................................. 73
Gambar 4.25. Hasil pengiriman pesan peringatan dari bolt telegram ................................. 74
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR TABEL
Tabel 2.1. Tabel model Raspberry Pi [7]............................................................................... 7
Tabel 2.2. Warna dan nilai penyusun warna ....................................................................... 13
Tabel 2.3. Spesifikasi MCP3008 [29] ................................................................................. 22
Tabel 2.4. Klasifikasi matriks dengan metode confusion matrix [30] ................................. 24
Tabel 3.1. Piranti Input ........................................................................................................ 31
Tabel 3.2. Piranti Output ..................................................................................................... 32
Tabel 3.3. Alamat piranti Input ........................................................................................... 33
Tabel 3.4. Alamat piranti Output ......................................................................................... 33
Tabel 4.1. Pengklasifikasian data piksel .............................................................................. 54
Tabel 4.2. Pengujian citra api lilin dengan intensitas cahaya 24 lux ruang tengah ............. 57
Tabel 4.3. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 24 lux dengan
jarak di ruang tengah ........................................................................................................... 57
Tabel 4.4. Pengujian citra api korek gas dengan intensitas cahaya 24 lux di ruang tengah
............................................................................................................................................. 58
Tabel 4.5. Ketepatan pendeteksian titik api citra api korek gas dengan intensitas cahaya 24
lux dengan jarak di ruang tengah ......................................................................................... 58
Tabel 4.6. Pengujian citra api lilin dengan intensitas cahaya 8-14 lux dengan jarak di ruang
tengah .................................................................................................................................. 59
Tabel 4.7. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 8-14 lux dengan
jarak di ruang tengah ........................................................................................................... 60
Tabel 4.8. Pengujian citra api korek gas dengan intensitas cahaya 8-14 lux di ruang tengah
............................................................................................................................................. 60
Tabel 4.9. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 24 lux
dengan jarak ruang tengah ................................................................................................... 61
Tabel 4.10. Pengujian citra api lilin dengan intensitas cahaya 45 lux di ruang tidur .......... 62
Tabel 4.11. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 45 lux dengan
jarak di ruang tidur .............................................................................................................. 62
Tabel 4.12. Pengujian citra api korek gas dengan intensitas cahaya 45 lux di ruang tidur . 63
Tabel 4.13. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 45 lux
dengan jarak di ruang tidur .................................................................................................. 63
Tabel 4.14. Pengujian citra api lilin dengan intensitas cahaya 8-12 lux di ruang tidur ....... 64
Tabel 4.15. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 8-12 lux
dengan jarak di ruang tidur .................................................................................................. 64
Tabel 4.16. Pengujian citra api korek gas dengan intensitas cahaya 8-12 lux di ruang tidur
............................................................................................................................................. 65
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Tabel 4.17. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 8-12 lux
dengan jarak di ruang tidur .................................................................................................. 65
Tabel 4.18. Presentase keberhasilan api terdeteksi pada ruangan tengah ........................... 65
Tabel 4.19. Presentase keberhasilan api terdeteksi pada ruangan tidur............................... 66
Tabel 4.20. Hasil pembacaan nilai ADC CH0..................................................................... 69
Tabel 4.21. Hasil pembacaan nilai ADC CH1..................................................................... 70
Tabel 4.22. Pengujian MQ7 sebelum rangkaian terpasang penuh ...................................... 71
Tabel 4.23. Pengujian MQ7 setelah rangkaian terpasang penuh ......................................... 71
Tabel 4.24. Pengujian sistem pemadam langsung ............................................................... 75
Tabel 4.25. Pengujian sistem pemadam ruangan tengah ..................................................... 76
Tabel 4.26. Pengujian sistem pemadam ruangan tidur ........................................................ 76
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Kebakaran adalah peristiwa yang tidak diinginkan yang dapat menyebabkan
kerugian material dan nyawa. Untuk mencegah kerugian ini, maka dikembangkan
berbagai sistem alarm yang bertujuan untuk mencegah dan mengatasi kebakaran seperti
detektor asap dan gas, sensor suhu kontak maupun nonkontak, dan lain – lain. Seiring
berkembangnya teknologi, maka sensor suhu, kamera, dan instrumen sensor lainnya
menjadi lebih terjangkau sehingga banyak sistem alarm otomatis yang lebih luas kini
tersedia. Selain itu, sehubungan dengan internet yang semakin maju maka dimungkinkan
untuk transmisi data secara cepat dan murah melalui teknologi jaringan nirkabel.
Ketersediaan komputer papan tunggal (singgle-board circuit) memungkinkan terciptanya
berbagai sistem pemantauan otomatis yang memiliki konsumsi daya rendah, kemampuan
pemrosesan yang lebih cepat dengan biaya yang rendah.
Sistem alarm kebakaran saat ini telah dikembangkan sedemikian rupa, namun masih
sedikit sistem alarm kebakaran yang bertujuan untuk monitoring dan mendeteksi api
sehingga kebakaran dapat dihindari. Berbagai penelitian dan banyak prototipe sistem
pengawasan keamanan telah dikembangkan menggunakan berbagai platform. Salah satu
perancang sistem ini bernama Cao et.al [1] merancang sistem alarm rumah cerdas yang
terdiri atas fitur anti pencurian, fitur anti-api, dan fitur kebocoran gas menggunakan single
chip microcomputer (SCM) AT895C1 dan chip suara ISDI420. Dua SCM ini digunakan
untuk menampilkan konsentrasi gas dan host alarm ketika sinyal alarm dikirim dengan
menggunakan transmisi nirkabel. Ketika sensor mendeteksi asap, pesan suara akan
dikirim ke departemen terkait. Namun jika terjadi kesalahan selama deteksi, maka
kemungkinan alarm palsu akan dikirimkan karena sistem ini tidak menyertakan
konfirmasi pengguna.
Peneliti bernama Rezha et.al [2] merancang sistem pencari posisi darah putih dalam
gambar menggunakan algoritma haar cascade classifier. Hasil dari penelitiannya
menunjukkan bahwa haar cascade classifier dapat menemukan sel darah putih dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
nilai presisi dan daya ingat masing-masing 95% dan 74%. Algoritma haar cascade
classifier juga mampu memvariasikan sel darah putih dari benda lain yang memiliki
warna yang hampir menyerupai sel darah putih. Selain itu, peneliti lain bernama
Pranamurti et.al [3] merancang sistem pendeteksi titik api menggunakan pemrosesan
gambar dengan alogritma haar cascade classifier. Sistem ini menggunakan kamera
sebagai input, Raspberry Pi sebagai alat untuk pemrosesan gambar, dan smartphone
sebagai output monitoring. Hasil penelitian yang di dapatkan yaitu tingkat kecerahan
sangat berpengaruh dalam mencari titik api. Selain itu, sistem ini mengirimkan peringatan
langsung kepada pemadam kebakaran tanpa konfirmasi dari pengguna sehingga
kemungkinan terjadi sistem akan mengirimkan peringatan palsu atau fake fire kepapada
pemadam.
Solusi untuk masalah dari penelitian sebelumnya adalah mengembangkan sistem
alarm baru yang menggunakan Closed Circuit Television (CCTV) atau kamera sebagai
alat monitoring. Permasalahannya adalah CCTV hanya bisa mengawasi saja, maka perlu
ditambahkan fungsi pada CCTV sehingga bisa memproses gambar yang ditampilkan.
Cara kerja sistem ini adalah menggabungkan pemrosesan gambar dalam pengawasan
kamera dan sensor asap sehingga ketika kamera mendeteksi atau merekam keberadaan
asap atau percikan api, maka sistem akan menampilkan gambar tangkapan kamera pada
webserver dan melaporkannya kepada pengguna untuk dilakukan pemeriksaan tangkapan
kamera pada webserver serta meminta konfirmasi pengguna untuk dilakukan penanganan
kebakaran menggunakan pompa air dan nozzle. Selain itu, pemrosesan gambar
menggunakan metode algoritma haar cascade classifier agar dapat mendeteksi titik api
dalam suatu ruangan serta membedakan api dengan objek lain berdasarkan warna, ukuran
dan bentuk.
Dari masalah diatas maka dirancanglah sistem monitoring dan deteksi dini api yang
menggunakan komputer papan tunggal yang lebih murah yaitu Raspberry Pi 3. Raspberry
Pi 3 sebagai master yang memonitoring adanya indikasi kebakaran dan pemadaman
kebakaran. Dengan adanya sistem ini, kebakaran dapat dicegah pada suatu ruangan
dengan monitoring jarak jauh.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
1.2 Tujuan dan Manfaat Penelitian
Tujuan dari penelitian ini adalah menciptakan alat untuk monitoring dan deteksi
dini api pada suatu ruangan menggunakan Raspberry Pi 3 dengan algoritma Haar
Cascade Classifier. Manfaat yang ingin dicapai pada penelitian ini, yaitu:
1. Membuat sistem multifungsi pencegahan dan penanganan kebakaran pada
rumah.
2. Memberikan kemudahan bagi pengguna yang awam terhadap sistem ini untuk
dapat memonitor langsung keadaan suatu ruangan.
1.3 Batasan Masalah
Pembatasan masalah perlu dilakukan agar tugas akhir ini tetap mengarah pada
tujuan dan menghindari kompleksnya permasalahan-permasalahan lain yang muncul.
Batasan masalah tersebut adalah sebagai berikut:
1. Menggunakan webcam untuk monitoring posisi letak api dan asap.
2. Penggunaan tambahan sensor MQ7 sebagai pendeteksi asap apabila webcam
tidak dapat mengenali adanya asap.
3. Perancangan web server untuk hasil monitor dari webcam menggunakan
Raspberry Pi 3.
4. Menggunakan pompa air DC 12V dan nozzle sebagai pemadam kebakaran.
5. Relay sebagai saklar pengendalian on-off pompa air dan aliran air solenoid valve.
6. Menggunakan aplikasi Cascade Trainer GUI dengan algortima haar cascade
classifier sebagai pendeteksi titik api.
7. Penggunaan host online sebagai web server. Apabila tidak dimungkinkan,
digunakan host local dengan modul flask sebagai web server.
8. Perancangan ini menggunakan simulasi 2 ruangan yang masing – masing terdapat
1 webcam.
9. Kondisi ruangan yang dideteksi pada simulasi dilakukan pada siang hari dan
malam hari.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
1.4 Metodologi Penelitian
Pengerjaan tugas akhir ini terbagi menjadi beberapa tahap sebagai berikut:
1. Studi literatur, yaitu dengan cara mempelajari dan mengumpulkan bahan –
bahan referensi sebagai acuan dalam melakukan penelitian. Referensi yang
dikumpulkan adalah mengenai pemrograman menggunakan Raspberry Pi 3,
webcam serta webserver yang digunakan untuk memonitoring sistem ini.
2. Perancangan sistem
Berikut gambar 1.1 adalah perancangan alat yang akan digunakan pada sistem
yang akan dibuat :
3. Perancangan web server
Pembuatan desain dari web server yang nantinya akan diakses oleh pengguna
untuk monitoring dengan menggunakan Raspberry Pi 3 yang mengacu pada
batasan – batasan masalah tentang web server.
4. Implementasi
Dilakukan implementasi terhadap rancangan yang telah dibuat, baik itu rancangan
perangkat lunak ataupun hardware. Rancangan ini nantinya akan membentuk
sistem secara keseluruhan.
5. Proses uji coba
Proses pengujian dilakukan dengan pengiriman data dari ke Raspberry serta
pengiriman data layanan pesan singkat kepada pengguna. Pengujian proses
monitoring dapat dilakukan dengan melihat hasil capture webcam pada webserver
oleh pengguna. Apabila terjadi indikasi kebakaran, maka pompa air menyala
sehingga nozzle mengeluarkan air.
6. Proses pengambilan data
Gambar 1.1 Diagram blok perancangan
sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Proses pengambilan data dengan mengamati sistem apa sudah sesusai yang
diinginkan dengan cara melihat hasil capture gambar apabila terdeteksi ada api
dan asap yang berlebih. Serta penerimaan data dari sensor api dan asap agar sesuai
dengan hasil capture dari webcam.
7. Analisi dan pengambilan kesimpulan
Analisi dilakukan dengan mengamati sistem berhasil atau tidaknya sesuai dengan
perancangan sebelumnya, serta menganalisis keluaran dari sensor asap dan
webcam sehingga dapat disimpulkan data yang didapat hasil dari percobaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB II
DASAR TEORI
2.1. Kebakaran
Kebakaran adalah suatu reaksi oksidasi eksotermis yang berlangsung dengan cepat
dari suatu bahan bakar yang disertai dengan timbulnya api/penyalaan. Penyebab umum
kebakaran bersumber pada 3 faktor [4], yaitu :
a. Faktor manusia yang meliputi human error, kurangnya disiplin dan minim
pengawasan.
b. Faktor teknis yaitu peningkatan suhu yang menyebabkan timbulnya panas yang
berlebih disekitar bahan – bahan yang mudah terbakar, penggunaan bahan – bahan
kimia yang tidak sesuai dengan petunjuk yang ada, serta hubungan arus pendek
arus listrik.
c. Faktor alam yang berupa gempa bumi, petir, dan sebagainya.
2.1.1. Efek Kebakaran
Peristiwa kebakaran menimbulkan efek berbahaya antara lain [5] :
a. Asap, yaitu kumpulan partikel zat carbon ukuran kurang dari 0,5 micron sebagai
hasil dari pembakaran tak sempurna dan bahan yang mengandung karbon. Asap
memberikan efek berupa iritasi pada mata, selaput lendir pada hidung dan
kerongkongan.
b. Panas, yaitu suatu bentuk energi yang pada 300oF dapat dikatakan sebagai
temperatur tertinggi di mana manusia dapat bertahan /bernafas hanya dalam waktu
yang singkat. Panas memberikan efek berupa tubuh kehilangan cairan dan tenaga,
luka bakar/terbakar pada kulit dan pernafasan, mematikan jantung.
c. Nyala/Flame, biasa timbul pada proses pembakaran sempurna dan membentuk
cahaya berkilauan.
d. Gas beracun.
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
2.2. Raspberry Pi
Raspberry Pi atau disingkat dengan nama Raspi, adalah komputer papan tunggal
(single-board circuit) yang seukuran dengan kartu kredit yang dapat digunakan untuk
menjalankan program perkantoran, permainan komputer, dan sebagai pemutar media hingga
video beresolusi tinggi [6].
Model – model dan spesifikasi dari Raspberry Pi diperlihatkan pada tabel 2.1.
2.2.1. Arsitektur Hardware Raspberry Pi 3 B+
Raspberry Pi yang digunakan pada penelitian ini yaitu Raspberry Pi 3 Model B+ yang
menggunakan chipset SOC BCM2837. SOC (System On Chip) adalah integrated circuit (IC)
yang di dalamnya telah mengintegrasikan seluruh komponen komputer atau sistem
elektronik lain.
BCM2837 merupakan prosesor yang memiliki empat core dengan kecepatan
pemrosesan 1.4 GHz dan SDRAM 1GB. Raspberry Pi 3 B+ memiliki Camera Serial
Interface (DSI), Display Serial Interface (DSI), Ethernet, serta mendukung hingga 4 port
USB 2.0. Gambar 2.2 memperlihatkan bentuk fisik dari Raspberry Pi 3 B+ sedangkan
gambar 2.3 menampilkan GPIO (General Purpose Input Output) Raspberry Pi 3 B+. GPIO
adalah kumpulan pin yang dapat diprogram untuk melakukan berbagai tugas [8].
Tabel 2.1. Tabel model Raspberry Pi [7]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
2.2.2. Pemrograman Raspberry Pi 3
Bahasa pemrograman yang digunakan oleh Raspberry Pi 3 adalah Python. Python
adalah bahasa pemrograman tinggi yang bisa melakukan eksekusi sejumlah instruksi multi
guna secara langsung (interpretatif) dengan metode Object Oriented Programming dan juga
menggunakan semantik dinamis untuk memberikan tingkat keterbacaan syntax. Sebagai
bahasa pemrograman tinggi, python dapat dipelajari dengan mudah karena telah dilengkapi
Gambar 2.1 Model Raspberry Pi 3+ [9]
Gambar 2.2 GPIO Raspberry Pi 3+ [9]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
dengan manajemen memori otomatis [10]. Bahasa pemrograman yang dirancang oleh Guido
van Rossum ini sebenarnya sangat banyak digunakan untuk membuat program yang sangat
sering dipakai oleh masyarakat umum. Sebut saja program GUI (desktop), aplikasi
smartphone, program CLI, IoT, game, web, program untuk hacking dan masih banyak lagi.
Python merupakan bahasa pemrograman yang tidak sulit untuk dipelajari. Alasan utama dari
pernyataan ini adalah struktur sintak yang rapi dan lebih mudah dipahami dibandingkan
bahasa pemrograman lainnya [11].
2.2.3. Web Server Flask Raspberry Pi 3
Salah satu kegunaan Raspberry Pi yang paling popular adalah sebagai web server
yang ada di jaringan lokal. Raspberry Pi adalah pilihan yang tepat apabila memerlukan
intranet untuk kantor atau server kecil untuk pengembangan web. Untuk membuat web
server berfungsi, Raspberry Pi perlu terhubung ke jaringan lokal dan harus menjalankan
versi yang cukup dari sistem operasi Raspbian. Instruksi akan bekerja pada hamper semua
model, termasuk Raspbery Pi 4 yang kuat dan Raspberry Pi Zero W yang kecil [12]. Web
server yang digunakan dalam perancangan ini berupa web server Flask yang mudah
digunakan namun hanya bisa digunakan pada server lokal saja.
2.3. Webcam
Webcam disebut pula ‘web camera’ adalah peragkat keras komputer yang berbentuk
kamera digital dan dihubungkan ke laptop ataupun komputer. Kemampuanya sama seperti
kamera digital lainya, mengambil gambar, merekam video. Hanya saja, webcam dilengkapi
pula dengan kemampuan merekan dan mengambil gambar secara live. Artinya, pengguna
komputer bisa mengirim video dan gambar secara langsung ke pengguna lain di seluruh
dunia melalui jaringan internet. Menurut Wikipedia, webcam berasal dari dua kata: web dan
camera, yang merujuk pada kamera berkemampuan realtime. Umumnya, webcam
dilengkapi dengan sejumlah fitur utama, seperti Mikrofon, bisa disesuaikan posisinya, sensor
terpasang secara build in, lampu indikator dan lain sebagainya. Berkat perkembangan
beberapa aplikasi video call, penggunaan webcam menjadi semakin marak, misalnya saja
untuk Skype [13].
Webcam dalam perancangan perangkat keras pada penelitian ini berfungsi sebagai input
video. Dalam penelitian ini, objek yang ditangkap oleh webcam berupa titik api atau asap
dalam suatu ruangan. Webcam yang digunakan akan tersambung oleh Raspberry
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
menggunakan kabel usb sehingga hasil tangkapan webcam dapat diolah melalui algoritma
yang sudah disiapkan pada Raspberry.
Webcam yang digunakan dalam penelitian ini merupakan webcam Logitech C270.
Webcam ini ini mampu mengambil gambar atau video dengan resolusi maksimal 720p
dengan 30fps. Selain itu, webcam ini juga kompatibel dengan Windows 10 dan Raspberry
Pi B+ yang digunakan [14]. Contoh webcam dapat dilihat pada gambar 2.3.
2.4. Open CV
OpenCV (Open Source Computer Vision Library), adalah sebuah library open source
yang dikembangkan oleh Intel yang fokus untuk menyederhanakan programing terkait citra
digital. Di dalam OpenCV sudah mempunyai banyak fitur, antara lain : pengenalan wajah,
pelacakan wajah, deteksi wajah, Kalman filtering, dan berbagai jenis metode AI (Artificial
Intellegence). Dan menyediakan berbagai algoritma sederhana terkait Computer Vision
untuk low level API [15]. Dalam penelitian ini, OpenCV berperan sebagai library yang
menyediakan algoritma bagi Python untuk dapat mengolah gambar hasil input dari webcam.
2.5. Pengolahan Citra
Pengolahan Citra Digital (Digital Image Processing) merupakan bidang ilmu yang
mempelajari tentang bagaimana suatu citra itu dibentuk, diolah, dan dianalisis sehingga
menghasilkan informasi yang dapat dipahami oleh manusia. Berdasarkan bentuk sinyal
penyusunnya, citra dapat digolongkan menjadi dua jenis yaitu citra analog dan citra digital.
Citra analog adalah citra yang dibentuk dari sinyal analog yang bersifat kontinyu, sedangkan
citra digital adalah citra yang dibentuk dari sinyal digital yang bersifat diskrit.
Gambar 2.3 Webcam Logitech C270 [14]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Citra analog dihasilkan dari alat akuisisi citra analog, contohnya adalah mata
manusia dan kamera analog. Gambaran yang tertangkap oleh mata manusia dan foto atau
film yang tertangkap oleh kamera analog merupakan contoh dari citra analog. Citra tersebut
memiliki kualitas dengan tingkat kerincian (resolusi) yang sangat baik tetapi memiliki
kelemahan di antaranya adalah tidak dapat disimpan, diolah, dan diduplikasi di dalam
komputer.
Citra digital merupakan representasi dari fungsi intensitas cahaya dalam bentuk
diskrit pada bidang dua dimensi. Citra tersusun oleh sekumpulan piksel (picture element)
yang memiliki koordinat (x,y) dan amplitudo f(x,y). Koordinat (x,y) menunjukkan
letak/posisi piksel dalam suatu citra, sedangkan amplitudo f(x,y) menunjukkan nilai
intensitas warna citra [16]. Representasi citra digital beserta piksel penyusunnya ditunjukkan
pada Gambar 2.4 di atas.
2.5.1. Citra RGB
Pada umumnya, berdasarkan kombinasi warna pada piksel, citra dibagi menjadi tiga
jenis yaitu citra RGB, citra grayscale, dan citra biner. Citra pada Gambar 2.4 termasuk dalam
jenis citra RGB truecolor 24-bit. Citra tersebut tersusun oleh tiga kanal warna yaitu kanal
merah, kanal hijau, dan kanal biru. Masing-masing kanal warna memiliki nilai intensitas
piksel dengan kedalaman bit sebesar 8-bit yang artinya memiliki variasi warna sebanyak 2^8
derajat warna (0 s.d 255). Pada kanal merah, warna merah sempurna direpresentasikan
dengan nilai 255 dan hitam sempurna dengan nilai 0. Pada kanal hijau, warna hijau sempurna
Gambar 2.4 Citra dan piksel penyusunnya [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
direpresentasikan dengan nilai 255 dan hitam sempurna dengan nilai 0. Begitu juga pada
kanal biru, warna biru sempurna direpresentasikan dengan nilai 255 dan hitam sempurna
dengan nilai 0 [16]. Representasi citra RGB dan masing-masing kanal warna penyusunnya
ditunjukkan pada Gambar 2.5.
Setiap piksel pada citra RGB, memiliki intensitas warna yang merupakan kombinasi
dari tiga nilai intensitas pada kanal R, G, dan B. Sebagai contoh, suatu piksel yang memiliki
nilai intensitas warna sebesar 255 pada kanal merah, 255 pada kanal hijau, dan 0 pada kanal
biru akan menghasilkan warna kuning. Pada contoh lain, suatu piksel yang memiliki nilai
intensitas warna sebesar 255 pada kanal merah, 102 pada kanal hijau, dan 0 pada kanal biru
akan menghasilkan warna orange. Banyaknya kombinasi warna piksel yang mungkin pada
citra RGB truecolor 24-bit adalah sebanyak 256 x 256 x 256 = 16.777.216 [16]. Representasi
nilai intensitas piksel dengan kombinasi warna R, G, dan B ditunjukkan pada tabel 2.2.
Gambar 2.5 Representasi citra RGB dan kanal warna penyusunnya [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
2.5.2. Citra Grayscale
Citra grayscale merupakan citra yang nilai intensitas pikselnya didasarkan pada
derajat keabuan. Pada citra grayscale 8-bit, derajat warna hitam sampai dengan putih dibagi
ke dalam 256 derajat keabuan di mana warna hitam sempurna direpresentasikan dengan nilai
0 dan putih sempurna dengan nilai 255. Citra RGB dapat dikonversi menjadi citra grayscale
sehingga dihasilkan hanya satu kanal warna [16]. Citra konversi RGB menjadi grayscale
ditunjukan pada gambar 2.6.
Warna R G B
Yellow 255 255 0
Orange 255 102 0
Green 0 255 0
Cyan 0 255 255
Violet 204 102 204
White 255 255 255
Black 0 0 0
Turquoise 102 255 204
Brown 153 102 51
Tabel 2.2. Warna dan nilai penyusun warna
Gambar 2.6. Citra konversi RGB ke grayscale [16]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
2.5.3. Citra Biner
Citra biner adalah citra yang pikselnya memiliki kedalaman bit sebesar 1 bit sehingga
hanya memiliki dua nilai intensitas warna yaitu 0 (hitam) dan 1 (putih). Citra grayscale dapat
dikonversi menjadi citra biner melalui proses thresholding. Proses tersebut dilakukan untuk
memisahkan antara foreground (objek yang dikehendaki) dengan background (objek lain
yang tidak dikehendaki). Pada hasil segmentasi, foreground direpresentasikan oleh warna
putih (1) dan background direpresentasikan oleh warna hitam (0). Pada kasus segmentasi
pada satu citra saja, kita dapat menentukan nilai threshold dengan metode trial and error.
Namun pada kasus segmentasi pada citra dengan jumlah yang banyak, dibutuhkan suatu
metode untuk menentukan nilai threshold secara otomatis. Nilai threshold dapat diperoleh
secara otomatis dengan menggunakan metode Otsu. Berikut merupakan contoh ilustrasi
perubahan nilai piksel pada proses thresholding pada gambar 2.7.
Dalam proses thresholding, dibutuhkan suatu nilai threshold sebagai nilai pembatas
konversi. Nilai intensitas piksel yang lebih besar atau sama dengan nilai threshold akan
dikonversi menjadi 1. Sedangkan nilai intensitas piksel yang kurang dari nilai threshold akan
dikonversi menjadi 0. Misalnya nilai threshold yang digunakan adalah 128, maka piksel
yang mempunyai intensitas kurang dari 128 akan diubah menjadi 0 (hitam) dan yang lebih
dari atau sama dengan 128 akan diubah menjadi 1 (putih) [16]. Citra hasil konversi grayscale
menjadi biner dengan thresholding yang menggunakan metode Otsu ditunjukan pada
gambar 2.8 dibawah ini.
Gambar 2.7. Ilustrasi perubahan nilai piksel pada proses thresholding (17)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
2.6. Haar Cascade Classifier
Haar Cascade Classifier atau Haar-like features merupakan metode yang lazim
digunakan dalam pendeteksian obyek. Haar-like features merupakan rectangular features
(fungsi persegi), yang memberikan indikasi secara spesifik pada sebuah gambar atau image.
Prinsip Haar-like features adalah mengenali obyek berdasarkan nilai sederhana dari fitur
tetapi bukan merupakan nilai piksel dari image obyek tersebut. Metode ini memiliki
kelebihan yaitu komputasinya sangat cepat, karena hanya bergantung pada jumlah piksel
dalam persegi bukan setiap nilai piksel dari sebuah image. Haar like feature memproses citra
dalam sebuah kotak persegi dengan ukuran tertentu misalnya 24 x 24 pixel seperti
ditunjukkan pada gambar 2.9 dibawah ini.
Di dalam kotak inilah proses filtering obyek dilakukan untuk diketahui apakah ada
atau tidak obyek yang akan dideteksi. Proses filterisasi ini dilakukan secara bertingkat yang
menyebabkan metode ini nantinya disebut sebagai Haar Cascade Classifier seperti
ditunjukkan pada skema filter di gambar 2.10 berikut.
Gambar 2.8. Citra hasil konversi grayscale menjadi biner (17)
Gambar 2.9. Rectangular Feature Haar Cascade [18]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
Hasil deteksi Haar-like Feature kurang akurat jika hanya menggunakan satu fungsi
saja. Semakin tinggi tingkatan filter pendeteksian maka semakin tepat pula sebuah obyek
dideteksi akan tetapi akan semakin lama proses pendeteksiannya. Pemrosesan Haar-like
feature yang banyak tersebut diatur dalam classifier cascade. Haar-Wavelet (Wave =
Gelombang) merupakan gelombang persegi (interval gelap dan interval terang) yang
kemudian dibandingkan nilai rata-rata pixel keduanya. Apabila perbandingan nilai rata-rata
intensitas tersebut berada di atas threshold (ambang batas), maka dikatakan memenuhi syarat
fitur Haar. Untuk gambar bergerak seperti video, proses ini dilakukan secara diskrit dengan
mencuplik video pada frame rate tertentu [18]. Dalam penelian ini, haar cascade classifier
berfungsi sebagai sensor dalam suatu ruangan yang akan mendeteksi adanya api dan
mengolahnya menggunakan haar cascade classifier.
2.7. Relay
Relay adalah Saklar (switch) yang dioperasikan secara listrik dan merupakan
komponen Electromechanical (elektromekanikal) yang terdiri dari 2 bagian utama yakni
elektromagnet (coil) dan Mekanikal (seperangkat kontak saklar/switch). Relay
menggunakan prinsip rlektromagnetik untuk menggerakkan kontak saklar sehingga dengan
arus listrik yang kecil (low power) dapat menghantarkan listrik yang bertegangan lebih
tinggi. Sebagai contoh, dengan relay yang menggunakan rlektromagnet 5V dan 50 mA
mampu menggerakan armature relay (yang berfungsi sebagai saklarnya) untuk
menghantarkan listrik 220V 2A. Gambar bentuk dan simbol relay dapat dilihat pada gambar
2.11 dibawah ini.
Gambar 2.10. Skema filter pendeteksi obyek [18]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Pada dasarnya, Relay terdiri dari 4 komponen dasar yaitu :
a. Electromagnet (Coil)
b. Armature
c. Switch Contact Point (Saklar)
d. Spring
Kontak Poin (Contact Point) Relay terdiri dari 2 jenis yaitu :
Normally Close (NC) yaitu kondisi awal sebelum diaktifkan akan selalu berada di
posisi CLOSE (tertutup)
Normally Open (NO) yaitu kondisi awal sebelum diaktifkan akan selalu berada di
posisi OPEN (terbuka)
Gambar 2.11. Gambar bentuk dan simbol relay [19]
Gambar 2.12. Struktur sederhana relay [19]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Berdasarkan gambar 2.12 diatas, sebuah besi (iron core) yang dililit oleh sebuah
kumparan coil yang berfungsi untuk mengendalikan besi tersebut. Apabila kumparan coil
diberikan arus listrik, maka akan timbul gaya elektromagnet yang kemudian menarik
armature untuk berpindah dari posisi sebelumnya (NC) ke posisi baru (NO) sehingga
menjadi saklar yang dapat menghantarkan arus listrik di posisi barunya (NO). Posisi dimana
armature tersebut berada sebelumnya (NC) akan menjadi OPEN atau tidak terhubung. Pada
saat tidak dialiri arus listrik, Armature akan kembali lagi ke posisi Awal (NC). Coil yang
digunakan oleh relay untuk menarik contact point ke Posisi Close pada umumnya hanya
membutuhkan arus listrik yang relatif kecil [19]. Pada perancangan alat keras ini, relay
digunakan yaitu relay 4 channel sebagai saklar on/off pada pompa air 12V.
2.8. Pompa Air 12V
Pompa air berfungsi sebagai pemompa air dari suatu penampungan ke tempat lain.
Prinsip kerja pompa air tergantung pada prinsip perpindahan positif serta energi kinetik
untuk mendorong air. Pompa air menggunakan daya AC selain daya DC untuk memberi
energi pada motor pompa air sedangkan yang lain dapat diberi energi jenis driver lain seperti
mesin bensin selain diesel. Pompa air adalah perangkat portabel dan dapat diterapkan di
beberapa aplikasi rumah tangga [20]. Pompa air yang digunakan dalam perancangan ini yaitu
Pompa air DC 12V yang dapat dilihat pada gambar 2.13. Pompa air ini disambungkan ke
pipa dan nozzle yang berfungsi sebagai pemadam api apabila terindikasi adanya kebakaran.
Pompa air DC 12V ini memiliki spesifikasi sebagai berikut :
a. Sumber tenaga : Aki 12V atau adaptor DC 12V (arus 2,1A)
b. Daya sedot : 1,6 liter per menit
c. Tekanan sembur air : 5 bar
d. Material pembungkus : Plastik dan karet
Gambar 2.13. Pompa air DC 12V [21]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
2.9. Network Switch
Switch adalah sebuah perangkat jaringan pada komputer yang menghubungkan
perangkat pada sebuah jaringan komputer dengan menggunakan pertukaran paket untuk
menerima, memproses dan meneruskan data ke perangkat yang dituju. Membicarakan
tentang jaringan komputer tentu tidak jauh dari pembahasan tentang apa saja perangkat yang
digunakan dalam bidang tersebut. Perangkat untuk jaringan komputer ini lebih sering kita
kenal dengan sebutan network device. Beberapa contoh dari network device adalah NIC,
repeater, modem, bridge, router, hub, dan switch.
Switch juga dianggap sebagai jembatan dengan banyak port yang menggunakan
alamat dari hardware untuk memproses dan mengirimkan data pada layer kedua dari model
OSI. Beberapa jenis switch juga bisa memproses data pada layer ketiga dengan
menambahkan fungsi routing yang biasanya memakai alamat IP untuk melakukan
pengiriman paket. Itulah sebabnya mengapa ada yang membedakan switch menjadi dua
jenis, yaitu switch layer dua dan switch layer tiga. Contoh model switch dapat dilihat pada
gambar 2.14 dibawah ini.
Fungsi utama dari sebuah switch adalah menerima informasi dari berbagai sumber
yang tersambung dengannya, kemudian menyalurkan informasi tersebut kepada pihak yang
membutuhkannya saja [22]. Switch yang digunakan pada perancangan adalah Switch ZTE
GPON ONT ZXHN F609 yang berfungsi sebagai streaming, upload gambar, dan koneksi
web server.
Gambar 2.14. Network switch ZTE [23]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
2.10. Solenoid Valve
Katup solenoid memiliki tampilan yang cukup khas. Solenoid valve memiliki tubuh
katup, tetapi di atas mereka memiliki blok dengan beberapa kabel. Bagian atas ini adalah
solenoid dan bagian bawah adalah katup, oleh karena itu disebut katup solenoid valve. Katup
ini memiliki beragam bentuk dan ukuran. Variasi bentuk tergantung pada kapasitas katup,
tekanan yang bekerja dengannya dan mekanisme internal yang berbeda [24].
Cara kerja solenoid valve yaitu awalnya sensor merasakan proses menuju sisi outlet
dari katup solenoid. Ketika merasakan bahwa jumlah tertentu dari aliran cairan diperlukan,
arus dapat melewati katup solenoid. Selanjutnya katup mendapat energi dan medan magnet
dihasilkan yang memicu gerakan pendorong terhadap aksi pegas. Karena ini, pendorong
bergerak ke arah atas, yang memungkinkan pembukaan lubang. Pada saat ini aliran fluida
diizinkan dari port inlet ke port outlet. Jika arus yang melewati katup solenoid konstan, posisi
plunger dan lubang orifis tetap konstan. Jika sensor merasakan bahwa dibutuhkan lebih
banyak aliran fluida, ini memungkinkan peningkatan arus yang melewati katup solenoid,
yang menciptakan lebih banyak medan magnet dan lebih banyak gerakan ke atas dari
plunger. Hal ini menyebabkan pembukaan lubang lebih lanjut dan lebih banyak aliran cairan
dari port inlet ke outlet. Jika aliran fluida yang dibutuhkan kurang, sensor memungkinkan
lewatnya arus yang lebih kecil ke katup solenoid. Ketika sensor merasakan bahwa cairan
tidak lagi diperlukan dalam proses, itu menghentikan aliran arus ke katup solenoid
sepenuhnya. Karena hal ini, solenoid valve mengalami de-energized dan plunger mencapai
posisi paling bawah dan menutup lubang sepenuhnya sehingga menghentikan aliran cairan
dari port inlet ke port outlet. Dengan cara ini koil solenoid mengoperasikan katup seolah-
olah dioperasikan oleh manusia. Ketika aliran jumlah cairan tertentu diperlukan, itu
Gambar 2.15. Solenoid Valve [25]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
membuka katup ke tingkat yang diperlukan dan ketika aliran tidak diperlukan itu menutup
katup sepenuhnya [26].
2.11. Sensor Asap MQ7
MQ7 adalah salah satu sensor gas yang umum digunakan dalam seri sensor MQ.
Sensor gas ini memiliki tipe logam oksida semikonduktor yang juga dikenal sebagai
Cheremiresistors karena pendeteksiannya berdasarkan pada perubahan resistansi bahan
penginderaan ketika gas bersentuhan dengan benda tersebut. Sensor gas MQ7 menggunakan
jaringan pembagi tegangan sederhana sehingga konsentrasi gas dapat dideteksi. Bentuk
sensor gas MQ7 dapat dilihat pada gambar 2.16. Sensor gas MQ7 memiliki spesifikasi
sebagai berikut :
a. Tegangan kerja : 1.5V – 5V
b. Resistansi beban : 2KΩ – 20KΩ
c. Konsumsi daya : <350 mW
d. Range pengukuran : 10 – 10.000 ppm
Bahan sensitif sensor gas MQ7 adalah SnO2, yang memiliki konduktivitas lebih
rendah di udara bersih dan pendeteksian dengan metode siklus suhu tinggi dan rendah, serta
mendeteksi CO saat suhu rendah (dipanaskan oleh 1.5V). Konduktivitas sensor semakin
tinggi seiring dengan meningkatnya konsentrasi gas. Ketika suhu tinggi (dipanaskan oleh
5.0V), sensor membersihkan gas lain yang terserap di bawah suhu rendah [27]. Pada
penelitian ini, sensor MQ7 berfungsi sebagai sensor yang mendeteksi adanya asap yang
muncul ketika terindikasi kebakaran. Apabila sensor MQ7 mendeteksi adanya asap, maka
webcam akan mengambil gambar dan mengirimkannya ke webserver. Nilai resistansi sensor
Gambar 2.16. Sensor MQ7 [27]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
dapat dihitung dengan menggunakan persamaan 2.1 dan 2.2 berdasarkan tingkat kenaikan
ppm.
𝑅𝑠 = (𝑉𝑐𝑐 − 𝑉𝑅𝐿)
𝑉𝑅𝐿𝑥𝑅𝐿
𝑅 = 𝑅𝑠/𝑅𝑜
Nilai Vcc pada Raspberry adalah ± 5V, RL pada module MQ7 FC-22 adalah 1k ohm
berdasarkan data sheet dan nilai VRL berdasarkan tegangan yang dihasilkan oleh sensor.
Selain itu, nilai Ro dicari dengan menggunakan permisalan dari perbandingan resistansi
sensor pada 100 ppm udara bersih dan nilai Rs adalah berupa nilai dari resistansi sensor pada
berbagai konsentrasi gas atau asap.
2.12. Analog to Digital Converter
ADC atau Analog to Digital Converter adalah pengubah input analog menjadi kode
– kode digital. ADC banyak digunakan sebagai Pengatur proses industri, komunikasi digital
dan rangkaian pengukuran/ pengujian. Umumnya ADC digunakan sebagai perantara antara
sensor yang kebanyakan analog dengan sistim komputer seperti sensor suhu, cahaya,
tekanan/ berat, aliran dan sebagainya kemudian diukur dengan menggunakan sistim digital
(komputer) [28]. ADC yang digunakan pada penelitian ini adalah MCP3008 dengan
spesifikasi sebagai berikut :
Name Value
Max Sample Rate (ksamples/sec) 200
Typ. INL ± (LSB) 0.5
Max. Supply Current (µA) 500
Input Type Single-ended
Input Channels 8
Resolution (bits) 10
Interface SPI
Temp Range (°C) -40 to + 85°C
Input Voltage Range (V) 0 to 5.5
(2.1)
(2.2)
Tabel 2.3. Spesifikasi MCP3008 [29]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
Tujuan penggunaan ADC pada penelitian ini untuk mengkonversikan nilai analog MQ7 yang
digunakan sebagai pendeteksi asap ke nilai digital pada Raspberry pi sehingga nilai yang
muncul dapat diukur dengan jelas dan akurat. ADC dapat dihitung dengan menggunakan
persamaan 2.1 dan V terbaca dapat dihitung dengan menggunakan persamaan 2.2.
𝐴𝐷𝐶 = 𝑉𝑖𝑛
𝑉𝑟𝑒𝑓𝑥1023
𝑉𝑡𝑒𝑟𝑏𝑎𝑐𝑎 = 𝐴𝐷𝐶
1023𝑥𝑉𝑟𝑒𝑓
2.14. Klasifikasi Matriks Gambar Citra Api dengan Metode Confusion
Matrix
Pengukuran terhadap kinerja suatu sistem klasifikasi merupakan hal yang penting.
Kinerja sistem klasifikasi menggambarkan seberapa baik sistem dalam mengklasifikasikan
data. Confusion matrix merupakan salah satu metode yang dapat digunakan untuk mengukur
kinerja suatu metode klasifikasi. Pada dasarnya confusion matrix mengandung informasi
yang membandingkan hasil klasifikasi yang dilakukan oleh sistem dengan hasil klasifikasi
yang seharusnya.
Berdasarkan jumlah keluaran kelasnya, sistem klasifikasi dapat dibagi menjadi 4
(empat) jenis yaitu klasifikasi binary, multi-class, multi-label dan hierarchical . Pada
klasifikasi binary, data masukan dikelompokkan ke dalam salah satu dari dua kelas. Jenis
klasifikasi ini merupakan bentuk klasifikasi yang paling sederhana dan banyak digunakan.
Contoh penggunaannya antara lain dalam sistem yang melakukan deteksi orang atau bukan,
sistem deteksi kendaraan atau bukan, dan sistem deteksi pergerakan atau bukan.
Sementara itu, pada bentuk klasifikasi multi-class, data masukan diklasifikasikan
menjadi beberapa kelas. Sebagai contoh sistem yang dapat mengklasifikasikan jenis
kendaraan seperti sepeda, sepeda motor, mobil, bus, truk, dan sebagainya. Bentuk
klasifikasi multi-label pada dasarnya sama dengan multi-class dimana data dikelompokkan
menjadi beberapa kelas, namun pada klasifikasi multi-label, data dapat dimasukkan dalam
beberapa kelas sekaligus. Bentuk klasifikasi yang terakhir adalah hierarchical. Data
masukan dikelompokkan menjadi beberapa kelas, namun kelas tersebut dapat
dikelompokkan kembali menjadi kelas-kelas yang lebih sederhana secara hirarkis.
(2.3)
(2.4)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
Contohnya dalam penelitian ini, arah pergerakan dikelompokkan menjadi 12 arah
pergerakan yang tentunya dapat disederhanakan menjadi 4 arah.
Pada pengukuran kinerja menggunakan confusion matrix, terdapat 4 (empat) istilah
sebagai representasi hasil proses klasifikasi. Keempat istilah tersebut adalah True
Positive (TP), True Negative (TN), False Positive (FP) dan False Negative (FN). Nilai True
Negative (TN) merupakan jumlah data negatif yang terdeteksi dengan benar,
sedangkan False Positive (FP) merupakan data negatif namun terdeteksi sebagai data positif.
Sementara itu, True Positive (TP) merupakan data positif yang terdeteksi benar. False
Negative (FN) merupakan kebalikan dari True Positive, sehingga data posifit, namun
terdeteksi sebagai data negatif. Pada jenis klasifikasi binary yang hanya memiliki 2 keluaran
kelas, confusion matrix dapat disajikan seperti pada tabel 2.4.
Kelas Terklasifikasi Positif Terklasifikasi Negatif
Positif TP (True Positive) FN (False Negative)
Negatif FP (False Positive) TN (True Negative)
Berdasarkan nilai True Negative (TN), False Positive (FP), False Negative (FN),
dan True Positive (TP) dapat diperoleh nilai akurasi, presisi dan recall. Nilai akurasi
menggambarkan seberapa akurat sistem dapat mengklasifikasikan data secara benar. Dengan
kata lain, nilai akurasi merupakan perbandingan antara data yang terklasifikasi benar dengan
keseluruhan data. Nilai akurasi dapat diperoleh dengan persamaan 2.5. Nilai presisi
menggambarkan jumlah data kategori positif yang diklasifikasikan secara benar dibagi
dengan total data yang diklasifikasi positif. Presisi dapat diperoleh dengan persamaan 2.6.
Sementara itu, recall menunjukkan berapa persen data kategori positif yang
terklasifikasikan dengan benar oleh sistem. Nilai recall diperoleh dengan persamaan 2.7
[30].
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = 𝑇𝑃 + 𝑇𝑁
𝑇𝑃 + 𝑇𝑁 + 𝐹𝑃 + 𝐹𝑁𝑥100%
𝑃𝑟𝑒𝑠𝑖𝑠𝑖 = 𝑇𝑃
𝐹𝑃 + 𝑇𝑃𝑥100%
𝑅𝑒𝑐𝑎𝑙𝑙 = 𝑇𝑃
𝐹𝑁 + 𝑇𝑃𝑥100%
Tabel 2.4. Klasifikasi Matriks dengan Metode Confusion Matrix [30]
(2.5)
(2.6)
(2.7)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
dimana:
TP adalah True Positive, yaitu jumlah data positif yang terklasifikasi dengan benar oleh
sistem.
TN adalah True Negative, yaitu jumlah data negatif yang terklasifikasi dengan benar
oleh sistem.
FN adalah False Negative, yaitu jumlah data negatif namun terklasifikasi salah oleh
sistem.
FP adalah False Positive, yaitu jumlah data positif namun terklasifikasi salah oleh
sistem
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
BAB III
RANCANGAN PENELITIAN
3.1. Konsep Perancangan
Perancangan alat monitoring dan deteksi dini kebakaran terdiri dari 3 bagian, yaitu
unit input, pengolah data dan output seperti yang ditunjukan Gambar 3.1. Sistem yang akan
dibangun menggunakan sistem pendeteksi kebakaran adalah pengolahan citra berbasis
pemrosesan gambar. Sistem ini menggunakan aplikasi Cascade Trainer GUI yang berfungsi
untuk mengklasifikasikan sebuah gambar dikategorikan sebagai api dengan algoritma Haar
Cascade Classifier . Dalam sistem ini fungsi kamera sebagai catcher yang nantinya akan
menjadi input gambar Raspberry Pi. Raspberry Pi yang digunakan adalah Raspberry Pi 3
Model B+ yang akan menjadi otak dari sistem. Semua data gambar yang diperoleh akan di
proses oleh Raspberry Pi 3 Model B+ dengan menggunakan algoritma haar cascade
classifier. Data gambar yang sudah di proses oleh Raspberry Pi 3 Model B+ kemudian akan
dikirim ke server dalam bentuk data string dengan bentuk peringatan (alert). Diagram alir
perancangan sistem ditampilkan pada gambar 3.1 yang merupakan sistem utama.
Setiap frame per second atau FPS yang ditangkap oleh kamera akan diproses
menggunakan sub program yang berisi algoritma haar cascade. Algoritma ini didapat dari
hasil pelatihan gambar-gambar yang sebelumnya telah disiapkan dan dilatih menggunakan
Haar Cascade Trainer GUI. Sub rutin program ini akan berjalan secara bersamaan dengan
program utama, namun dalam prosesnya akan berjalan terpisah tapi tetap berhubungan
dengan program utama. Diagram alir sub sistem pemrosesan frame gambar webcam dapat
dilihat pada gambar 3.2.
Selain itu, gambar 3.1 dan gambar 3.2 memiliki sub program lagi yang berjalan
bersamaan dengan sistem utama. Sub program lainnya akan dijelaskan pada sub bab
berikutnya yang menjelaskan dari masing – masing sub program.
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
START
Inisialisasi program
algoritma haar
cascade
Kamera mulai
streaming ruangan
Sistem secara
otomatis akan
memadamkan api
STOP
Pengolahan
gambar
Inisialisasi fungsi
program dan web
server
Gambar 3.1. Diagram alir perancangan sistem program utama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Apakah ada
api atau
asap yang terdeteksi ?
Tidak
Sistem mengirim
gambar ke web
server
Iya
RETURN
START
Preprocessing
gambar
Processing
gambar
Gambar 3.2. Diagram alir pengolahan gambar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
3.2. Kebutuhan Perangkat
Pada penelitian ini dibutuhkan beberapa perangkat untuk mendukung pembuatan sistem.
Perangkat-perangkat tersebut terbagi menjadi dua bagian yaitu perangkat keras dan
perangkat lunak.
3.2.1. Kebutuhan Perangkat Keras
Perangkat keras yang dibutuhkan dalam penelitian ini yaitu :
1. Monitor
2. Raspberry Pi 3 B+
3. Relay
4. Pompa air DC 12V
5. Network switch
6. Keyboard
7. Mouse
8. Webcam Logitech C270
9. Solenoid valve
10. Power supply 12V
11. Sensor MQ7
3.2.2. Kebutuhan Perangkat Lunak
Perangkat lunak diperlukan untuk menuliskan program dan menampilkan hasil
program. Perangkat lunak tersebut yaitu :
1. Python sebagai Bahasa pemrograman di Raspberry Pi 3 B+ .
2. Web server Rasperry Pi untuk menampilkan hasil monitoring dari kamera.
3. Cascade Trainer GUI sebagai pemrograman sampel gambar.
3.3. Perancangan Perangkat Keras
Pada perancangan perangkat keras ini, Raspberry Pi 3 akan dihubungkan ke monitor
untuk menampilkan monitoring dari webcam pada setiap ruangan yang berjumlah total 2
ruangan beserta sensor asap, selain itu Raspberry Pi 3 akan disambungkan pada network
switch yang berguna untuk sambungan internet pada web server. Disetiap ruangan akan
dihubungkan dengan pipa beserta nozzle yang berfungsi untuk memadamkan api pada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
ruangan tersebut. Pompa air DC 12V dan solenoid valve akan diberi relay yang berfungsi
sebagai switch untuk mengaktifkan sistem pemadam ruangan serta terdapat sensor asap
disetiap ruangan yang berguna mendeteksi adanya indikasi kebakaran berupa asap yang
muncul. Komunikasi perangkat keras dapat dilihat pada gambar 3.3.
3.3.1. Wiring Perangkat Keras
Pengkabelan pada perangkat keras didesain menggunakan aplikasi fritzing sebagai
ilustrasinya. Desain gambar wiring perancangan perangkat keras dapat dilihat pada gambar
3.4. beserta dengan keterangannya. Selain itu, terdapat juga keterangan piranti input dan
output yang dapat dilihat pada tabel 3.1. dan 3.2.
Raspberry Pi
GPIO Ports USB
LAN
HDMI
USB
PORT
USB Mouse
USB Keyboard
USB Webcam
Network
Switch
Monitor
Pompa Air
Relay
Solenoid valve
ADC
MQ7
Gambar 3.3. Komunikasi perangkat keras
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Keterangan warna kabel :
1. Kabel merah adalah VCC+.
2. Kabel hitam adalah VCC- atau ground.
3. Kabel kuning, hijau dan biru adalah input relay.
4. Kabel putih, abu – abu, ungu dan merah jambu adalah input sensor MQ7.
No Piranti Input Jumlah
1 Webcam 2
Pada tabel 3.1. berisi piranti input yang terdiri dari 2 buah webcam yang tersambung
pada usb port berfungsi sebagai pendeteksi asap dan api.
Gambar 3.4. Wiring perangkat keras
Tabel 3.1. Piranti Input
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
No Piranti Ouput Jumlah
1 Pompa air 1
2 Solenoid valve 2
3 MQ7 2
4 Web server 1
Pada tabel 3.2. berisi piranti output yang terdiri dari pompa air yang berfungsi
memadamkan api apabila webcam mendeteksi adanya indikasi kebakaran pada suatu
ruangan, solenoid valve yang berfungsi mengatur aliran air pada pipa agar air dapat tepat
memadamkan api pada ruangan yang ingin dipadamkan, sensor MQ7 yang berfungsi sebagai
pendeteksian asap pada suatu ruangan dan web server yang merupakan perangkat lunak
berfungsi sebagai monitoring ruangan.
Alur pengkabelan pada sistem ini yaitu raspberry tersambung dengan input relay IN1
sebagai pengatur pompa air melalui GPIO PIN 16 pada kabel kuning, input relay IN2 sebagai
pengatur solenoid valve 1 melalui GPIO PIN 23 pada kabel hijau, input relay IN3 sebagai
pengatur solenoid valve 2 melalui GPIO PIN 24 pada kabel biru dan VCC 5V pada kabel
merah serta ground dengan kabel hitam. VCC+ pompa air yang ditandai dengan kabel merah
tersambung dengan NO1 relay dan NO2 serta NO3 relay solenoid valve sedangkan VCC-
pompa air dan solenoid valve tersambung dengan VCC- PSU, sementara itu VCC+ PSU
akan tersambung dengan COM1 relay sebagai pemberi daya pompa air serta COM2 dan
COM3 relay sebagai pemberi daya solenoid valve. Pompa air tidak dapat langsung
dikoneksikan dengan raspberry karena daya dari power supply terlalu besar sehingga dapat
menyebabkan kerusakan pada raspberry yang hanya memerlukan 5V sebagai sumber
dayanya. Selain itu ada tambahan berupa sensor asap MQ7 yang terkoneksikan dengan ADC
MCP3008 dengan pin 16 dan 15 pada adc terkoneksi pada vcc 5V raspberry serta pin 14 dan
pin 9 adc terkoneksi dengan ground. Selain itu, pin adc 13 terkoneksi dengan GPIO PIN 23
raspberry, pin 12 adc dengan GPIO PIN 21, pin 11 adc dengan GPIO PIN 19 raspberry dan
pin 10 adc terkoneksi dengan GPIO PIN 24 raspberry. Serta channel 0 ADC terkoneksi
dengan sensor A0 MQ7 pertama dan channel 1 ADC terkoneksi dengan A0 MQ7 kedua, D0
MQ7 pertama terkoneksi dengan GPIO PIN 32 dan D0 MQ7 kedua terkoneksi dengan GPIO
Tabel 3.2. Piranti Output
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
PIN 31. Berikut adalah alamat piranti input dan output yang dijelaskan pada tabel 3.3. dan
tabel 3.4.
INPUT
No. Nama Perangkat Alamat Keterangan
1 Webcam 1 USB PORT 1 USB PORT Raspberry Pi
2 Webcam 2 USB PORT 2
OUTPUT
No. Nama Perangkat Alamat Keterangan
1 Pompa Air GPIO PIN 16 IN1
GPIO
Raspberry Pi
Relay
2 Solenoid Valve 1 GPIO PIN 23 IN2
3 Solenoid Valve 2 GPIO PIN 24 IN3
4
ADC
GPIO PIN 23 PIN 13
PIN
MCP3008
5 GPIO PIN 21 PIN 12
6 GPIO PIN 19 PIN 11
7 GPIO PIN 24 PIN 10
8
Sensor Asap
GPIO PIN 32 D0 MQ7 ruangan 1
9 GPIO PIN 31 D0 MQ7 ruangan 2
10 CH0 A0 PIN
MCP3008
MQ7 ruangan 1
11 CH1 A0 MQ7 ruangan 2
Untuk tabel alamat dijelaskan pada pada tabel keterangan. Tabel amat sebelah kiri dijelaskan
pada tabel keterangan sebelah kiri, begitu juga tabel alamat sebelah kanan dijelaskan pada
tabel keterangan sebelah kanan. Sebagai contoh pembacaan tabel ini yaitu perangkat pompa
air tersambung ke alamat IN1 pada relay yang diatur pada Raspberry Pi pada alamat GPIO
PIN 16.
3.3.2. Desain Miniatur Ruangan
Ruangan miniatur ini dibuat untuk memproyeksikan prototype alat sistem yang telah
dibuat ini agar sesuai dengan kondisi ruangan yang sebenarnya, seperti pada gambar 3.5.
Tabel 3.4. Alamat piranti Output
Tabel 3.3. Alamat piranti Input
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Adapun hal – hal yang perlu diperhatikan dalam pembuatan serta penguji cobaan ruangan
miniatur ini antara lain :
1. Meminimalisi cahaya yang masuk pada suatu ruangan sehingga webcam dapat
bekerja dengan baik.
2. Pemasangan kamera tidak bisa menghadap secara langsung kepada objek lampu atau
objek yang dapat memancarkan cahaya karena sistem akan mendeteksi objek
tersebut sebagai api.
3.4. Perancangan Perangkat Lunak
Pada perancangan lunak dalam penelitian ini terbagi menjadi 2 bagian yaitu pembuatan
algoritma dan perancangan GUI web server.
3.4.1. Pemrograman Algoritma
Pemrograman algoritma dalam proses ini memerlukan beberapa cara untuk dapat
menentukan hasil keluaran yang diinginkan dengan metode algoritma haar cascade
classifier. Secara garis besar, proses metode haar cascade classifier ini dibagi menjadi 3
bagian utama yang meliputi persiapan sampel negatif, persiapan sampel positif, dan
pelatihan sampel dengan menggunakan aplikasi Cascade Trainer GUI yang menerapkan
algoritma haar cascade classifier.
Gambar 3.5. Desain perancangan alat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Hal yang pertama dilakukan yaitu menyiapkan sampel gambar negatif secara manual
dan positif menggunakan Opencv. Hasil sampel gambar yang sudah jadi harus dilatih
menggunakan Cascade Trainer GUI untuk menentukan nilai negatif dan positif suatu gambar
atau video yang nantinya akan di monitor. Diagram alir proses kerja metode haar cascade
classifier dapat dilihat pada gambar 3.6. Hasil output dari tahap pemrograman algoritma ini
akan diimplementasikan dalam bentuk program yang akan dimasukkan pada program utama.
3.4.1.1. Persiapan Sampel Negatif
Persiapan sampel negatif menggunakan hasil tangkapan gambar webcam dalam
bentuk apa saja yang tidak mengandung objek yang akan di deteksi oleh sistem. Gambar –
gambar ini dihasilkan dengan beberapa metode dan disebut sampel latar belakang atau
gambar latar belakang. Gambar yang digunakan dalam sampel negatif harus sama atau lebih
besar dari ukuran gambar objek yang akan di deteksi oleh sistem, karena sampel negatif ini
digunakan untuk melakukan sampel pada gambar negatif menjadi beberapa sampel gambar
yang memiliki jendela pelatihan sampel yang sama.
3.4.1.2. Persiapan Sampel Positif
Persiapan sampel positif dibuat oleh perintah “opencv_createsamples” pada
Raspberry Pi. Perintah tersebut digunakan proses boosting untuk menentukan model apa
yang sebenarnya harus dicari ketika ingin mencoba menemukan objek yang akan di deteksi
oleh sistem. Pengambilan sampel positif menggunakan cara yang sama dengan pengambilan
sampel negatif, hanya saja sekarang ada objek yang akan di deteksi oleh sistem nantinya.
Gambar 3.6. Diagram alir haar cascade classifier
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
3.4.1.3. Pelatihan Sampel dengan Cascade
Langkah terakhir setelah persiapan sampel adalah pelatihan sampel dengan
pengklasifikasian cascade. Langkah ini memproses sampel positif dan negatif yang telah
disiapkan sebelumnya. Proses pelatihan cascade menggunakan aplikasi Cascade Trainer
GUI untuk membuat file cascade. Setelah proses pelatihan cascade selesai, cascade yang
sudah terlatih akan disimpan dalam tipe file “xml”.
3.4.2. Pemrograman Web Server
Pemrograman web server dilakukan dengan membagi program menjadi 2 naskah
program yaitu naskah program pembuatan fungsi dan naskah program pemanggilan fungsi
serta pembuatan web server. Naskah yang pertama merupakan pembuatan fungsi – fungsi
inisialisasi GPIO dan kamera, pendeteksian pada web server serta sistem pemadaman api.
Naskah program pertama dibuat agar memudahkan serta meringkas pembuatan program
dengan menggunakan Class pada Python yang membuat setiap variabel yang dibuat
memiliki metode pemrogramannya masing – masing.. Pembuatan fungsi-fungsi ini
dijelaskan pada poin-poin berikut :
a. Inisialisasi GPIO perangkat keras.
b. Pembuatan format frame dan resolusi kamera.
c. Pembuatan fungsi menjalankan kamera pada Raspberry dan web server
d. Pembuatan fungsi pendeteksian api dan asap
e. Pembuatan fungsi sistem pemadaman api
Sementara naskah kedua merupakan pembuatan GUI web server, pemanggilan fungsi
pada naskah pertama, dan streaming web server. Fungsi – fungsi yang telah dibuat pada
naskah pertama akan dipanggil pada naskah kedua atau naskah pembuatan web server.
Tujuan pembagian dalam pembuatan script ini adalah mempermudah penulis dalam
mengidektifikasi masalah dalam pembuatan script ini. Diagram alir untuk naskah kedua atau
pembuatan web server dapat dilihat pada gambar 3.7.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Gambar 3.7. Diagram alir inisialisasi fungsi program dan web server
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
3.4.3. Perancangan GUI Web Server
Perancangan GUI ini bertujuan agar mempermudah pengguna dalam pemantauan
atau pengawasan kondisi tangkapan kamera dalam ruangan – ruangan. Rancangan GUI
dapat dilihat pada gambar 3.8. Secara total, GUI ini memiliki 5 frame. 4 frame di bagian kiri
dalam berfungsi untuk menampilkan hasil tangkapan kamera apabila terindikasi adanya
kebakaran, sedangkan pada 1 frame dibagian kanan berfungsi untuk menampilkan streaming
ruangan yang diinginkan oleh pengguna.
Diagram alir GUI streaming ruangan ditampilkan pada diagram alir 3.9 dan diagram
alir GUI hasil tangkapan kamera di tampilkan pada gambar 3.10 untuk gambar asap serta
gambar untuk gambar api 3.11. Diagram alir pada gambar 3.10 dan 3.11 berhubungan secara
langsung pada perintah sub rutin program pada diagram alir B gambar 3.1 sebelumnya,
sementara diagram alir 3.9 merupakan rincian pelaksaanaan dari tombol untuk mulai
monitoring ruangan. Selain itu, diagram alir 3.9 sampai 3.11 merupakan penjelasan tahapan
lebih rinci dari diagram alir pembuatan web server bagian menjalankan web server pada
gambar 3.8.
Beberapa tombol yang dimaskudkan adalah :
1. Ruangan A dan B
Tombol ruangan A dan tombol ruangan B berfungsi untuk menampilkan streaming
ruangan yang diinginkan oleh pengguna.
Gambar 3.8. Rancangan GUI web server
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
2. STOP
Tombol STOP berfungsi untuk menghentikan streaming ruangan yang sedang
dilakukan oleh pengguna.
3. Lakukan pemadaman
Tombol lakukan pemadaman berfungsi untuk memadamkan api apabila api
terdeteksi pada salah satu ruangan atau lebih.
Gambar 3.9. Diagram alir streaming ruangan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Gambar 3.10. Diagram alir hasil tangkapan asap pada kamera
Gambar 3.11. Diagram alir hasil tangkapan api pada kamera
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3.4.4. Pemrosesan Citra
Webcam sebagai sensor pendeteksi api dan asap harus dapat mendeteksi suatu objek
sebagai citra api atau citra asap. Pemrosesan citra dilakukan secara real time dengan sistem
streaming pada Raspberry maupun web server dengan menggunakan database gambar
berupa hasil dari pelatihan sampel sebagai perbandingannya. Tahap pemrosesan citra terbagi
menjadi 2, yaitu tahap preprocessing dan tahap processing.
3.4.4.1. Preprocessing
Preprocessing adalah tahap untuk mengubah background citra hasil tangkapan
kamera. Sampel yang telah dilatih melalui aplikasi cascade trainer GUI akan dimasukkan
pada program pendeteksian sebagai perbandingan dari citra yang akan di tangkap oleh
kamera. Background Citra hasil tangkapan kamera pertama akan diubah menjadi citra gray
untuk mempermudah hasil keluaran dari matriks penyusun agar dapat dibandingkan dengan
matriks penyusun dari sampel hasil dari pelatihan. Diagram alir preprocessing dapat dilihat
pada gambar 3.12.
3.4.4.2. Processing
Processing adalah tahap yang akan dilakukan setelah tahap preprocessing.
Processing merupakan proses utama yang akan dijalankan sebagai sistem pendeteksi api dan
asap yang utama. Semakin baik pembuatan tahap processing, makan semakin baik juga
sistem dapat dengan mudah dan cepat mendeteksi api dan asap. Dalam tahap processing
terdiri dari beberapa langkah lanjutan dari tahap preprocessing yang memproses nilai
matriks yang ada pada tangkapan citra kamera. Secara garis besar, pemrosesan tangkapan
citra kamera ini menggunakan tresholding atau perbandingan nilai penyusun matriks
threshold dari sampel yang telah dilatih dengan matriks dari hasil tangkapan kamera
sehingga dapat diketahui apabila objek pada kamera terdapat ada api atau asap. Setelah api
telah terdeteksi oleh sistem maka citra api akan diberi identifkasi secara jelas dengan
memberikan kotak merah berdasarkan region of interest dari api tersebut. Diagram alir
Gambar 3.12. Diagram alir preprocessing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
processing dapat dilihat pada gambar 3.13. Secara garis besar, tahap processing adalah cara
kerja dari program algoritma haar cascade.
Gambar 3.13. Diagram alir processing
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
BAB IV
HASIL DAN PEMBAHASAN
Bab ini akan membahas mengenai hasil pengamatan dari pengenalan citra api
berdasarkan dari sistem pemadaman yang telah dibuat. Hasil pengamatan berupa pengujian
keberhasilan pendeteksian citra api oleh kamera. Pada bab ini akan dibahas mengenai
perubahan antara rancangan alat dan implementasi alat.
4.1. Perubahan Rancangan
Perubahan rancangan yang terjadi pada bab pengujian ini terbagi menjadi tiga yaitu
perubahan desain ruangan, tampilan web server, dan penambahan sensor asap.
4.1.1. Desain Ruangan
Pembuatan perangkat keras pada penelitian ini mengalami perubahan dengan
menghilangkan pembuatan miniatur ruangan sebagai alat penguji coba, melainkan dengan
menggunakan ruangan asli. Selain itu, peletakkan kamera dan pemasangan pipa pada sistem
pemadam akan disesuaikan dengan tidak memperhatikan skala asli pada sistem pemadam
sungguhan.
Kamera akan diletakkan di masing – masing ruangan dengan penempatan kamera
pada ketinggian 155 cm dari tinggi ruangan dan penempatan sensor asap berada di bawah
kamera serta pemasangan pipa pada ketinggian 110 cm dari tinggi ruangan. Pemasangan
disimulasikan dengan 2 ruangan yaitu ruang tidur dan ruang tengah atau ruang tamu, masing
– masing ruangan akan memiliki intensitas cahaya yang berbeda baik pada malam hari
maupun siang hari.
Perubahan ini dilakukan karena dianggap lebih mudah dan lebih nyata dalam
simulasi ruangan asli sehingga data yang di dapat akan lebih akurat meskipun sistem
pemadaman tidak akan mencerminkan simulasi ruangan asli. Perubahan kondisi ruangan
dapat dilihat pada gambar 4.1.
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
4.1.2. Tampilan Web Server
Pada proses pembuatan web server mengalami perububahan seperti penghilangan
tombol STOP pada streaming ruangan dan perubahan layout atau tampilan web server secara
keseluruhan.
Tampilan web server mengalami penambahan fitur yaitu tombol pemadaman di
kedua ruangan, tampilan api dan asap yang berbeda di kedua ruangan, serta tampilan pesan
peringatan apabila terdeteksi api atau asap di salah satu ruangan. Perubahan ini dilakukan
agar tampilan web server tidak membingungkan pengguna serta dapat menampilkan lebih
banyak informasi terkait ruangan yang di monitoring. Contoh tampilan web server dapat
dilihat pada gambar 4.2. Web server didesain menggunakan beberapa library pada Python
seperti jinja sehingga bisa diimplementasikan secara langsung dan bersamaan dengan
program utama. Penggunaan library jinja dipilih sebagai pemrogaman web server karena
cukup mudah dalam mengatur layout halaman dari web server dan menggunakan bahasa
pemrograman yang sama dengan program utama.
Gambar 4.1. Perubahan rancangan ruangan
a. Sambungan pipa dari pompa air yang menuju ruang tengah dan ruang
tidur.
b. Pipa pemadaman pada ruang tengah.
c. Pipa pemadaman pada ruang tidur.
(a) (b) (c)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
4.1.3. Sensor Asap
Penambahan sensor asap pada penelitian ini disebabkan oleh tidak mampunya
algoritma haar cascade classifier dalam memilah sampel asap dan juga sampel bukan asap
yang membuat pendeteksian sensor asap menggunakan kamera mendeteksi variabel –
variabel lain diluar asap. Selain itu, penggunaan fitur pendeteksian RGB pada OpenCV tidak
mampu juga membedakan variabel asap dan background hasil substraksi.
4.2. Hasil Implementasi
Bagian ini akan membahas mengenai perangkat keras dan perangkat lunak yang telah
diimplemententasikan secara penuh pada sistem pemadam. Perangkat keras berupa
penempatan webcam, sensor asap, power supply, raspberry pi, relay, pompa air serta
pemasangan pipa dan solenoid valve, sedangkan untuk perangkat lunak berupa penjelasan
mengenai program dan hasilnya.
4.2.1. Implementasi Perangkat Keras
Hasil dari pembuatan rangkaian penempatan kamera, sensor asap dan solenoid valve
dapat dilihat pada gambar 4.3 dan 4.4 Pada kedua gambar tersebut, kamera ditandai dengan
kotak berwarna merah, sensor asap berwarna kuning dan solenoid valve berwarna biru. Jika
ruangan kamar tidur terdeteksi adanya api, maka katup pada solenoid valve kamar tidur akan
Gambar 4.2. Tampilan home pada web server
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
terbuka sedangkan solenoid valve ruangan tengah akan tetap tertutup sehingga air akan
mengalir pada nozzle ruangan tidur saja. Selain itu, penempatan perangkat keras sistem
utama dapat dilihat pada gambar 4.5.
Keterangan :
Nomor 1 = Kamera
Nomor 2 = Sensor asap
Nomor 3 = Solenoid Valve
Gambar 4.3. Penempatan rangkaian pada ruangan tengah
Gambar 4.4. Penempatan rangkaian pada ruangan kamar tidur
1
2
3
1
2
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Keterangan :
Nomor 1 = Catu Daya 12V
Nomor 2 = Pompa Air 12V
Nomor 3 = Relay
Nomor 4 = Raspberry Pi
Nomor 5 = ADC MCP3008
GPIO PIN pada Raspberry Pi terkoneksi pada relay, sensor asap, ADC MCP3008
yang berfungsi sebagai pemberi daya dan perintah bagi hardware tersebut. Catu daya 12V
berfungsi sebagai pemberi daya bagi pompa air dan solenoid valve yang terkoneksi pada
relay sehingga relay dapat mengatur waktu pompa air harus menyala dan waktu bagi
solenoid valve untuk terbuka atau tertutup. ADC berfungsi sebagai pengubah sinyal analog
dari sensor asap ke digital sehingga Raspberry dapat mengatur dan mengamati bagaimana
sensor asap bekerja.
Gambar 4.5. Penempatan rangkaian sistem utama
1
3
2
4
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
4.2.2. Cara Kerja Sistem
Proses kerja sistem diawali dengan menjalankan script server yang menginisialisasi
sistem secara keseluruhan dan selanjutnya proses kerja sistem akan diatur oleh web server
yang telah dibuat sebelumnya. Proses monitoring dengan sensor asap akan langsung berjalan
sesaat ketika script server dijalankan, namun monitoring kamera akan baru berjalan ketika
tombol monitoring di salah satu ruangan pada web server di tekan. Contoh monitoring pada
ruangan tengah dapat dilihat pada gambar 4.6.
Sistem pendeteksian api oleh kamera akan terus berjalan sampai pada salah satu
ruangan terdeteksi adanya api dan sistem pemadam akan berjalan pada ruangan yang
terdeteksi api serta web server akan menampilkan pesan peringatan, namun tidak dengan
sensor asap. Sensor asap akan terus berjalan meskipun sensor mendeteksi adanya asap dan
sistem pemadam tidak akan berjalan sampai ada api yang terdeteksi, akan tetapi web server
tetap menampilkan pesan peringatan adanya asap pada salah satu ruangan. Contoh ruangan
yang terdeteksi dapat dilihat pada gambar 4.7.
Gambar 4.6. Monitoring ruangan tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Sistem pemadam berjalan dengan menyalakan pompa melalui relay sehingga air
akan mengalir dan solenoid valve akan mengalirkan air ke salah satu ruangan yang terdeteksi
adanya api.
4.3. Pengujian Sistem
Secara garis besar, pengujian terbagi menjadi 5 bagian yaitu pengujian pendeteksian
api, pendeteksian asap, pengujian web server, pengujian bot telegram, dan pengujian sistem
pemadam. Pengujian pendeteksian api dilakukan dengan menggunakan variabel jarak dari
titik buta kamera, citra api, dan intensitas cahaya dengan menggunakan satuan lux. Jarak
dari titik buta kamera menggunakan tegel sebagai acuan meternya. Sementara untuk data
yang diambil adalah maksimum jarak sistem dapat mendeteksi, waktu sistem dalam
mendeteksi, jumlah rata–rata piksel yang terdeteksi, dan piksel api yang sesungguhnya.
Selain itu data yang diambil adalah tingkat keberhasilan aktuator dalam menjalankan
fungsinya sebagai sistem pemadam apabila ada api yang terdeteksi ataupun tidak terdeteksi
Pengujian pendeteksian asap dilakukan dengan mengamati nilai ADC, kepekatan
asap, tegangan sensor dan durasi pendeteksian. Namun sebelum itu, dilakukan terlebih
Gambar 4.7. Tampilan web server ruangan tengah terdeteksi api
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
dahulu pengujian pembacaan nilai ADC untuk mengetahui kemampuan pembacaan ADC
agar dapat diketahui ketepatan nilai pembacaan dari ADC.
4.3.1. Pelatihan Sampel Data Haar Cascade
Sebelum dilakukan pengujian sistem pendeteksian api, perlu dilakukan pelatihan
sampel citra api untuk mendapatkan data yang dapat digunakan sebagai perbandingan citra
api palsu dan juga citra api asli berbentuk program. Sampling dilakukan menggunakan
algoritma Haar Cascade Classifier melalui Haar Cascade Trainer GUI. Hal pertama yang
dilakukan adalah mengumpulkan data gambar beserta video citra api atau gambar positif
yang dapat dilihat pada gambar 4.8 dan gambar beserta video yang bukan citra api atau
gambar negatif yang dapat dilihat pada gambar 4.9. Pengambilan sampel gambar dilakukan
2 kali yaitu secara mandiri dengan mengambil gambar citra api dan gambar yang bukan citra
api, selain itu ada beberapa gambar yang lainnya yang diambil melalui internet untuk
memperbanyak data sehingga pendeteksian yang didapat lebih akurat.
Gambar 4.8. Gambar positif untuk pelatihan sampel
[31] [32] [33] [34]
[35] [36] [37] [38]
[39] [40] [41] [42]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Setelah dilakukan pengumpulan gambar negatif dan gambar positif, hal yang
dilakukan selanjutnya adalah proses pelatihan sampel. Proses dilakukan dengan
memasukkan data positif dan negatif ke aplikasi Haar Cascade Trainer GUI dan aplikasi ini
akan melakukan pelatihan sampel data positif dan negatif. Setelah proses pelatihan sampel
berhasil maka hasil pelatihan sampel tersebut akan disimpan dalam algoritma program yang
digunakan sebagai pendeteksian pada sistem ini, penggalan matriks hasi dari program
algoritma tersebut dapat dilihat pada lampiran halaman 42 sampai halaman 53. Sebagai
catatan, penomoran pada setiap gambar mengacu pada nomor pada daftar pustaka.
4.3.2. Pengujian Sistem Pendeteksian Api
Pengujian pendeteksian api dilakukan pada 2 kondisi ruangan yang berbeda
berdasarkan intensitas cahaya yaitu pada siang hari dan malam hari. Sebelum dilakukan
pengujian pada sistem pendeteksian api, sistem akan diperiksa terlebih dahulu apakah sudah
mengenal citra api dengan baik atau belum. Pengujian pengenalan citra api menggunakan
contoh fake fire berupa beberapa foto api dan kertas berwarna merah yang dapat dilihat pada
gambar 4.10 hingga gambar 4.13, sementara contoh pengujian yang berhasil dapat dilihat
pada gambar 4.14.
Gambar 4.9. Gambar negative untuk pelatihan sampel
[43] [44] [45] [46]
[47]
[51] [52] [53] [54]
[55] [56] [57] [58]
[48] [49] [50]
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Gambar 4.11. fake fire foto api 1
Gambar 4.12. fake fire foto api 2
Gambar 4.10. fake fire kertas berwarna merah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Setelah pengujian fake fire telah berhasil maka akan dilanjutkan dengan ujicoba citra
api sesungguhnya. Variabel jarak menggunakan satuan meter dan data waktu pendeteksian
menggunakan satuan detik serta total piksel yang terdeteksi menggunakan perhitungan
piksel horizontal dikali dengan piksel vertikal dan total piksel api yang sesungguhnya
merupakan total piksel api secara presisi pada tangkapan kamera yang dapat dilihat pada
tabel 4.1 sebagai contohnya.
Gambar 4.13. fake fire foto api 3
Gambar 4.14. Sistem berhasil mendeteksi api
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Setelah diketahui semua piksel tangkapan kamera yang diinginkan, maka tahap
selanjutnya adalah menghitung ketepatan pendeteksian titik api sistem dalam mendeteksi
citra api pada tangkapan kamera. Tahap pertama yang dilakukan dalam mencari data
ketepatan pendeteksian titik api adalah mengetahui dan menentukan data yang akan
digunakan berupa nilai true positive, true negative, false positive dan false negative. data
tersebut dapat tabel 4.1 berikut ini.
TRUE FALSE
TRUE
TP
(True Positive)
Total piksel api
sesungguhnya
FP
(False Positive)
Total piksel yang terdeteksi
tapi bukan api
FALSE
FN
(False Negative)
Total piksel yang tidak
terdeteksi
TN
(True Negative)
Total piksel pada gambar yang
tidak terdeteksi sebagai api
Nilai total piksel yang tidak terdeteksi atau FN adalah dari total piksel seluruhnya
pada tangkapan kamera yaitu 640 x 480 atau 307.200 dikurangi dengan total piksel yang
terdeteksi tapi bukan api atau FP yang ditambahkan dengan total api sesungguhnya atau TP
sedangkan TN adalah total piksel tangkapan kamera dikurangi dengan TP. Setelah diketahui
data yang digunakan untuk mencari nilai ketepatan pendeteksian titik api, maka selanjutnya
adalah memulai perhitungan yang menggunakan persamaan 4.1 yang berdasarkan pada
persamaan presisi 2.6 pada bab dasar teori. Untuk ilustrasi pengklasifikasian data piksel
dapat dilihat pada gambar 4.15.
𝐾𝑒𝑡𝑒𝑝𝑎𝑡𝑎𝑛 𝑝𝑒𝑛𝑑𝑒𝑡𝑒𝑘𝑠𝑖𝑎𝑛 𝑡𝑖𝑡𝑖𝑘 𝑎𝑝𝑖 = 𝑇𝑃
𝑇𝑃 + 𝐹𝑃 𝑥 100%
Tabel 4.1. Pengklasifikasian data piksel
(4.1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Data TP ditandai dengan kotak berwarna biru, data FP ditandai dengan kotak
berwarna merah, data FN ditandai dengan kotak berwarna kuning dan data TN ditandai
dengan rentang kotak berwarna hijau.
Setelah semua persiapan pengujian dilakukan maka selanjutnya adalah melakukan
pengujian dengan menggunakan variabel jarak sebagai acuannya. Kotak menggambarkan
tegel yang berukuran 40x40 cm dengan total panjang ruangan pada ruang tengah adalah 4
meter dan total lebar ruangan 2,8 meter, sementara ruang tidur panjang ruangan 3 meter dan
lebar ruangan 2,8 meter. Untuk ilustrasi pengujian dapat dilihat pada gambar 4.16 dan 4.17.
Gambar 4.15. Ilustrasi pengklasifikasian data piksel
Gambar 4.16. Ilustrasi pengujian pendeteksian titik api pada ruangan tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Keterangan :
Blok biru : Titik kamera
Blok abu-abu : Titik buta kamera
Blok merah : Titik lampu
Blok kuning : Pintu (sumber cahaya siang hari
Pengujian pada ruang tengah dilakukan dengan memindahkan titik api pada jarak mulai dari
x = 160 cm dan y = 160 cm hingga x = 160 cm dan y = 400 cm, sementara pengujian pada
ruang tidur dilakukan pada jarak mulai dari x = 160 cm dan y = 100 cm hingga x = 160 cm
dan y = 300 cm.
4.3.1.1. Pengujian Sistem Pendeteksian Api pada Ruang Tengah
Pengujian pertama dilakukan di ruang tengah pada kondisi malam hari dengan
intensitas cahaya 24 lux menggunakan citra api pada lilin dan api pada korek gas. Pengujian
citra api pada lilin dengan intensitas cahaya 24 lux di ruang tengah dapat dilihat pada tabel
4.2 dan presentase ketepatan pendeteksian titik api citra api lilin dapat dilihat pada tabel 4.3,
sementara pengujian citra api pada korek gas dapat dilihat pada tabel 4.4 dan presentase
ketepatan pendeteksian titik api korek gas dapat dilihat pada tabel 4.5. Pendeteksian data
Gambar 4.17. Ilustrasi pengujian pendeteksian titik api pada ruangan tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
waktu pendeteksian bertujuan untuk mengetahui kecepatan pendeteksian atau mencari data
pertama ketika sistem pertama kali berjalan. Solenoid 1 merupakan solenoid valve pada
ruang tengah, sementara solenoid 2 merupakan solenoid valve pada ruang tidur.
Citra
Api
Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa air Solenoid 1 Solenoid 2
Lilin
1,6 Ya 0,53 ON ON OFF
2 Ya 1,32 ON ON OFF
2,4 Ya 1,85 ON ON OFF
2,8 Ya 3,41 ON ON OFF
3.2 Ya 5,17 ON ON OFF
3,6 Ya 11,56 ON ON OFF
4 Tidak Tidak terdeteksi OFF OFF OFF
Jarak
(meter)
Total Piksel
yang Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1,6 870 320 320
(870 − 320) + 320𝑥 100% 36,78%
2 812 300 312
(812 − 312) + 312𝑥 100% 36,95%
2,4 2.025 374 374
(2025 − 374) + 374𝑥 100% 18,47%
2,8 2.496 304 304
2496 − 304) + 304𝑥 100% 12,18%
3,2 900 324 324
(900 − 324) + 324𝑥 100% 36,00%
3,6 812 324 324
(812 − 324) + 324𝑥 100% 39,91%
Tabel 4.2. Pengujian citra api lilin dengan intensitas cahaya 24 lux di ruang tengah
Tabel 4.3. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 24 lux
dengan jarak di ruang tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Citra
Api
Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Korek
gas
1.6 Ya 0,41 ON ON OFF
2 Ya 1,33 ON ON OFF
2,4 Ya 2,23 ON ON OFF
2,8 Ya 8,58 ON ON OFF
3.2 Ya 12,43 ON ON OFF
3,6 Ya 10,31 ON ON OFF
4 Tidak Tidak terdeteksi OFF OFF OFF
Jarak
(meter)
Total Piksel
yang Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1,6 810 396 396
(810 − 396) + 396𝑥 100% 48,89%
2 600 324 324
(600 − 324) + 324𝑥 100% 54,00%
2,4 1.088 360 360
(1088 − 360) + 360𝑥 100% 33,09%
2,8 702 323 323
702 − 323) + 323𝑥 100% 46,01%
3,2 600 342 342
(600 − 342) + 342𝑥 100% 57,00%
3,6 672 324 324
(672 − 324) + 324𝑥 100% 48,21%
Tabel 4.4. Pengujian citra api korek gas dengan intensitas cahaya 24 lux di ruang tengah
Tabel 4.5. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 24 lux dengan
jarak di ruang tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Hipotesis pengujian pertama adalah jarak 1,6 meter dari titik buta kamera adalah
titik tercepat kamera dalam mendeteksi titik api dan jarak 3,6 meter adalah jarak maksimal
kamera dalam mendeteksi api, sementara jarak 3,2 meter adalah titik terbaik sistem dalam
ketepatan pendeteksian titik api. Pada intensitas cahaya 24 lux di ruang tengah, presentase
keberhasilan aksi aktuator adalah 100%.
Selanjutnya pengujian kedua dilakukan pada siang hari dengan intensitas cahaya 8 –
14 lux, rentang intensitas cahaya terjadi karena pada siang hari sering terjadi perubahan
cuaca. Intensitas cahaya 8 lux terjadi saat cuaca sedang berawan sedangkan 14 lux terjadi
apabila cuaca sedang cerah. Pengujian citra api lilin dengan intensitas cahaya 8 – 14 lux di
ruang tengah dapat dilihat pada tabel 4.6 dan dan presentase ketepatan pendeteksian titik api
citra api lilin dapat dilihat pada tabel 4.7, sementara untuk citra api pada korek gas dapat
dilihat pada tabel 4.8 dan dan presentase ketepatan pendeteksian titik api citra api korek gas
dapat dilihat pada tabel 4.9.
Citra Api Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Lilin
1.6 Ya 0,78 ON ON OFF
2 Ya 3,41 ON ON OFF
2,4 Ya 8.53 ON ON OFF
2,8 Tidak Tidak terdeteksi OFF OFF OFF
3.2 Tidak Tidak terdeteksi OFF OFF OFF
3,6 Tidak Tidak terdeteksi OFF OFF OFF
4 Tidak Tidak terdeteksi OFF OFF OFF
Tabel 4.6. Pengujian citra api lilin dengan intensitas cahaya 8-14 lux dengan jarak di ruang tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
Jarak
(meter)
Total Piksel yang
Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1,6 2.809 361 361
(2809 − 361) + 361𝑥 100% 12,85%
2 1.638 380 380
(1638 − 380) + 380𝑥 100% 23,20%
2,4 650 399 399
(650 − 399) + 399𝑥 100% 61,38%
Citra Api Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Korek gas
1.6 Ya 1,82 ON ON OFF
2 Ya 2,44 ON ON OFF
2,4 Ya 8,83 ON ON OFF
2,8 Ya 13,79 ON ON OFF
3.2 Tidak Tidak terdeteksi OFF OFF OFF
3,6 Tidak Tidak terdeteksi OFF OFF OFF
4 Tidak Tidak terdeteksi OFF OFF OFF
Tabel 4.8. Pengujian citra api korek gas dengan intensitas cahaya 8-14 lux di ruang tengah
Tabel 4.7. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 8-14 lux dengan jarak
di ruang tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Hipotesis pengujian kedua adalah jarak 1,6 meter dari titik buta kamera adalah titik
tercepat kamera dalam mendeteksi titik api dan jarak 2,8 meter adalah jarak maksimal
kamera dalam mendeteksi api, sementara jarak 2,4 meter adalah titik terbaik sistem dalam
ketepatan pendeteksian titik api. Pada intensitas cahaya 8 -14 lux di ruang tengah, presentase
keberhasilan aksi aktuator adalah 100%.
4.3.1.2. Pengujian Sistem Pendeteksian Api pada Ruang Tidur
Pengujian ketiga dilakukan pada ruang tidur di malam hari dengan intensitas cahaya
45 lux, dikarenakan ruangan yang lebih kecil dari ruang tengah maka intensitas cahaya pada
ruang tidur lebih tinggi dari ruang tengah. Pengujian citra api pada lilin dengan intensitas
cahaya 45 lux dapat dilihat pada tabel 4.10 dan presentase ketepatan pendeteksian titik api
citra api lilin dapat dilihat pada tabel 4.11, sementara untuk citra api korek gas dapat dilihat
pada tabel 4.12 dan presentase ketepatan pendeteksian titik api citra korek gas dapat dilihat
pada tabel 4.13. Solenoid 1 merupakan solenoid valve pada ruang tengah, sementara
solenoid 2 merupakan solenoid valve pada ruang tidur.
Jarak
(meter)
Total Piksel
yang Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1,6 1.088 342 342
(1088 − 342) + 342𝑥 100% 31,43%
2 1.221 344 344
(1221 − 344) + 344𝑥 100% 28,17%
2,4 624 323 323
(624 − 323) + 323𝑥 100% 51,76%
2,8 1.156 304 304
1156 − 304) + 304𝑥 100% 26,31%
Tabel 4.9. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 8-14 lux dengan
jarak di ruang tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Jarak
(meter)
Total Piksel
yang Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1 1.023 368 368
(1023 − 368) + 368𝑥 100% 35,97%
1,4 754 400 400
(754 − 400) + 400𝑥 100% 53,05%
1,8 1.520 323 323
(1520 − 323) + 323𝑥 100% 21,25%
2,2 1.482 306 306
1482 − 306) + 306𝑥 100% 20,65%
2,6 870 323 323
(870 − 323) + 323𝑥 100% 37,13%
Citra
Api
Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Lilin
1 Ya 0,56 ON OFF ON
1,4 Ya 0,64 ON OFF ON
1,8 Ya 0,87 ON OFF ON
2,2 Ya 1,54 ON OFF ON
2,6 Ya 1,75 ON OFF ON
3 Tidak Tidak terdeteksi OFF OFF OFF
Tabel 4.10. Pengujian citra api lilin dengan intensitas cahaya 45 lux di ruang tidur
Tabel 4.11. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 45 lux dengan jarak di
ruang tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Jarak
(meter)
Total Piksel
yang Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1 3.720 620 620
(3720 − 620) + 620𝑥 100% 16,67%
1,4 2.256 576 576
(2256 − 576) + 576𝑥 100% 25,53%
1,8 1.155 368 368
(1155 − 368) + 368𝑥 100% 31,86%
2,2 1.404 418 418
1404 − 418) + 418𝑥 100% 29,77%
2,6 992 330 330
(992 − 330) + 330𝑥 100% 33,27%
Hipotesis pengujian ketiga adalah jarak 1 meter dari titik buta kamera adalah titik
tercepat kamera dalam mendeteksi titik api dan jarak 2,6 meter adalah jarak maksimal
kamera dalam mendeteksi api, sementara jarak 1,4 meter adalah titik terbaik sistem dalam
ketepatan pendeteksian titik api. Pada intensitas cahaya 45 lux di ruang tidur, presentase
keberhasilan aksi aktuator adalah 100%.
Pengujian terakhir dilakukan pada ruang tidur di siang hari dengan intensitas cahaya
8-12 lux, maksimal intensitas cahaya di kamar tidur hanya 12 lux karena cahaya yang masuk
Citra Api Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Korek
gas
1 Ya 0,85 ON OFF ON
1,4 Ya 1,47 ON OFF ON
1,8 Ya 5,94 ON OFF ON
2,2 Ya 8,43 ON OFF ON
2,6 Ya 10,58 ON OFF ON
3 Tidak Tidak terdeteksi OFF OFF OFF
Tabel 4.13. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 45 lux dengan jarak di ruang tidur
Tabel 4.12. Pengujian citra api korek gas dengan intensitas cahaya 45 lux di ruang tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
di ruang tidur tidak sebanyak di ruang tengah. Pengujian citra api pada lilin dengan intensitas
cahaya 8–12 lux dapat dilihat pada tabel 4.14 dan presentase ketepatan pendeteksian titik api
citra api lilin dapat dilihat pada tabel 4.15, sementara untuk citra api korek gas dapat dilihat
pada tabel 4.16 dan presentase ketepatan pendeteksian titik api citra api lilin dapat dilihat
pada tabel 4.17.
Jarak
(meter)
Total Piksel yang
Terdeteksi
Total Piksel Api
Sesungguhnya Perhitungan untuk data ketepatan
Ketepatan
pendeteksian titik
api
1 3.720 990 990
(3720 − 990) + 990𝑥 100% 26,61%
1,4 3.363 594 594
(3363 − 594) + 594𝑥 100% 17,66%
1,8 4.096 1.218 1218
(4096 − 1218) + 1218𝑥 100% 29,74%
2,2 2.860 580 580
2860 − 580) + 580𝑥 100% 20,28%
2,6 812 323 323
(812 − 323) + 323𝑥 100% 39,78%
Citra Api Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Lilin
1 Ya 0,67 ON OFF ON
1,4 Ya 2,85 ON OFF ON
1,8 Ya 3,43 ON OFF ON
2,2 Ya 10,56 ON OFF ON
2,6 Ya 24,83 ON OFF ON
3 Tidak Tidak terdeteksi OFF OFF OFF
Tabel 4.15. Ketepatan pendeteksian titik api citra api lilin intensitas cahaya 8-12 lux dengan jarak di
ruang tidur
Tabel 4.14. Pengujian citra api lilin dengan intensitas cahaya 8-12 lux di ruang tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
Hipotesis pengujian terakhir adalah jarak 1 meter dari titik buta kamera adalah titik
tercepat kamera dalam mendeteksi titik api dan jarak 2,6 meter adalah jarak maksimal
kamera dalam mendeteksi api, sementara jarak 2,6 meter adalah titik terbaik sistem dalam
Citra Api Jarak
(meter) Terdeteksi
Waktu
Pendeteksian
(detik)
Aksi Aktuator
Pompa Air Solenoid 1 Solenoid 2
Korek gas
1 Ya 0,57 ON OFF ON
1,4 Ya 0,89 ON OFF ON
1,8 Ya 1,42 ON OFF ON
2,2 Ya 2,45 ON OFF ON
2,6 Ya 3,61 ON OFF ON
3 Tidak Tidak terdeteksi OFF OFF OFF
Jarak
(meter)
Total Piksel yang
Terdeteksi
Total Piksel Api
Sesungguhnya
Perhitungan untuk data
ketepatan
Ketepatan
pendeteksian titik
api
1 3.720 990 990
(3720 − 990) + 990𝑥 100% 26,61%
1,4 3.363 594 594
(3363 − 594) + 594𝑥 100% 17,66%
1,8 961 460 460
(961 − 460) + 460𝑥 100% 47,87%
2,2 1.482 529 529
1482 − 529) + 529𝑥 100% 35,69%
2,6 900 483 483
(900 − 483) + 483𝑥 100% 53,67%
Tabel 4.16. Pengujian citra api korek gas dengan intensitas cahaya 8-12 lux di ruang tidur
Tabel 4.17. Ketepatan pendeteksian titik api citra api korek gas intensitas cahaya 8-12 lux dengan
jarak di ruang tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
ketepatan pendeteksian titik api. Pada intensitas cahaya 8-12 lux di ruang tidur, presentase
keberhasilan aksi aktuator adalah 100%.
Setelah dilakukan pengujian di empat kondisi ruangan dan pencahayaan yang
berbeda, dapat dianalisa bahwa semakin dekat titik api dengan pemantauan kamera maka
semakin cepat api terdeteksi. Tingkat keberhasilan aksi aktuator dalam menjalankan
fungsinya berdasarkan sistem pendeteksian adalah 100%, dengan kata lain aktuator tidak
pernah mengalami malfungsi dalam menjalankan tugasnya. Kesimpulan dari tabel waktu
pendeteksian pada ruangan tengah dapat dilihat pada kurva gambar 4.18 dan ruangan tidur
pada kurva 4.19 berikut ini.
0
2
4
6
8
10
12
1,6 meter 2 meter 2,4 meter 2,8 meter 3,2 meter 3,6 meter
Rata-rata waktu pendeteksian ruangan tengah (detik)
Rata-rata waktu pendeteksian ruangan tengah
0
2
4
6
8
10
12
1 meter 1,4 meter 1,8 meter 2,2 meter 2,6 meter
Rata-rata waktu pendeteksian ruangan tidur (detik)
Rata-rata waktu pendeteksian ruangan tidur
Gambar 4.18. Kurva rata-rata waktu pendeteksian ruangan tengah
Gambar 4.19. Kurva rata-rata waktu pendeteksian ruangan tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Selain itu, dari total 4 percobaan dari masing-masing ruangan berdasarkan citra api
dan intesitas cahanya, maka dapat diambil rata-rata nilai presentase keberhasilan
terdeteksinya api pada setiap jarak. Nilai presentase tersebut dapat dilihat pada tabel 4.18
untuk ruangan tengah dan tabel 4.19 untuk ruangan tidur berikut ini.
Jarak
Presentase
keberhasilan api
terdeteksi
1 100%
1,4 100%
1,8 100%
2,2 100%
2,6 100%
Rata-rata nilai presentase tingkat keberhasilan terdeteksinya api melalui 4 percobaan
pada ruangan tengah adalah 79% sementara pada ruangan tidur mencapai 100% tanpa
adanya kesalahan. Dapat disimpulkan bahwa presentasi keberhasilan semakin menurun
apabila titik api semakin jauh dari pemantauan kamera.
Faktor yang mempengaruhi baiknya sistem bekerja adalah faktor cahaya, luas
ruangan, bentuk citra api, spesifikasi kamera dan spesifikasi Raspberry. Cahaya yang masuk
langsung dari satu sumber dan menyorot kamera secara langsung dapat menganggu
Jarak
Presentase
keberhasilan api
terdeteksi
1,6 100%
2 100%
2,4 100%
2,8 75%
3,2 50%
3,6 50%
Tabel 4.18. Presentase keberhasilan api terdeteksi pada ruangan tengah
Tabel 4.19. Presentase keberhasilan api terdeteksi pada ruangan tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
pendeteksian kamera dan pembiasan cahaya matahari atau lampu ke tegel ruangan dapat
menimbulkan fake fire serta apabila sumber api terlalu dekat ke tembok ruangan juga tidak
bisa secara cepat di identifikasikan sebagai api. Ruangan yang terlalu luas juga dapat
mempengaruhi waktu pendeteksian kamera dan bentuk citra api yang bergerak secara
konstan akan lebih cepat di deteksi sebagai citra api yang diujikan sebagai korek gas pada
penelitian ini. Spesifikasi kamera dan Raspberry juga sangat berpengaruh terhadap akurasi
dari sistem ini bekerja, semakin tinggi spesifikasi kamera dan Raspberry maka gambar yang
tangkap akan lebih cepat, akurat, dan ketepatan pendeteksian titik api.
4.3.2. Pengujian Sistem Pendeteksian Asap
Pada tahap pengujian ini akan dilakukan pendeteksian asap berdasarkan variabel
jarak dan beberapa pembakaran metaerial serta data yang diambil berupa nilai waktu
pendeteksian di setiap interval jaraknya serta nilai tegangan sensor apabila mendeteksi asap.
Selain itu ADC akan terlebih dahulu diuji untuk mengetahui kemampuan pembacaan ADC
multichannel MCP3008.
4.3.2.1. Pengujian Pembacaann Nilai ADC
Pengujian ini dilakukan dengan menggunakan potensiometer yang diberi tegangan
5V dari Raspberry Pi untuk mengetahui respon channel ADC MCP3008. ADC yang
digunakan adalah MCP3008 yang mempunyai resolusi 10 bit (1024) yang diberi 2 buah
potensiometer untuk dihubungkan ke CH0 dan CH1 pada ADC. CH1 akan diberi tegangan
3V dengan tujuan untuk mengetahui kestablian nilai ADC yang diperoleh dan CH0 akan
diberi tegangan linier 0-3V dengan interval perubahan 500mV. Nilai tegangan ADC yang
terbaca juga akan dibandingkan dengan nilai ADC hasil perhitungan yang dapat dilihat pada
persamaan 2.3 dan V terbaca akan dibandingkan dengan nilai Vin yang dapat dilihat pada
persamaan 2.4 pada bab dasar teori. Pengujian dilakukan ketika seluruh rangkaian belum
tersambung sehingga tidak ada resistansi yang akan mengurangi nilai asli dari ADC.
Pembacaan nilai ADC pada Raspberry memerlukan beberapa perintah program yang
akan dilaksanakan untuk menerjemahkan nilai analog ke nilai digital sehingga dapat terbaca
oleh Raspberry yang dapat dilihat pada gambar 4.20 berikut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Setelah dilakukan pembuatan listing program berdasarkan perintah–perintah
penerjemah nilai analog ke digital, maka selanjutnya adalah pengujian yang membandingkan
nilai ADC dari CH0 dan CH1 yang dapat dilihat pada tabel 4.20 dan 4.21.
No Vin (V) V Terbaca (V) ADC ADC Perhitungan Galat
1 0 0,10 0 0 0%
2 0,5 0,51 104 102 1,96%
3 1 1,02 206 205 0.49%
4 1,5 1,49 306 307 0,33%
5 2 2,01 408 410 0,49%
6 2,5 2,5 511 512 0,19%
7 3 2,98 613 614 0,16%
Gambar 4.20. Perintah penerjemah nilai analog ke digital
Tabel 4.20. Hasil pembacaan nilai ADC CH0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
No Vin (V) V Terbaca (V) ADC ADC Perhitungan Galat
1
3
3,01 613 614 0,001%
2 3,02 613 614 0,001%
3 3 612 614 0,001%
4 3 613 614 0,001%
5 2,99 612 614 0,001%
6 3 613 614 0,001%
7 3,01 613 614 0,001%
Setelah dilakukan pengujian tingkat keakurasian ADC berdasarkan perbandingan
nilai galat errornya maka dapat disimpulkan bahwa tingkat akurasi ADC MCP3008 sangat
baik karena tingkat galatnya ± 2%. Selain itu dengan pengujian lebih dari 1 channel
diketahui bahwa tidak ada interfensi antar channel sehingga memungkinkan untuk
menggunakan seluruh channel dalam satu waktu sehingga proses pengujian sensor MQ7
dapat segera dilakukan dengan menggunakan 2 channel secara bersamaan dan nilai ADC
yang diperoleh stabil
4.3.2.2. Pengujian Sensor MQ7
Tahap selanjutnya adalah pengujian sensor MQ7 terhadap gas hasil pembakaran
beberapa material yang digunakan sebagai acuan dalam mengetahui sensitifitas dan
efektifitas dari sensor MQ7. Pengujian sensor MQ7 dilakukan 2 kali yaitu dilakukan setelah
semua rangkaian telah terpasang dengan PCB dan sebelum rangkaian terpasang dengan
hanya pengkabelan raspberry dengan protoboard saja. Parameter pengujian dilakukan
dengan menggunakan beberapa pembakaran material berupa asap kertas, plastik, rokok dan
styrofoam. Selain itu, pengujian dilakukan dengan mengambil data dari kepekatan asap dan
tegangan sensor dari pendeteksian. Nilai kepekatan asap dan tegangan memiliki perhitungan
pada listing program yang dapat dilihat pada gambar 4.21. berikut.
Tabel 4.21. Hasil pembacaan nilai ADC CH1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Hasil pengujian sebelum rangkaian terpasang dapat dilihat pada tabel 4.22. dan tabel
4.23 setelah rangkaian terpasang, sementara untuk perbandingan galat error di kedua
pengujian dapat dilihat pada tabel 4.30 yang menggunakan nilai tegangan sebagai
perbandingannya.
No Material ADC Tegangan (V) Kepekatan Asap
1 Udara bersih 96 0,47 9,38%
2 Asap rokok 897 4,38 87,61%
3 Asap kertas 934 4,56 91,21%
4 Asap plastic 783 3,82 76,46%
5 Asap styrofoam 994 4,85 97,07%
No Material ADC Tegangan (V) Kepekatan Asap
1 Udara bersih 94 0,46 9,18%
2 Asap rokok 655 3,20 63,96%
3 Asap kertas 679 3,32 66,31%
4 Asap plastic 569 2,78 55,57%
5 Asap styrofoam 738 3,67 72,07%
Setelah dilakukan pengujian pada tabel 4.22 dan 4.23 dapat disimpulkan bahwa
pengujian sensor MQ7 memiliki sensitifitas yang berbeda berdasarkan pemasangan
rangkaian. Nilai ADC yang berbeda terpengaruhi oleh resistansi dari kabel yang memiliki
material berbeda dengan sambungan kabel lainnya serta panjang kabel yang membuat nilai
Tabel 4.22. Pengujian MQ7 sebelum rangkaian terpasang penuh
Tabel 4.23. Pengujian MQ7 setelah rangkaian terpasang penuh
Gambar 4.21. Listing program perhitungan tegangan sensor dan asap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
ADC tidak sama setalah pengujian sebelum dan setelah rangkaian terpasang yang
menyebabkan adanya losses senilai ± 1,18 V antara sensor dan rangkaian . Oleh karena itu,
threshold nilai minimal ADC MQ7 untuk mendeteksi asap diturunkan sehingga sistem akan
lebih sensitif dalam mendeteksi asap. Nilai kepekatan asap pun seharusnya memiliki nilai
yang sama berdasarkan nilai ADC nya, namun pada kasus ini nilai kepekatan asap yang
akurat dapat dilihat pada pengujian tabel 4.23. Dapat disimpulkan bahwa asap styrofoam
memiliki tingkat kepekatan, tegangan sensor dan durasi pendeteksian tertinggi dibandingkan
dengan data lainnya. Perhitungan untuk mencari nilai resistansi sensor berdasarkan tingkat
kenaikan ppm dapat dilihat pada persamaan 2.1 dan 2.2 pada dasar teori.
4.3.2. Pengujian Web Server dan Bot Telegram
Pengujian web server dilakukan dengan dengan mengetahui respon web server dalam
menampilkan hasil pendeteksian dan bot telegram dalam mengirim pesan kepada pengguna.
Secara garis besar, pengujian ini akan menampilkan apakah web server sudah dapat
menampilkan pesan peringatan dan hasil pendeteksian, sementara bot telegram sudah dapat
mengirim pesan peringatan kepada pengguna atau belum.
4.3.2.1. Pengujian Web Server
Pengujian pertama dilakukan dengan melakukan pendeteksian kamera dan sensor
asap yang hasilnya akan ditampilkan pada web server. Hasil pendeteksian asap dapat dilihat
pada gambar 4.22.
Gambar 4.22. Hasil pendeteksian sensor asap pada ruangan tengah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Hasil pendeteksian asap tidak dapat menampilkan asap dengan baik karena asap cenderung
hilang lebih cepat dibandingkan kecepatan webcam dalam menangkap citra asap.
Selanjutnya adalah pendeteksian api di kedua ruangan yang dapat dilihat pada gambar 4.23
untuk gambar citra api di ruangan tengah dan gambar 4.24 untuk gambar citra api di ruangan
tidur.
Hasil pendeteksian citra api di kedua ruangan memiliki waktu pendeteksian dan keakurasian
yang cukup baik karena dapat menampilkan citra api yang sesuai dalam tempo waktu kurang
dari 5 detik yang merupakan hasil refresh halaman di setiap 5 detik untuk memastikan
halaman tetap dalam kondisi terkini. Secara garis besar web server telah berhasil dengan
Gambar 4.23. Hasil pendeteksian kamera di ruangan tengah
Gambar 4.24. Hasil pendeteksian kamera di ruangan tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
baik dalam melakukan tugasnya dalam memberikan pesan peringatan dan menampilkan
gambar hasil pendeteksian dengan baik.
4.3.2.2. Pengujian Bot Telegram
Pengujian selanjutnya adalah menampilkan hasil pesan peringatan pada bot telegram
untuk mengetahui hasil pesan peringatan yang dapat dilihat pada gambar 4.25 berikut.
Hasil dari pengujian ini adalah Bot telegram telah mampu mengirimkan hasil pesan
peringatan dalam tempo waktu yang singkat sesaat setelah kamera atau sensor asap
mendeteksi adanya citra api atau asap. Waktu pengiriman pesan ini dipengaruhi oleh koneksi
internet pengirim yaitu Raspberry dan koneksi internet penerima yaitu device smartphone
atau yang lainnya sesuai dengan akun yang terkoneksi.
4.3.3. Pengujian Sistem Pemadam
Sistem pemadam yang dimaksud pada sub bab ini adalah jumlah liter air, pompa air
dan pipa. Pengujian dilakukan dengan mengamati perbandingan masukan tegangan linier
dari 3V hingga tegangan maksimal 11V dengan kecepatan pompa dalam menyalurkan air
yang berjumlah 1 liter ke tempat pembuangan air. Pengujian dilakukan sebanyak tiga kali
dengan menggunakan kondisi yang berbeda yaitu pengujiaan sistem pemadam secara
langsung tanpa pipa, pengujian sistem pemadam terhadap ruangan tengah dan pengujian
sistem pemadam terhadap ruangan tidur.
Sebelum dilakukan pengujian, telah diketahui bahwa tegangan maksimal pompa air
setelah dilakukan pengkabelan tidak mencapai 12V melainkan hanya 11V dengan tekanan
maksimal 5,04 bar/min. Selain itu, perlu dilakukan perhitungan menggunakan perhitungan
Gambar 4.25. Hasil pengiriman pesan peringatan dari bot telegram
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
Hagen-Poiseuille untuk menentukan flow rate sebagai perbandingan disetiap data
pengujiannya yang variabel dengan mengansumsikan nilai viskositas dinamisnya berada
pada suhu ruangan yang cairannya berupa air keran dan nilai diameter pipa penghantar air
sama yaitu 6 mm.
4.3.3.1. Pengujian Sistem Pemadam Langsung
Pengujian sistem pemadam langsung dilakukan dengan memperhatikan variabel
selang dengan total panjang 74 cm. Berikut tabel 4.24 adalah pengambilan data dari
pengujian yang pertama ini.
No Tegangan (V) Tekanan
(BAR)
Flow rate
(L/s)
Waktu Penyimpanan
Air Habis
1 3 1,38 0,68 25 detik
2 4 1,83 0,90 22 detik
3 5 2,29 1,14 20 detik
4 6 2,75 1,36 17 detik
5 7 3,21 1,59 15 detik
6 8 3,67 1,82 13 detik
7 9 4,13 2,05 10 detik
8 10 4,58 2.23 7 detik
9 11 5,04 2,50 4 detik
4.3.3.2. Pengujian Sistem Pemadam Pada Ruangan Tengah
Pengujian sistem pemadam pada ruangan tengah dilakukan dengan memperhatikan
variabel selang dengan total panjang 74 cm di tambah dengan total panjang pipa ruangan
tengah yaitu 270 cm. Pengujian dilakukan dengan tetap memperhatikan kondisi sambungan
pipa air yang menuju ruangan tertentu agar tidak terjadi kebocoran dan menyebabkan
volume air yang terbuang, hal ini dikarenakan pipa yang digunakan hanya memiliki
ketebalan kurang dari 1mm sehingga pipa kemungkinan tidak mampu menahan tekanan air
dan volume air keluar yang terlalu besar Berikut tabel 4.25 adalah pengambilan data dari
pengujian yang kedua ini.
Tabel 4.24. Pengujian sistem pemadam langsung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
No Tegangan (V) Tekanan
(BAR)
Flow rate
(L/s)
Waktu Penyimpanan
Air Habis
1 3 1,38 0,14 40 detik
2 4 1,83 0,19 35 detik
3 5 2,29 0,24 31 detik
4 6 2,75 0,29 26 detik
5 7 3,21 0,33 22 detik
6 8 3,67 0,38 18 detik
7 9 4,13 0,43 13 detik
8 10 4,58 0,48 9 detik
9 11 5,04 0,52 6 detik
4.3.3.2. Pengujian Sistem Pemadam Pada Ruangan Tidur
Pengujian sistem pemadam ruangan tidur dilakukan dengan memperhatikan variabel
selang dengan total panjang 74 cm di tambah dengan total panjang pipa ruangan tidur yaitu
280 cm. Berikut tabel 4.26 adalah pengambilan data dari pengujian yang kedua ini.
No Tegangan (V) Tekanan
(BAR)
Flow rate
(L/s)
Waktu Penyimpanan
Air Habis
1 3 1,38 0,14 42 detik
2 4 1,83 0,18 37 detik
3 5 2,29 0,23 33 detik
4 6 2,75 0,28 29 detik
5 7 3,21 0,32 24 detik
6 8 3,67 0,37 19 detik
7 9 4,13 0,41 15 detik
8 10 4,58 0,46 11 detik
9 11 5,04 0,58 7 detik
Tabel 4.25. Pengujian sistem pemadam ruangan tengah
Tabel 4.26. Pengujian sistem pemadam ruangan tidur
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
Setelah dilakukan ketiga pengujian sebelumnya dapat diambil kesimpulan bahwa
semakin tinggi nilai tegangan pompa air maka tekanan air yang dikeluarkan pun semakin
besar sehingga mempengaruhi jumlah volume air yang keluar setiap detiknya, perbandingan
kenaikan tegangan dengan tekanan air dapat dilihat pada gambar 4.19. Semakin cepat waktu
penyimpanan air habis, maka semakin tinggi juga nilai tekanan airnya yang berarti semakin
baik sistem pemadam dalam memadamkan api. Nilai perhitungan flow rate juga tidak sama
atau tidak mewakili volume air yang dihisap dan dikeluarkan oleh pompa sehingga hanya
bisa dijadikan sebagai perbandingan saja terhadap nilai tekanan air. Penelitian ini
menggunakan nilai tegangan 5V pada pompa air untuk diimplementasikan pada sistem
pemadam ini untuk menghindari kebocoran yang disebabkan oleh tekanan air yang terlalu
besar.
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
BAB V
KESIMPULAN DAN SARAN
5.1. Kesimpulan
Dari hasil pengujian serta pengambilan data, dapat diambil kesimpulan :
1. Sistem pendeteksian api telah berhasil membedakan citra api yang asli dan citra
api yang palsu berupa warna dan foto contoh api.
2. Tingkat presentase keberhasilan aksi aktuator dalam menjalankan fungsinya
berdasarkan sistem pendeteksiannya adalah 100%.
3. Tingkat presentase keberhasilan sistem pendeteksian melalui 4 percobaan dari
masing-masing ruangan berdasarkan citra api dan intensitas cahaya disetiap
jaraknya dari titik buta kamera adalah 79% pada ruangan tengah dan 100% pada
ruangan tidur
4. Jarak maksimum sistem mendeteksi titik api adalah 3,6 meter pada ruangan
tengah dan 2,6 meter pada ruangan tidur dari titik buta kamera.
5. Semakin jauh titik api dari pemantauan kamera maka waktu yang diperlukan
untuk mendeteksi titik apinya semakin lama.
6. Waktu pendeteksian dan ketepatan pendeteksian titik api dipengaruhi oleh jarak
titik api dari titik buta kamera.
7. Rata – rata tingkat presentase ketepatan pendeteksian titik api adalah 33,93%.
8. Pembacaan nilai ADC sebelum terhubung pada rangkaian memiliki nilai rata –
rata galat 0,26%.
9. Pembacaan nilai tegangan sensor MQ7 sebelum dan sesudah terhubung pada
rangkaian penuh memiliki nilai rata – rata galat 50%.
10. Rata-rata waktu Web server dan bot telegram dalam mengirimkan pesan
peringatan adalah 5 detik.
11. Nilai tegangan pompa air pada sistem pemadam diturunkan menjadi 5V untuk
menghindari kebocoran akibat tekanan air yang terlalu besar.
78
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
5.2. Saran
Agar dapat menghasilkan penelitian yang lebih baik lagi, maka diberikan saran –
saran sebagai berikut :
1. Memperbanyak variabel pengenalan api sehingga mengurangi kemungkinan
terdeteksinya fake fire.
2. Menggunakan ruangan terbuka untuk mendeteksi titip api yang besar sehingga
data yang didapat lebih akurat.
3. Menggunakan material kabel yang lebih sesuai dan mengurangi panjang kabel
sehingga nilai ADC sensor yang didapat lebih sesuai.
4. Nilai batas threshold minimal pendeteksian MQ7 perlu disesuaikan lagi karena
setelah MQ7 nilai telah terpasang rangkaian maka nilai ADCnya akan berubah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
DAFTAR PUSTAKA
[1] Cao, S., & Chen, Y. (2012). Design of wireless intelligent home alarm system.
Proceedings of the 2012 International Conference on Industrial Control and
Electronics Engineering, ICICEE 2012, 1511–1513.
https://doi.org/10.1109/ICICEE.2012.397.
[2] Maulana Budiman, R. A., Achmad, B., Faridah, Arif, A., Nopriadi, & Zharif, L. (2017).
Localization of white blood cell images using Haar Cascade classifiers. Proceedings of
2016 1st International Conference on Biomedical Engineering: Empowering
Biomedical Technology for Better Future, IBIOMED 2016.
https://doi.org/10.1109/IBIOMED.2016.7869822.
[3] Pranamurti, H., Murti, A., & Setianingsih, C. (2019). Fire Detection Use CCTV with
Image Processing Based Raspberry Pi. Journal of Physics: Conference Series, 1201(1).
https://doi.org/10.1088/1742-6596/1201/1/012015.
[4] Haselindo. Definisi Pengertian Kebakaran.
https://pemadamapi.wordpress.com/definisi-pengertian-kebakaran/ (diakses tanggal 10
November 2019).
[5] Haselindo. Bahaya Dampak Kebakaran. https://pemadamapi.wordpress.com/definisi-
pengertian-kebakaran/bahaya-dampak-kebakaran/ (diakses tanggal 10 November
2019).
[6] Raspberry, 2020. What is a Raspberry Pi. https://www.raspberrypi.org/help/what-
%20is-a-raspberry-pi/ (diakses tanggal 2 Februari 2020).
[7] Core Electronics. Raspberry Pi Boards Compared. https://core-
electronics.com.au/tutorials/compare-raspberry-pi-boards.html (diakses tanggal 20
Februari 2020).
[8] Lab Elektronika. 2018. Mengenal Single Board Komputer Raspberry Pi 3 Model B+.
http://www.labelektronika.com/2018/06/mengenal-raspberry-pi-3-model-b-plus.html
(Diakses pada tanggal 20 Februari 2020).
[9] Steve. 2018. Raspberry Pi GPIO Progrraming in C.
https://www.bigmessowires.com/2018/05/26/raspberry-pi-gpio-programming-in-c/
(Diakses pada tanggal 20 Februari 2020).
80
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
[10] Ilham, Mughnifar. 2019. Pengertian Python, Fungsi, Kelebihan dan Kekurangan.
https://materibelajar.co.id/pengertian-python/ (Diakses pada tanggal 20 Februari 2020),
[11] Dewaweb. 2019. Keunggulan Memahami Bahasa Pemrograman Python.
https://www.dewaweb.com/blog/keunggulan-memahami-bahasa-pemrograman-
python/ (Diakses pada tanggal 20 Februari 2020).
[12] Plitch, Avram. 2019. How to Set Up a Raspberry Pi Web Server.
https://www.tomshardware.com/news/raspberry-pi-web-server,40174.html (Diakses
pada tanggal 20 Februari 2020).
[13] Hermawan. 2019. Pengertian Webcam Beserta Fungsi dan Cara Kerja Webcam.
https://www.nesabamedia.com/pengertian-webcam-dan-fungsi-webcam/ (Diakses
pada tanggal 27 Februari 2020).
[14] Logitech. 2020. Product Webcam C270. https://www.logitech.com/en-us/product/hd-
webcam-c270 (Diakses pada tanggal 27 Februari 2020).
[15] Aulia, Hanugra. 2017. Introduction to Open CV. Binus University Malang. Malang.
https://binus.ac.id/malang/2017/10/introduction-to-open-cv/ (Diakses pada tanggal 27
Februari 2020).
[16] Pamungkas, Adi. 2017. Pengolahan Citra Digital.
https://pemrogramanmatlab.com/2017/07/26/pengolahan-citra-digital/ (Diakses pada
tanggal 27 Februari 2020)
[17] Pamungkas, Adi. 2017. Thresholding.
https://pemrogramanmatlab.com/2017/07/26/thresholding/ (Diakses pada tanggal 27
Februari 2020)
[18] Jati. 2015. Deteksi Obyek Menggunakan Haar Cascade Classifier.
http://jati.stta.ac.id/2015/09/deteksi-obyek-menggunakan-haar-cascade.html (Diakses
pada tanggal 27 Februari 2020).
[19] Kho, Dickson. 2019. Pengertian Relay dan Fungsinya.
https://teknikelektronika.com/pengertian-relay-fungsi-relay/ (Diakses pada tanggal 27
Februari 2020).
[20] ELPROCUS. 2020. Water Pump Types and Applications.
https://www.elprocus.com/water-pump-types-and-applications/ (Diakses pada tanggal
27 Februari 2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
[21] Teknik, Hendra. 2019. Pompa Air DC 12V / DC High Pressure Mini Pump.
https://www.tokopedia.com/hendrateknik/pompa-air-dc-12v-dc-high-pressure-mini-
pump-pompa-air-mini-murah (Diakses pada tanggal 27 Februari 2020).
[22] Zakana. 2019. Pengertian Switch Beserta Fungsi Switch pada Jaringan Komputer.
https://www.nesabamedia.com/pengertian-switch-dan-fungsi-switch/ (Diakses pada
tanggal 27 Februari 2020).
[23] ZTE. 2016. ZXHN F660 ONT. http://www.ztegpon.com/index.php?page=660
(Diakses pada tanggal 27 Februari 2020).
[24] Evans, Paul. 2019. How Solenoid Valves Work.
https://theengineeringmindset.com/how-solenoid-valves-work (Diakses pada tanggal
28 Mei 2020).
[25] Amal. 2019. Solenoid Valve. https://hvactutorial.wordpress.com/sectioned-
components/solenoid-valve/ (Diakses pada tanggal 28 Mei 2020).
[26] Technology, Manufacturing. 2009. How Solenoid Valve Works? Parts of Solenoid
Valves.https://www.brighthubengineering.com/manufacturing-technology/56397-
parts-of-the-solenoid-valve-how-solenoid-valve-works// (Diakses pada tanggal 28 Mei
2020).
[27] Osoyoo. 2020. Arduino lesson MQ7 Gas Sensor.
https://osoyoo.com/2018/11/15/arduino-lesson-mq-7-gas-sensor (Diakses pada tanggal
3 Maret 2020)
[28] Suprianto. 2015. ADC (Analog to Digital Converter).
http://blog.unnes.ac.id/antosupri/adc-analog-to-digital-converter/ (Diakses pada
tanggal 13 Agustus 2020).
[29] Microchip. 2020. MCP3008.
https://www.microchip.com/wwwproducts/en/MCP3008#additional-features (Diakses
pada tanggal 13 Agustus 2020).
[30] Solihin, Ahmad. 2017. Mengukur Kinerja Algoritma Klasfikasi dengan Confusion
Matrix. http://achmatim.net/2017/03/19/mengukur-kinerja-algoritma-klasifikasi-
dengan-confusion-
matrix/?utm_source=rss&utm_medium=rss&utm_campaign=mengukur-kinerja-
algoritma-klasifikasi-dengan-confusion-matrix (Diakses pada tanggal 20 November
2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
[31] Guerrieri, Vince. 2020. Why fire is the greatest tool of all time.
https://www.popularmechanics.com/home/tools/a30456620/fire-greatest-tool/
(Diakses pada tanggal 23 November 2020).
[32] Overstock. 2020. White taper candles burn 1.5 hours.
https://www.overstock.com/Home-Garden/White-Taper-Candles-Burn-1.5-Hours-
Set-Of-60/11626795/product.html (Diakses pada tanggal 23 November 2020).
[33] Leyba, John. 2020. Candle. https://www.pinterest.com/j_leyba/candle/ (Diakses pada
tanggal 23 November 2020).
[34] Corrales, Jorge. 2020. Fire in gray.
https://www.pinterest.com/pin/312929874086098453/ (Diakses pada tanggal 23
November 2020).
[35] Corrales, Jorge. 2020. Fire in gray.
https://www.pinterest.com/pin/312929874086098453/ (Diakses pada tanggal 23
November 2020).
[36] LinchK32. 2020. A small fire made of dry twigs is burning with smoke against the
background of green grass. https://www.bigstockphoto.com/image-300574774/stock-
photo-a-small-fire-made-of-dry-twigs-is-burning-with-smoke-against-the-
background-of-green-grass-natural (Diakses pada tanggal 23 November 2020).
[37] Scheunber, Velvina. 2020. Photo.
https://gurushots.com/photo/f3a2406b14da33cb0ae82c7b14ab6f9e (Diakses pada
tanggal 23 November 2020).
[38] Santora, Tara. 2020. When did humans discover how to use fire.
https://www.livescience.com/when-did-humans-discover-fire.html (Diakses pada
tanggal 23 November 2020).
[39] Alamy. 2020. Standard 10. https://www.alamy.it/fotos-immagini/standard-10.html
(Diakses pada tanggal 23 November 2020).
[40] Hurlburt, Amy. 2016. The 7 Most Common Causes of House Fires, and How to Prevent
Them. https://pgwelcomemat.com/seven-common-causes-house-fires-prevent/
(Diakses pada tanggal 23 November 2020).
[41] Manjunatha. 2020. Color and Black & White Candle Light in a Dark Black
Background. https://www.dreamstime.com/color-black-white-candle-light-dark-
background-closeup-grayscale-image182070249 (Diakses pada tanggal 23 November
2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
[42] Wildhan, Ahmad. 2020. Serupa tapi tak sama.
https://aboutfact.law.blog/2020/03/09/serupa-tapi-tak-sama/ (Diakses pada tanggal 23
November 2020).
[43] Unison Property. 2019. Landscaping tips for rental properties in Calgary.
https://www.unisonpropertymanagement.ca/2019/04/19/landscaping-tips-for-rental-
properties-in-calgary/ (Diakses pada tanggal 23 November 2020).
[44] Lapak, Zayan. 2020. Best deal korek gas tokai. https://m.bukalapak.com/p/rumah-
tangga/dapur/kompor/39z8zzm-jual-best-deal-korek-gas-tokai?from=list-
product&keyword=korek%20tokai&funnel=omnisearch&product_owner=normal_sel
ler&pos=3&cf=1&ssa=0&sort_origin=last_relist_at%3Adesc&search_sort_default=fa
lse&promoted=0 (Diakses pada tanggal 23 November 2020).
[45] Shop, Gaby Toped. 2020. Korek api tokai murah.
https://www.tokopedia.com/gabyshoptoped/korek-api-tokai-murah?whid=9774994
(Diakses pada tanggal 23 November 2020).
[46] Electric, Jaya. 2020. Korek api gas diamond.
https://www.tokopedia.com/jayaelectri/korek-api-gas-diamond?whid=0 (Diakses
pada tanggal 23 November 2020).
[47] Admin. 2020. There are 5 tips to keep your lighters safe from thieves.
https://www.promonumenta.org/there-are-5-tips-to-keep-your-lighters-safe-from-
thieves/ (Diakses pada tanggal 23 November 2020).
[48] Brickworks. 2020. The new display home that overflows with hamptons style.
https://www.brickworks.com.au/project/the-new-display-home-that-overflows-with-
hamptons-style (Diakses pada tanggal 23 November 2020).
[49] Cowlin, Veronica. 2017. Harry potter woz’ere.
https://www.heartofsuffolk.co.uk/blog/harry-potter-woz-ere/ (Diakses pada tanggal 23
November 2020).
[50] Zippo. 2020. Butane Lighter Insert. https://zippo.in/products/single-torch-butane-
lighter-insert (Diakses pada tanggal 23 November 2020).
[51] Backyshop. 2020. Thunderbird Lighters.
https://www.thebackyshop.co.uk/products/thunderbird-replacement-cigarette-lighter-
insert/ (Diakses pada tanggal 23 November 2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
[52] NCS. 2020. The top 10 mob boss mansions.
https://www.nationalcrimesyndicate.com/the-top-10-mob-boss-mansions/ (Diakses
pada tanggal 23 November 2020).
[53] Naufalamru. 2020. Lilin cap naga. https://shopee.co.id/Lilin-cap-naga-
i.153802311.4308887183 (Diakses pada tanggal 23 November 2020).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
LAMPIRAN
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
Listing Program Pembuatan Layout Web Server
<!DOCTYPE html>
<html>
<head>
<title>Sistem pemadam</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
<meta http-equiv="refresh" content="5" >
</head>
<body>
<div class="container">
{% include 'includes/_messages.html' %}
{% block body %}{% endblock %}
</div>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
L-1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
<script src="//cdn.ckeditor.com/4.6.2/basic/ckeditor.js"></script>
<script type="text/javascript">
CKEDITOR.replace('editor')
</script>
</body>
</html>
L-2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Listing Program Pembuatan Halaman Home Web Server
{% extends 'layout2.html' %}
{% block body %}
<div class="jumbotron text-center">
<h1>Selamat datang di sistem pemadam</h1>
<p class="lead">Web server ini merupakan pengawasan dan pelaksanaan sistem
pemadam</p>
<br>
<p class="lead">Tentukan ruangan yang ingin anda awasi</p>
{% if session.logged_in == NULL %}
<a href="/ruangan1" class="btn btn-primary btn-lg">Ruangan tengah</a>
<a href="/ruangan2" class="btn btn-success btn-lg">Ruangan tidur</a>
<br>
<br>
{% endif %}
<p class="lead">Tentukan ruangan yang ingin anda padamkan secara manual</p>
<a href="/pemadaman/pemadam1" class="btn btn-danger btn-lg">Pemadaman ruangan
tengah</a>
<a href="/pemadaman/pemadam2" class="btn btn-danger btn-lg">Pemadaman ruangan
tidur</a>
<br>
<br>
<p class="lead">Tampilan ruangan tengah</p>
<img src="{{ user_image }}" alt="Tampilan api ruangan tengah">
<img src="{{ user_image3 }}" alt="Tampilan asap ruangan tengah">
<br>
<p class="lead">Tampilan ruangan tidur</p>
<img src="{{ user_image2 }}" alt="Tampilan api ruangan tidur">
<img src="{{ user_image4 }}" alt="Tampilan asap ruangan tidur">
</div>
{% endblock %}
L-3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
Listing Program Pembuatan Halaman Kamera 1 dan 2 Web Server
{% extends 'layout2.html' %}
{% block body %}
<h1>Ruangan 1</h1>
<img id="video" src="{{ url_for('room1') }}">
{% endblock %}
{% extends 'layout2.html' %}
{% block body %}
<h1>ruangan2</h1>
{% endblock %}
L-4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
Listing Program Pembuatan Halaman Pemadaman Ruangan 1 dan 2 Web
Server
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sistem pemadam</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="jumbotron text-center">
<h1>Pemadaman ruangan 1 telah dilaksanakan</h1>
<br>
<a href="/" class="btn btn-primary btn-lg">Kembali</a>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdn.ckeditor.com/4.6.2/basic/ckeditor.js"></script>
<script type="text/javascript">
L-5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
CKEDITOR.replace('editor')
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sistem pemadam</title>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script
src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="jumbotron text-center">
<h1>Pemadaman ruangan 2 telah dilaksanakan</h1>
<br>
<a href="/" class="btn btn-primary btn-lg">Kembali</a>
L-6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
<script
src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<script src="//cdn.ckeditor.com/4.6.2/basic/ckeditor.js"></script>
<script type="text/javascript">
CKEDITOR.replace('editor')
</script>
</body>
</html>
L-7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Listing Program Inisialisasi ADC dan Sensor Asap Ruangan 1 dan 2
import cv2
import threading
import numpy as np
import time
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
SPICLK = 23
SPIMISO = 21
SPIMOSI = 19
SPICS = 24
mq7_dpin = 37
mq7_apin = 0
channel = 32
s1 = 22
s2 = 18
class sensormq7r1(object):
def init(self):
GPIO.setwarnings(False)
GPIO.cleanup()
GPIO.setmode(GPIO.BOARD)
GPIO.setup(channel,GPIO.OUT)
GPIO.setup(s1,GPIO.OUT)
GPIO.setup(s2,GPIO.OUT)
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
L-8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPICS, GPIO.OUT)
GPIO.setup(mq7_dpin,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
if ((adcnum > 7) or (adcnum < 0)):
return -1
GPIO.output(cspin, True)
GPIO.output(clockpin, False) # start clock low
GPIO.output(cspin, False) # bring CS low
commandout = adcnum
commandout |= 0x18 # start bit + single-ended bit
commandout <<= 3 # we only need to send 5 bits here
for i in range(5):
if (commandout & 0x80):
GPIO.output(mosipin, True)
else:
GPIO.output(mosipin, False)
commandout <<= 1
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout = 0
# read in one empty bit, one null bit and 10 ADC bits
for i in range(12):
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout <<= 1
if (GPIO.input(misopin)):
adcout |= 0x1
L-9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
GPIO.output(cspin, True)
adcout >>= 1 # first bit is 'null' so drop it
return adcout
import cv2
import threading
import numpy as np
import time
import RPi.GPIO as GPIO
import os
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
SPICLK = 23
SPIMISO = 21
SPIMOSI = 19
SPICS = 24
mq7_dpin = 36
mq7_apin = 1
channel = 32
s1 = 22
s2 = 18
class sensormq7r2(object):
def init(self):
GPIO.setwarnings(False)
GPIO.cleanup()
GPIO.setmode(GPIO.BOARD)
L-10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
GPIO.setup(channel,GPIO.OUT)
GPIO.setup(s1,GPIO.OUT)
GPIO.setup(s2,GPIO.OUT)
GPIO.setup(SPIMOSI, GPIO.OUT)
GPIO.setup(SPIMISO, GPIO.IN)
GPIO.setup(SPICLK, GPIO.OUT)
GPIO.setup(SPICS, GPIO.OUT)
GPIO.setup(mq7_dpin,GPIO.IN,pull_up_down=GPIO.PUD_DOWN)
def readadc(adcnum, clockpin, mosipin, misopin, cspin):
if ((adcnum > 7) or (adcnum < 0)):
return -1
GPIO.output(cspin, True)
GPIO.output(clockpin, False) # start clock low
GPIO.output(cspin, False) # bring CS low
commandout = adcnum
commandout |= 0x18 # start bit + single-ended bit
commandout <<= 3 # we only need to send 5 bits here
for i in range(5):
if (commandout & 0x80):
GPIO.output(mosipin, True)
else:
GPIO.output(mosipin, False)
commandout <<= 1
GPIO.output(clockpin, True)
GPIO.output(clockpin, False)
adcout = 0
# read in one empty bit, one null bit and 10 ADC bits
for i in range(12):
GPIO.output(clockpin, True)
L-11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
GPIO.output(clockpin, False)
adcout <<= 1
if (GPIO.input(misopin)):
adcout |= 0x1
GPIO.output(cspin, True)
adcout >>= 1 # first bit is 'null' so drop it
return adcout
L-12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Listing Program Pembuatan Fungsi Pendeteksian dan Pemadaman Pada
Ruangan 1 dan 2
from sensormq7r1 import *
from sensormq7r2 import *
import cv2
import threading
import numpy as np
import telepot
import time
import RPi.GPIO as GPIO
import os
GPIO.cleanup()
GPIO.setmode(GPIO.BOARD)
GPIO.setwarnings(False)
channel = 32
GPIO.setup(channel,GPIO.OUT)
GPIO.output(channel, GPIO.LOW)
s1 = 22
GPIO.setup(s1,GPIO.OUT)
GPIO.output(s1, GPIO.LOW)
s2 = 18
GPIO.setup(s2,GPIO.OUT)
GPIO.output(s2, GPIO.LOW)
class RecordingThread (threading.Thread):
def __init__(self, name, ):
threading.Thread.__init__(self)
self.name = name
L-13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
self.isRunning = True
self.cap = camera
fourcc = cv2.VideoWriter_fourcc(*'MJPG')
self.out = cv2.VideoWriter('./static/video.avi',fourcc, 20.0, (640,480))
def run(self):
while self.isRunning:
ret, frame = self.cap.read()
if ret:
self.out.write(frame)
self.out.release()
def stop(self):
self.isRunning = False
def __del__(self):
self.out.release()
class VideoCamera(object):
def __init__(self):
# Open a camera
self.cap = cv2.VideoCapture(0)
# Initialize recording environment
self.is_record = False
self.out = None
# Thread for recording
self.recordingThread = None
def __del__(self):
L-14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
self.cap.release()
def get_frame(self):
ret, frame = self.cap.read()
if ret:
ret, jpeg = cv2.imencode('.jpg', frame)
return jpeg.tobytes()
else:
return None
def get_frame2(self):
img_name = "photo.jpg"
ret, frame = self.cap.read()
cv2.imwrite(img_name, frame)
def detect(self):
bot = telepot.Bot('1018180325:AAEzTouVvCskKxkOUPf9Ms7eJMJkLHVB2ug')
path = '/home/pi/static/foto'
fire_cascade = cv2.CascadeClassifier('fire_detection.xml')
(grabbed, frame) = self.cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
fire = fire_cascade.detectMultiScale(frame, 1.2, 5)
for (x,y,w,h) in fire:
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = frame[y:y+h, x:x+w]
print ('Api terdeteksi pada ruangan 1')
cv2.imwrite(os.path.join(path , 'api.jpg'), frame)
with open('./id.txt', 'r') as idfile:
L-15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
chat_id=int(idfile.read())
bot.sendMessage(chat_id, "Api terdeteksi pada ruangan 1")
GPIO.output(channel,True)
GPIO.output(s1,True)
time.sleep(3)
GPIO.output(channel,False)
GPIO.output(s1,False)
time.sleep(10000)
def asap(self):
sensormq7r1.init(self)
path = '/home/pi/static/foto'
bot = telepot.Bot('1018180325:AAEzTouVvCskKxkOUPf9Ms7eJMJkLHVB2ug')
(grabbed, frame) = self.cap.read()
COlevel=sensormq7r1.readadc(mq7_apin, SPICLK, SPIMOSI, SPIMISO, SPICS)
if COlevel > 600:
print("Telah terdeteksi asap pada ruangan 1")
cv2.imwrite(os.path.join(path , 'asap.jpg'), frame)
with open('./id.txt', 'r') as idfile:
chat_id=int(idfile.read())
bot.sendMessage(chat_id, "Terdeteksi asap pada ruangan 1")
print(COlevel)
print("Tegangan sensor = " +str("%.2f"%((COlevel/1024.)*3.3))+" V")
print("Kepekatan asap:" +str("%.2f"%((COlevel/1024.)*100))+" %")
time.sleep(0.5)
def start_record(self):
self.is_record = True
self.recordingThread = RecordingThread(" Recording Thread", self.cap)
self.recordingThread.start()
def stop_record(self):
L-16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
self.is_record = False
if self.recordingThread != None:
self.recordingThread.stop()
class VideoCamera2(object):
def __init__(self):
# Open a camera
self.cap = cv2.VideoCapture(2)
# Initialize recording environment
self.is_record = False
self.out = None
# Thread for recording
self.recordingThread = None
def __del__(self):
self.cap.release()
def get_frame(self):
ret, frame = self.cap.read()
if ret:
ret, jpeg = cv2.imencode('.jpg', frame)
return jpeg.tobytes()
else:
return None
def get_frame3(self):
img_name = "photo2.jpg"
L-17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
ret, frame = self.cap.read()
cv2.imwrite(img_name, frame)
def detect(self):
bot = telepot.Bot('1018180325:AAEzTouVvCskKxkOUPf9Ms7eJMJkLHVB2ug')
path = '/home/pi/static/foto'
fire_cascade = cv2.CascadeClassifier('fire_detection.xml')
(grabbed, frame) = self.cap.read()
gray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
fire = fire_cascade.detectMultiScale(frame, 1.2, 5)
for (x,y,w,h) in fire:
cv2.rectangle(frame,(x,y),(x+w,y+h),(0,0,255),2)
roi_gray = gray[y:y+h, x:x+w]
roi_color = frame[y:y+h, x:x+w]
print ('Api terdeteksi pada ruangan 2')
cv2.imwrite(os.path.join(path , 'api2.jpg'), frame)
with open('./id.txt', 'r') as idfile:
chat_id=int(idfile.read())
bot.sendMessage(chat_id, "Api terdeteksi pada ruangan 2")
GPIO.output(channel,True)
GPIO.output(s2,True)
time.sleep(3)
GPIO.output(channel,False)
GPIO.output(s2,False)
time.sleep(10000)
def asap(self):
sensormq7r2.init(self)
path = '/home/pi/static/foto'
bot = telepot.Bot('1018180325:AAEzTouVvCskKxkOUPf9Ms7eJMJkLHVB2ug')
(grabbed, frame) = self.cap.read()
L-18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
COlevel=sensormq7r2.readadc(mq7_apin, SPICLK, SPIMOSI, SPIMISO, SPICS)
if COlevel > 600 :
print("Telah terdeteksi asap pada ruangan 2")
cv2.imwrite(os.path.join(path , 'asap2.jpg'), frame)
with open('./id.txt', 'r') as idfile:
chat_id=int(idfile.read())
bot.sendMessage(chat_id, "Terdeteksi asap pada ruangan 2")
print(COlevel)
print("Current Gas AD vaule = " +str("%.2f"%((COlevel/1024.)*3.3))+" V")
print("Kepekatan asap:" +str("%.2f"%((COlevel/1024.)*100))+" %")
time.sleep(0.5)
def start_record(self):
self.is_record = True
self.recordingThread = RecordingThread(" Recording Thread", self.cap)
self.recordingThread.start()
def stop_record(self):
self.is_record = False
if self.recordingThread != None:
self.recordingThread.stop()
L-19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
Listing Program Utama Penjalanan Sistem Pemadam
from flask import Flask, render_template, Response, jsonify, request
from flask_socketio import SocketIO, emit
from werkzeug.utils import secure_filename
from camera14 import VideoCamera, VideoCamera2
import numpy as np
import telepot
import RPi.GPIO as GPIO
import os
import cv2
import time
import sys
GPIO.cleanup()
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
channel = 32
s1 = 22
s2 = 18
UPLOAD_FOLDER = os.path.join('static', 'foto')
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 1
video_camera = None
video_camera2 = None
global_frame = None
path = '/home/pi/static/foto/api.jpg'
L-20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
path = '/home/pi/static/foto/api2.jpg'
path = '/home/pi/static/foto/asap.jpg'
path = '/home/pi/static/foto/asap2.jpg'
path1 = '/home/pi/static/foto/api.jpg'
path2 = '/home/pi/static/foto/api2.jpg'
path3 = '/home/pi/static/foto/asap.jpg'
path4 = '/home/pi/static/foto/asap2.jpg'
bot = telepot.Bot('1018180325:AAEzTouVvCskKxkOUPf9Ms7eJMJkLHVB2ug')
if os.path.exists(path):
os.remove(path)
if os.path.exists(path1):
os.remove(path1)
if os.path.exists(path2):
os.remove(path2)
if os.path.exists(path3):
os.remove(path3)
if os.path.exists(path4):
os.remove(path4)
def handle(msg):
global sendPhoto
global chat_id
global kirim
global kirim2
global video_camera
global video_camera2
L-21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
global global_frame
if video_camera == None:
video_camera = VideoCamera()
if video_camera2 == None:
video_camera2 = VideoCamera()
chat_id = msg['chat']['id']
command = msg['text']
print('Message received from ' + str(chat_id))
if command == '/ruangan1' :
kirim = True
if command == '/ruangan2' :
kirim2 = True
elif 'text' in msg and msg['text'] == '/start':
with open('./id.txt', 'w') as f:
f.write(str(msg['chat']['id']))
bot.sendMessage(msg['chat']['id'],"Selamat datang ke bot pemadam")
else:
bot.sendMessage(chat_id, 'Invalid command.')
@app.after_request
def add_header(response):
# response.cache_control.no_store = True
if 'Cache-Control' not in response.headers:
response.headers['Cache-Control'] = 'no-store'
L-23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
return response
@app.route('/',methods=["GET", "POST"] )
def index():
full_filename = os.path.join(app.config['UPLOAD_FOLDER'], 'api.jpg')
full_filename2 = os.path.join(app.config['UPLOAD_FOLDER'], 'api2.jpg')
full_filename3 = os.path.join(app.config['UPLOAD_FOLDER'], 'asap.jpg')
full_filename4 = os.path.join(app.config['UPLOAD_FOLDER'], 'asap2.jpg')
if os.path.exists(path1) or os.path.exists(path2) or os.path.exists(path3) or
os.path.exists(path4) :
msg = 'Telah terdeteksi api atau asap pada salah satu ruangan'
return render_template("home2.html", msg=msg, user_image=full_filename,
user_image2=full_filename2, user_image3=full_filename3, user_image4=full_filename4)
else:
return render_template("home2.html")
@app.route('/ruangan1')
def room1():
return Response(video_stream(),
mimetype='multipart/x-mixed-replace; boundary=frame')
@app.route('/ruangan2')
def room2():
return Response(video_stream2(),
mimetype='multipart/x-mixed-replace; boundary=frame')
@app.route("/<deviceName>/<action>")
def action(deviceName, action):
if deviceName == 'pemadaman':
L-24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
pemadam = channel
solenoid = s1
solenoid2 = s2
GPIO.setup(pemadam,GPIO.OUT)
GPIO.output(pemadam, GPIO.LOW)
GPIO.setup(solenoid,GPIO.OUT)
GPIO.output(solenoid, GPIO.LOW)
GPIO.setup(solenoid2,GPIO.OUT)
GPIO.output(solenoid2, GPIO.LOW)
if action == "pemadam1":
GPIO.output(pemadam, GPIO.HIGH)
GPIO.output(solenoid, GPIO.HIGH)
time.sleep(3)
GPIO.output(pemadam, GPIO.LOW)
GPIO.output(solenoid, GPIO.LOW)
return render_template("pemadaman1.html")
if action == "pemadam2":
GPIO.output(pemadam, GPIO.HIGH)
GPIO.output(solenoid2, GPIO.HIGH)
time.sleep(3)
GPIO.output(pemadam, GPIO.LOW)
GPIO.output(solenoid2, GPIO.LOW)
return render_template("pemadaman2.html")
def video_stream():
global video_camera
global global_frame
global kirim
L-25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
kirim = False
if video_camera == None:
video_camera = VideoCamera()
while True:
frame = video_camera.get_frame()
detection = video_camera.detect()
video_camera.asap()
if kirim == True :
kirim = False
print('Capturing photo...')
video_camera.get_frame2()
print('Sending photo to ' + str(chat_id))
bot.sendPhoto(chat_id, photo = open('./photo.jpg', 'rb'))
if frame != None:
global_frame = frame
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
else:
(b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + global_frame + b'\r\n\r\n')
def video_stream2():
global video_camera2
global global_frame
global kirim2
kirim2 = False
L-26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
if video_camera2 == None:
video_camera2 = VideoCamera2()
while True:
frame = video_camera2.get_frame()
detection = video_camera2.detect()
video_camera2.asap()
if kirim2 == True :
kirim2 = False
print('Capturing photo...')
video_camera2.get_frame3()
print('Sending photo to ' + str(chat_id))
bot.sendPhoto(chat_id, photo = open('./photo2.jpg', 'rb'))
if frame != None:
global_frame = frame
yield (b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + frame + b'\r\n\r\n')
else:
(b'--frame\r\n'
b'Content-Type: image/jpeg\r\n\r\n' + global_frame + b'\r\n\r\n')
bot.message_loop(handle)
if __name__ == '__main__':
app.run(host='0.0.0.0', threaded=True)
L-27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Pengujian citra api lilin ruang tengah intensitas cahaya 24 lux, jarak 1,6
meter hingga 2,4 meter
L-28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Pengujian citra api lilin ruang tengah intensitas cahaya 24 lux, jarak 2,8
meter hingga 3,6 meter
L-29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Pengujian citra api korek gas ruang tengah intensitas cahaya 24 lux, jarak
1,6 meter hingga 2,4 meter
L-30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Pengujian citra api korek gas ruang tengah intensitas cahaya 24 lux, jarak
2,8 meter hingga 3,6 meter
L-31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Pengujian citra api lilin ruang tengah intensitas cahaya 8-14 lux, jarak 1,6
meter hingga 2,4 meter
L-32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Pengujian citra api korek gas ruang tengah intensitas cahaya 8-14 lux,
jarak 1,6 meter hingga 2,4 meter
L-33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Pengujian citra api korek gas ruang tengah intensitas cahaya 8-14 lux,
jarak 2,8 meter
L-34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Pengujian citra api lilin ruang tidur intensitas cahaya 45 lux, jarak 1 meter
hingga 1,8 meter
L-35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Pengujian citra api lilin ruang tidur intensitas cahaya 45 lux, jarak 2,2
meter hingga 2,6 meter
L-36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Pengujian citra api korek gas ruang tidur intensitas cahaya 45 lux, jarak
1 meter hingga 1,8 meter
L-37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Pengujian citra api korek gas ruang tidur intensitas cahaya 45 lux, jarak
2,2 meter hingga 2,6 meter
L-38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Pengujian citra api lilin ruang tidur intensitas cahaya 8-12 lux, jarak 1
meter hingga 1,8 meter
L-39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Pengujian citra api lilin ruang tidur intensitas cahaya 8-12 lux, jarak 2,2
meter hingga 2,6 meter
L-40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Pengujian citra api korek gas ruang tidur intensitas cahaya 8-12 lux, jarak
1 meter hingga 1,8 meter
L-41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Pengujian citra api korek gas ruang tidur intensitas cahaya 8-12 lux, jarak
2,2 meter hingga 2,6 meter
L-42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
<!-- stage 0 -->
<_>
<maxWeakCount>2</maxWeakCount>
<stageThreshold>-1.1354514956474304e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 27 1.0459426790475845e-01</internalNodes>
<leafValues>
-9.3814432621002197e-01 9.0361446142196655e-01</leafValues></_>
<_>
<internalNodes>
0 -1 53 1.9976346194744110e-01</internalNodes>
<leafValues>
-9.2785137891769409e-01 8.2459920644760132e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 1 -->
<_>
<maxWeakCount>3</maxWeakCount>
<stageThreshold>-1.3247847557067871e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 7 4.0762656927108765e-01</internalNodes>
<leafValues>
-8.6901766061782837e-01 7.5675678253173828e-01</leafValues></_>
<_>
<internalNodes>
0 -1 6 1.3779436051845551e-01</internalNodes>
<leafValues>
-8.8750886917114258e-01 2.8855907917022705e-01</leafValues></_>
<_>
<internalNodes>
0 -1 40 2.6526537537574768e-01</internalNodes>
<leafValues>
-7.4432617425918579e-01 6.6626292467117310e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 2 -->
<_>
<maxWeakCount>2</maxWeakCount>
<stageThreshold>-7.4336928129196167e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 2 4.1499978303909302e-01</internalNodes>
<leafValues>
-8.6945170164108276e-01 5.0000000000000000e-01</leafValues></_>
<_>
<internalNodes>
L-43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
0 -1 11 4.5874185860157013e-02</internalNodes>
<leafValues>
-1. 1.2608239054679871e-01</leafValues></_></weakClassifiers></_>
<!-- stage 3 -->
<_>
<maxWeakCount>4</maxWeakCount>
<stageThreshold>-1.0817888975143433e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 13 4.9460947513580322e-01</internalNodes>
<leafValues>
-8.1265825033187866e-01 4.2105263471603394e-01</leafValues></_>
<_>
<internalNodes>
0 -1 30 -1.0531554371118546e-01</internalNodes>
<leafValues>
2.6704105734825134e-01 -8.5486882925033569e-01</leafValues></_>
<_>
<internalNodes>
0 -1 41 3.4948602318763733e-02</internalNodes>
<leafValues>
-8.9780002832412720e-01 2.7469578385353088e-01</leafValues></_>
<_>
<internalNodes>
0 -1 81 -1.5509229342569597e-05</internalNodes>
<leafValues>
3.6162829399108887e-01 -7.1705079078674316e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 4 -->
<_>
<maxWeakCount>4</maxWeakCount>
<stageThreshold>-1.1866767406463623e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 12 3.6403301358222961e-01</internalNodes>
<leafValues>
-8.5209006071090698e-01 -1.5000000596046448e-01</leafValues></_>
<_>
<internalNodes>
0 -1 14 3.3683568239212036e-02</internalNodes>
<leafValues>
-5.1311254501342773e-01 4.6315157413482666e-01</leafValues></_>
<_>
<internalNodes>
0 -1 69 1.3609335292130709e-04</internalNodes>
<leafValues>
3.1104850769042969e-01 -7.2132861614227295e-01</leafValues></_>
L-44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
<_>
<internalNodes>
0 -1 4 1.2148362293373793e-04</internalNodes>
<leafValues>
-8.3461266756057739e-01 2.4358172714710236e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 5 -->
<_>
<maxWeakCount>4</maxWeakCount>
<stageThreshold>-1.3308618068695068e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 26 6.7514598369598389e-02</internalNodes>
<leafValues>
-7.7188330888748169e-01 2.1276595070958138e-02</leafValues></_>
<_>
<internalNodes>
0 -1 8 3.4416305425111204e-05</internalNodes>
<leafValues>
-8.5286557674407959e-01 1.4937944710254669e-01</leafValues></_>
<_>
<internalNodes>
0 -1 48 -1.8346133583690971e-04</internalNodes>
<leafValues>
-9.0394043922424316e-01 1.9481389224529266e-01</leafValues></_>
<_>
<internalNodes>
0 -1 60 8.8960374705493450e-04</internalNodes>
<leafValues>
-1. 1.9558252394199371e-01</leafValues></_></weakClassifiers></_>
<!-- stage 6 -->
<_>
<maxWeakCount>3</maxWeakCount>
<stageThreshold>-7.9717081785202026e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 13 4.7819304466247559e-01</internalNodes>
<leafValues>
-8.1215471029281616e-01 4.5871559530496597e-02</leafValues></_>
<_>
<internalNodes>
0 -1 88 -3.8815978768980131e-05</internalNodes>
<leafValues>
1.0888232290744781e-01 -9.4263499975204468e-01</leafValues></_>
<_>
<internalNodes>
0 -1 77 -4.0303770219907165e-04</internalNodes>
L-45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
<leafValues>
-9.5192468166351318e-01 1.8408368527889252e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 7 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-1.6301398277282715e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 33 -1.1418235488235950e-02</internalNodes>
<leafValues>
7.8947371244430542e-01 -6.7256635427474976e-01</leafValues></_>
<_>
<internalNodes>
0 -1 51 -3.8923887768760324e-04</internalNodes>
<leafValues>
-9.0711349248886108e-01 9.3762204051017761e-02</leafValues></_>
<_>
<internalNodes>
0 -1 69 -1.6685485024936497e-04</internalNodes>
<leafValues>
-6.4114141464233398e-01 2.8773099184036255e-01</leafValues></_>
<_>
<internalNodes>
0 -1 5 -1.2296087516006082e-04</internalNodes>
<leafValues>
-8.7147945165634155e-01 2.3817995190620422e-01</leafValues></_>
<_>
<internalNodes>
0 -1 0 2.7513506211107597e-05</internalNodes>
<leafValues>
-6.4837419986724854e-01 2.8315281867980957e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 8 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-9.2982792854309082e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 32 -7.2457015514373779e-02</internalNodes>
<leafValues>
2.3809524253010750e-02 -7.5193798542022705e-01</leafValues></_>
<_>
<internalNodes>
0 -1 72 -1.8365623429417610e-02</internalNodes>
<leafValues>
5.5016553401947021e-01 -4.1460493206977844e-01</leafValues></_>
L-46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
<_>
<internalNodes>
0 -1 73 9.7639036539476365e-05</internalNodes>
<leafValues>
2.0349594950675964e-01 -9.4675403833389282e-01</leafValues></_>
<_>
<internalNodes>
0 -1 90 1.5012297080829740e-04</internalNodes>
<leafValues>
1.6695271432399750e-01 -9.5460295677185059e-01</leafValues></_>
<_>
<internalNodes>
0 -1 80 -2.0230603695381433e-05</internalNodes>
<leafValues>
2.4076879024505615e-01 -6.5080881118774414e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 9 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-9.5776814222335815e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 56 -5.4807800799608231e-02</internalNodes>
<leafValues>
8.5714286565780640e-01 -6.5864330530166626e-01</leafValues></_>
<_>
<internalNodes>
0 -1 23 6.9449655711650848e-02</internalNodes>
<leafValues>
-6.3427263498306274e-01 2.2865255177021027e-01</leafValues></_>
<_>
<internalNodes>
0 -1 39 -1.3372499961405993e-04</internalNodes>
<leafValues>
-8.2275372743606567e-01 2.0880170166492462e-01</leafValues></_>
<_>
<internalNodes>
0 -1 87 -2.7844231226481497e-05</internalNodes>
<leafValues>
2.8459623456001282e-01 -6.2198370695114136e-01</leafValues></_>
<_>
<internalNodes>
0 -1 86 2.0252368994988501e-04</internalNodes>
<leafValues>
1.5535628795623779e-01 -8.9044308662414551e-01</leafValues></_>
<_>
<internalNodes>
0 -1 58 -1.4480085155810229e-05</internalNodes>
L-47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
<leafValues>
-7.2227036952972412e-01 1.9347451627254486e-01</leafValues></_>
<_>
<internalNodes>
0 -1 38 1.7088967142626643e-03</internalNodes>
<leafValues>
-2.8276395797729492e-01 5.7729417085647583e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 10 -->
<_>
<maxWeakCount>6</maxWeakCount>
<stageThreshold>-1.0361988544464111e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 31 -1.1788629926741123e-03</internalNodes>
<leafValues>
-5.7471264153718948e-02 -7.3958331346511841e-01</leafValues></_>
<_>
<internalNodes>
0 -1 65 -7.0812908234074712e-05</internalNodes>
<leafValues>
-8.5187572240829468e-01 6.6193021833896637e-02</leafValues></_>
<_>
<internalNodes>
0 -1 84 3.0261104257078841e-05</internalNodes>
<leafValues>
-6.9307458400726318e-01 1.9375345110893250e-01</leafValues></_>
<_>
<internalNodes>
0 -1 82 6.4547828515060246e-05</internalNodes>
<leafValues>
2.1562823653221130e-01 -7.2222608327865601e-01</leafValues></_>
<_>
<internalNodes>
0 -1 22 -2.6539145619608462e-04</internalNodes>
<leafValues>
-8.6746811866760254e-01 1.6030672192573547e-01</leafValues></_>
<_>
<internalNodes>
0 -1 57 3.9483828004449606e-05</internalNodes>
<leafValues>
2.9999384284019470e-01 -4.8906829953193665e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 11 -->
<_>
<maxWeakCount>7</maxWeakCount>
<stageThreshold>-1.2931841611862183e+00</stageThreshold>
<weakClassifiers>
L-48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
<_>
<internalNodes>
0 -1 63 5.5162496864795685e-03</internalNodes>
<leafValues>
-6.8109339475631714e-01 3.1250000000000000e-01</leafValues></_>
<_>
<internalNodes>
0 -1 29 1.3603454863186926e-04</internalNodes>
<leafValues>
-6.4324355125427246e-01 1.1112626641988754e-01</leafValues></_>
<_>
<internalNodes>
0 -1 91 1.4631793834269047e-02</internalNodes>
<leafValues>
1.1145279556512833e-01 -1.</leafValues></_>
<_>
<internalNodes>
0 -1 20 4.7724468458909541e-05</internalNodes>
<leafValues>
-5.8955556154251099e-01 2.6125895977020264e-01</leafValues></_>
<_>
<internalNodes>
0 -1 9 7.0883054286241531e-04</internalNodes>
<leafValues>
-9.3912816047668457e-01 1.0918338596820831e-01</leafValues></_>
<_>
<internalNodes>
0 -1 34 -1.5814085782039911e-04</internalNodes>
<leafValues>
-6.9008594751358032e-01 1.9080264866352081e-01</leafValues></_>
<_>
<internalNodes>
0 -1 49 1.0893732905969955e-05</internalNodes>
<leafValues>
2.7880364656448364e-01 -5.4510027170181274e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 12 -->
<_>
<maxWeakCount>6</maxWeakCount>
<stageThreshold>-1.1685119867324829e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 79 1.2383730709552765e-01</internalNodes>
<leafValues>
-7.1702635288238525e-01 1.8518517911434174e-01</leafValues></_>
<_>
<internalNodes>
0 -1 46 -2.7172028785571456e-04</internalNodes>
L-49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
<leafValues>
1.3632427155971527e-01 -6.5800517797470093e-01</leafValues></_>
<_>
<internalNodes>
0 -1 17 -1.8271544249728322e-03</internalNodes>
<leafValues>
2.6676875352859497e-01 -6.0348457098007202e-01</leafValues></_>
<_>
<internalNodes>
0 -1 66 1.4392388402484357e-04</internalNodes>
<leafValues>
-5.3311735391616821e-01 2.6660761237144470e-01</leafValues></_>
<_>
<internalNodes>
0 -1 10 8.6837442358955741e-04</internalNodes>
<leafValues>
1.2270741909742355e-01 -9.1581493616104126e-01</leafValues></_>
<_>
<internalNodes>
0 -1 43 1.3265486340969801e-03</internalNodes>
<leafValues>
-3.4499454498291016e-01 4.2608463764190674e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 13 -->
<_>
<maxWeakCount>6</maxWeakCount>
<stageThreshold>-1.4340645074844360e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 54 2.6185424998402596e-02</internalNodes>
<leafValues>
-7.3890340328216553e-01 -6.8181820213794708e-02</leafValues></_>
<_>
<internalNodes>
0 -1 50 -1.0396169964224100e-03</internalNodes>
<leafValues>
4.7174626588821411e-01 -3.4839826822280884e-01</leafValues></_>
<_>
<internalNodes>
0 -1 47 1.9809436053037643e-02</internalNodes>
<leafValues>
-6.1506325006484985e-01 2.5899595022201538e-01</leafValues></_>
<_>
<internalNodes>
0 -1 61 1.0042499343398958e-04</internalNodes>
<leafValues>
2.2844272851943970e-01 -6.6354823112487793e-01</leafValues></_>
<_>
L-50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
<internalNodes>
0 -1 70 -6.7999462771695107e-05</internalNodes>
<leafValues>
-4.0695819258689880e-01 3.7164825201034546e-01</leafValues></_>
<_>
<internalNodes>
0 -1 18 -5.4593407548964024e-04</internalNodes>
<leafValues>
3.8007321953773499e-01 -4.2724329233169556e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 14 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-1.4268977642059326e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 37 -1.0896591469645500e-02</internalNodes>
<leafValues>
1.9047619402408600e-01 -6.9230771064758301e-01</leafValues></_>
<_>
<internalNodes>
0 -1 68 1.4266513062466402e-05</internalNodes>
<leafValues>
-2.3131435737013817e-03 -1.</leafValues></_>
<_>
<internalNodes>
0 -1 59 5.9807032812386751e-05</internalNodes>
<leafValues>
2.1036350727081299e-01 -5.3354901075363159e-01</leafValues></_>
<_>
<internalNodes>
0 -1 85 1.1576355609577149e-04</internalNodes>
<leafValues>
2.4177065491676331e-01 -5.3958779573440552e-01</leafValues></_>
<_>
<internalNodes>
0 -1 36 1.3419199967756867e-04</internalNodes>
<leafValues>
-5.9981560707092285e-01 2.3670123517513275e-01</leafValues></_>
<_>
<internalNodes>
0 -1 28 9.4831739261280745e-05</internalNodes>
<leafValues>
-6.2214195728302002e-01 2.1561747789382935e-01</leafValues></_>
<_>
<internalNodes>
0 -1 44 2.3157261312007904e-03</internalNodes>
<leafValues>
L-50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
-2.5176507234573364e-01 6.1749899387359619e-01</leafValues></_>
<_>
<internalNodes>
0 -1 76 -2.6789077674038708e-04</internalNodes>
<leafValues>
-7.5954306125640869e-01 1.9546455144882202e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 15 -->
<_>
<maxWeakCount>9</maxWeakCount>
<stageThreshold>-1.2963508367538452e+00</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 25 -2.4454362690448761e-02</internalNodes>
<leafValues>
3.5483869910240173e-01 -6.8181818723678589e-01</leafValues></_>
<_>
<internalNodes>
0 -1 55 6.3648039940744638e-05</internalNodes>
<leafValues>
2.0325659215450287e-01 -5.0236570835113525e-01</leafValues></_>
<_>
<internalNodes>
0 -1 67 -5.0818143790820614e-05</internalNodes>
<leafValues>
-8.1833380460739136e-01 1.3386978209018707e-01</leafValues></_>
<_>
<internalNodes>
0 -1 45 2.8043175116181374e-03</internalNodes>
<leafValues>
-2.1454976499080658e-01 6.3678485155105591e-01</leafValues></_>
<_>
<internalNodes>
0 -1 52 2.4867122992873192e-03</internalNodes>
<leafValues>
2.0447003841400146e-01 -8.9199221134185791e-01</leafValues></_>
<_>
<internalNodes>
0 -1 64 -9.3047256814315915e-04</internalNodes>
<leafValues>
6.4665985107421875e-01 -2.3168009519577026e-01</leafValues></_>
<_>
<internalNodes>
0 -1 21 6.3571735518053174e-04</internalNodes>
<leafValues>
-5.7301533222198486e-01 2.2502139210700989e-01</leafValues></_>
<_>
<internalNodes>
L-51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
0 -1 42 -2.2080119233578444e-03</internalNodes>
<leafValues>
6.1658704280853271e-01 -2.5333788990974426e-01</leafValues></_>
<_>
<internalNodes>
0 -1 1 4.6612763981102034e-05</internalNodes>
<leafValues>
-6.8158274888992310e-01 2.0165401697158813e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 16 -->
<_>
<maxWeakCount>8</maxWeakCount>
<stageThreshold>-9.3902111053466797e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 74 1.5703255310654640e-02</internalNodes>
<leafValues>
-7.0883053541183472e-01 1.5384615957736969e-01</leafValues></_>
<_>
<internalNodes>
0 -1 75 -3.0428944155573845e-03</internalNodes>
<leafValues>
4.7205343842506409e-01 -3.5683771967887878e-01</leafValues></_>
<_>
<internalNodes>
0 -1 89 1.0915755410678685e-04</internalNodes>
<leafValues>
1.8539620935916901e-01 -7.0673537254333496e-01</leafValues></_>
<_>
<internalNodes>
0 -1 78 1.3757898159383330e-05</internalNodes>
<leafValues>
1.1869291961193085e-01 -8.8840031623840332e-01</leafValues></_>
<_>
<internalNodes>
0 -1 19 -2.2601528326049447e-04</internalNodes>
<leafValues>
4.3324437737464905e-01 -2.8521147370338440e-01</leafValues></_>
<_>
<internalNodes>
0 -1 3 -1.2331655248999596e-02</internalNodes>
<leafValues>
4.4727244973182678e-01 -3.2374376058578491e-01</leafValues></_>
<_>
<internalNodes>
0 -1 16 1.5932274982333183e-02</internalNodes>
<leafValues>
-5.9622699022293091e-01 2.1828614175319672e-01</leafValues></_>
L-52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
<_>
<internalNodes>
0 -1 24 3.3045606687664986e-03</internalNodes>
<leafValues>
-2.6915168762207031e-01 4.8224091529846191e-
01</leafValues></_></weakClassifiers></_>
<!-- stage 17 -->
<_>
<maxWeakCount>5</maxWeakCount>
<stageThreshold>-9.5561492443084717e-01</stageThreshold>
<weakClassifiers>
<_>
<internalNodes>
0 -1 15 -2.5693140923976898e-02</internalNodes>
<leafValues>
1.1111111193895340e-01 -7.0743405818939209e-01</leafValues></_>
<_>
<internalNodes>
0 -1 62 1.1427422577980906e-05</internalNodes>
<leafValues>
2.1927598863840103e-02 -8.9014106988906860e-01</leafValues></_>
<_>
<internalNodes>
0 -1 71 -1.2199720913486090e-05</internalNodes>
<leafValues>
-3.9581522345542908e-01 2.9087087512016296e-01</leafValues></_>
<_>
<internalNodes>
0 -1 83 -4.0470811654813588e-04</internalNodes>
<leafValues>
-6.0841768980026245e-01 2.4123412370681763e-01</leafValues></_>
<_>
<internalNodes>
0 -1 35 -6.0237608850002289e-03</internalNodes>
<leafValues>
-1. 1.4096187055110931e-01</leafValues></_></weakClassifiers></_></stages>
L-53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI