rancang bangun alat peringatan deteksi dini bencana...

100
RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA BANJIR MENGGUNAKAN WEMOS PADA SUNGAI BERBASIS INTERNET OF THINGS TUGAS AKHIR Program Studi S1 Teknik Komputer Oleh: AHMAD IQBAL REZA FAHMI 15410200041 FAKULTAS TEKNOLOGI DAN INFORMATIKA INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA 2019

Upload: others

Post on 29-Jul-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI

BENCANA BANJIR MENGGUNAKAN WEMOS PADA

SUNGAI BERBASIS INTERNET OF THINGS

TUGAS AKHIR

Program Studi

S1 Teknik Komputer

Oleh:

AHMAD IQBAL REZA FAHMI

15410200041

FAKULTAS TEKNOLOGI DAN INFORMATIKA

INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA 2019

Page 2: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

ii

RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA

BANJIR MENGGUNAKAN WEMOS PADA SUNGAI BERBASIS

INTERNET OF THINGS

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk menyelesaikan

Program Sarjana Teknik

Disusun Oleh :

Nama : Ahmad Iqbal Reza Fahmi

NIM : 15410200041

Program : S1 (Strata Satu)

Jurusan : Teknik Komputer

Fakultas : Teknologi dan Informatika

FAKULTAS TEKNOLOGI DAN INFORMATIKA

INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA

2019

Page 3: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

iii

“Semua berawal dari NIAT.”

Page 4: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

iv

Kupersembahkan Kepada ALLAH SWT

Ibu, Bapak, Adik dan semua keluarga tercinta,

Yang selalu mendukung, memotivasi dan menyisipkan nama saya dalam

doa-doa terbaiknya.

Beserta semua teman yang selalu membantu, mendukung dan memotivasi

agar tetap berusaha menjadi lebih baik

Page 5: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

v

TUGAS AKHIR

RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA

BANJIR MENGGUNAKAN WEMOS PADA SUNGAI BERBASIS

INTERNET OF THINGS

Dipersiapkan dan disusun oleh

AHMAD IQBAL REZA FAHMI

NIM : 15410200041

Telah diperiksa, diuji dan disetujui oleh Dewan Pembahas

Pada : Agustus 2019

Susunan Dewan Pembimbing dan Pembahas

Pembimbing

I. Harianto, S.Kom., M.Eng.

NIDN. 0722087701

______________________

II. Heri Pratikno, M.T., MTCNA., MTCRE.

NIDN. 0716117302

______________________

Pembahas

I. Pauladie Susanto, S.Kom., M.T.

NIDN. 0729047501

_______________________

Tugas Akhir ini telah diterima sebagai salah satu persyaratan

Untuk memperoleh gelar Sarjana

Dr. Jusak

Dekan Fakultas Teknologi dan Informatika

INSTITUT BISNIS DAN INFORMATIKA STIKOM SURABAYA

Page 6: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

vi

SURAT PERNYATAAN

PERSETUJUAN PUBLIKASI DAN KEASLIAN KARYA ILMIAH

Sebagai mahasiswa Institut Bisnis dan Informatika Stikom Surabaya, saya :

Nama : Ahmad Iqbal Reza Fahmi

NIM : 15410200041

Program Studi : S1 Teknik Komputer

Fakultas : Fakultas Teknologi dan Informatika

Jenis Karya : Tugas Akhir

Judul Karya : RANCANG BANGUN ALAT PERINGATAN DETEKSI

DINI BENCANA BANJIR MENGGUNAKAN WEMOS

PADA SUNGAI BERBASIS INTERNET OF THINGS

Menyatakan dengan sesungguhnya bahwa:

1. Demi pengembangan Ilmu Pengetahuan, Teknologi dan Seni, saya menyetujui

memberikan kepada Institut Bisnis dan Informatika Stikom Surabaya Hak Bebas

Royalti Non-Eksklusif (Non-Exclusive Royalti Free Right) atas seluruh isi/ sebagian

karya ilmiah saya tersebut di atas untuk disimpan, dialihmediakan dan dikelola

dalam bentuk pangkalan data (database) untuk selanjutnya didistribusikan atau

dipublikasikan demi kepentingan akademis dengan tetap mencantumkan nama saya

sebagai penulis atau pencipta dan sebagai pemilik Hak Cipta

2. Karya tersebut di atas adalah karya asli saya, bukan plagiat baik sebagian maupun

keseluruhan. Kutipan, karya atau pendapat orang lain yang ada dalam karya ilmiah

ini adalah semata hanya rujukan yang dicantumkan dalam Daftar Pustaka saya

3. Apabila dikemudian hari ditemukan dan terbukti terdapat tindakan plagiat pada

karya ilmiah ini, maka saya bersedia untuk menerima pencabutan terhadap gelar

kesarjanaan yang telah diberikan kepada saya.

Demikian surat pernyataan ini saya buat dengan sebenarnya.

Surabaya, Agustus 2019

Yang menyatakan

Ahmad Iqbal Reza Fahmi

Nim : 15410200041

Page 7: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

vii

ABSTRAK

Bencana banjir adalah serangkaian peristiwa terendamnya suatu daerah atau

daratan yang disebabkan oleh beberapa hal seperti membuang sampah disungai,

hujan dengan intensitas tinggi, tidak adanya tanah yang menyerap air hujan, dan

lain-lain yang dapat memicu terjadinya bencana banjir. Banjir merupakan

fenomena alam yang sangat merugikan manusia. Untuk meminimalisir dampak

kerugian banjir, dibutuhkan suatu sistem yang dapat memberikan informasi

peringatan dini kepada masyarakat sebelum bencana tersebut menimpa pada

mereka.

Beberapa metode untuk memberi peringatan dini bencana banjir ini telah

diimplementasikan. Metode yang telah dilakukan berupa alat peringatan dini

menggunakan komunikasi FSK, dan komunikasi via modem GSM. Pada tugas

akhir ini telah dilakukan pembahasan mengenai alat peringatan deteksi dini

menggunakan Wemos berbasis Internet of Things dimana komunikasi

menggunakan internet sehingga tidak ada batasan pada jarak maupun waktu.

Dari hasil pengujian dengan menggunakan sensor ultrasonik tipe HC-SR04

telah berhasil mengukur perubahan jarak antara permukaan air dan sensor dengan

persentase error 5,1% dari hasil pengukuran sebenarnya. Sedangkan respon

sensor yaitu dengan rata-rata 4,20 second untuk perubahan 5 cm dan 6,50 second

untuk perubahan 10cm. Pada Kecepatan perubahan air diperoleh rata-rata error

sebesar 0,1 cm/s.

Kata Kunci: Banjir, Peringatan Dini, Firebase Realtime, Wemos, HC-SR04

Page 8: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

viii

KATA PENGANTAR

Segala puji syukur kehadirat ALLAH SWT, karena dengan rahmat dan

hidayah-Nya penulis dapat menyelesaikan penyusunan Laporan Tugas Akhir yang

berjudul “RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI

BENCANA BANJIR MENGGUNAKAN WEMOS PADA SUNGAI BERBASIS

INTERNET OF THINGS”. Laporan Tugas Akhir ini disusun dalam rangka

penulisan laporan untuk memperoleh gelar Sarjana pada program studi S1 Teknik

Komputer Stikom Surabaya.

Mulai dari tahap perencanaan hingga tahap penyelesaian Tugas Akhir ini,

penulis mendapatkan bantuan dari berbagai pihak. Oleh karena itu pada

kesempatan ini penulis mengucapkan terima kasih kepada:

1. Orang Tua dan Saudara-saudara saya tercinta yang telah memberikan

dorongan dan bantuan baik moral maupun materi sehingga penulis dapat

menempuh dan menyelesaikan Tugas Akhir ini.

2. Bapak Dr. Jusak selaku Dekan Fakultas Teknologi dan Informatika (FTI)

Institut Bisnis dan Informatika Stikom Surabaya telah membantu proses

penyelesaian Tugas Akhir yang dibuat oleh penulis dengan Baik.

3. Bapak Pauladie Susanto, S.Kom, M.T., selaku Ketua Program Studi S1

Teknik Komputer Stikom Surabaya, dan selaku Dosen Penguji atas ijin dan

masukkan dalam menyusun Tugas Akhir ini.

4. Bapak Harianto, S.Kom., M.Eng. dan Bapak Heri Pratikno, M.T., MTCNA.,

MTCRE. selaku Dosen Pembimbing yang selalu memberi arahan dan

bimbingan dalam menyelesaikan Tugas Akhir beserta laporan ini.

Page 9: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

ix

5. Semua staf dosen yang telah mengajar dan memberikan ilmunya.

6. Teman-teman seperjuangan TK angkatan 2015 dan semua pihak yang terlibat

namun tidak dapat penulis sebutkan satu persatu atas bantuan dan

dukungannya.

7. Serta semua pihak lain yang tidak dapat disebutkan secara satu per satu, yang

telah membantu dalam menyelesaikan Tugas Akhir ini baik secara langsung

maupun tidak langsung.

Penulis menyadari bahwa Laporan Tugas Akhir ini jauh dari kata sempurna,

masih banyak kekurangan dalam menyusun laporan ini. Oleh karena itu dalam

kesempatan ini, penulis meminta maaf apabila dalam laporan Tugas akhir ini

masih banyak kesalahan baik dalam penulisan Bahasa yang digunakan. Penulis

juga memerlukan kritik dan saran dari para pembaca yang sifatnya membangun

untuk kesempurnaan laporan yang telah penulis susun.

Surabaya, Agustus 2019

Penulis

Page 10: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

x

2DAFTAR ISI

Halaman

HALAMAN JUDUL ............................................................................................... i

HALAMAN SYARAT ........................................................................................... ii

MOTTO ................................................................................................................. iii

HALAMAN PERSEMBAHAN ............................................................................ iv

HALAMAN PENGESAHAN .................................................................................v

HALAMAN PERNYATAAN ............................................................................... vi

ABSTRAK ............................................................................................................ vii

KATA PENGANTAR ......................................................................................... viii

DAFTAR ISI ............................................................................................................x

DAFTAR GAMBAR ........................................................................................... xiv

DAFTAR TABEL ................................................................................................ xvi

DAFTAR LAMPIRAN ....................................................................................... xvii

BAB I PENDAHULUAN ........................................................................................1

1.1. Latar Belakang ...........................................................................................1

1.2. Perumusan Masalah ...................................................................................3

1.3. Batasan Masalah ........................................................................................3

1.4. Tujuan ........................................................................................................4

1.5. Sistematika Penulisan ................................................................................4

BAB II LANDASAN TEORI ..................................................................................6

2.1. Internet Of Things ......................................................................................6

2.2. Firebase Realtime ......................................................................................7

Page 11: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xi

2.3. Mikrokontroler Wemos..............................................................................8

2.4. Wemos D1 Mini.........................................................................................8

2.4.1. Mikrokontroler Chipset pada Mikrokontroler Wemos ................10

2.4.2. Fitur – fitur Wemos D1 Mini .......................................................11

2.5. Arduino IDE ............................................................................................12

2.6. Sensor Ultrasonik HC-SR04 ....................................................................13

2.7. LCD (Liquid Crystal Display) .................................................................15

2.7.1. Register pada LCD .......................................................................15

2.8. I2C LCD ..................................................................................................17

2.9. Relay ........................................................................................................18

2.10. RTC DS3231 (Real Time Clock) .............................................................19

2.11. Buzzer.......................................................................................................19

BAB III ANALISIS DAN PERANCANGAN SISTEM .......................................21

3.1. Metode Penelitian ....................................................................................21

3.2. Rangkaian Perangkat Keras Otomasi Sistem...........................................24

3.2.1. Rangkaian Perangkat Keras Pada Wemos Pengirim ....................24

3.2.2. Rangkaian Perangkat Keras Pada Wemos Penerima ...................25

3.3. Perancangan Algoritma Sistem ................................................................25

3.4. Flowchart Sistem Program Hardware ......................................................26

3.5. Model Perancangan..................................................................................30

3.5.1. Model Perancangan Simulasi Banjir ............................................30

3.5.2. Model Perancangan Alat Peringatan Dini ....................................32

3.6. Ukuran Dimensi Alat ...............................................................................33

3.7. Struktur Material ......................................................................................33

Page 12: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xii

3.8. Pemrograman Hardware..........................................................................33

3.8.1. Pemrograman Hardware Simulasi Banjir (Pengirim) .................34

3.8.2. Pemrograman Hardware Simulasi Banjir (Penerima) .................46

BAB IV HASIL PENGUJIAN DAN PENGAMATAN ........................................55

4.1. Uji Wemos ...............................................................................................55

4.1.1. Tujuan Uji Wemos .......................................................................55

4.1.2. Alat Yang Digunakan Pada Uji Wemos ......................................55

4.1.3. Prosedur Pengujian Pada Uji Wemos ..........................................56

4.1.4. Hasil Pengujian Pada Uji Wemos ................................................60

4.2. Uji Wifi Wemos Pada Access Point ........................................................61

4.2.1. Tujuan Uji Wifi Wemos Pada Access Point ................................61

4.2.2. Alat Yang Digunakan Pada Pengujian Wifi Wemos Pada Access

Point .............................................................................................62

4.2.3. Prosedur Pengujian Pada Pengujian Wifi Wemos Pada Access

Point .............................................................................................62

4.2.4. Hasil Pengujian Wifi Wemos Pada Access Point ........................64

4.3. Uji Jarak Sensor .......................................................................................64

4.3.1. Tujuan Uji Jarak Sensor ...............................................................64

4.3.2. Alat Yang Digunakan Pada Uji Jarak Sensor ..............................64

4.3.3. Prosedur Pengujian Pada Uji Jarak Sensor ..................................65

4.3.4. Hasil Pengujian Pada Uji Jarak Sensor ........................................66

4.4. Uji Respon Sensor ...................................................................................68

4.4.1. Tujuan Uji Respon Sensor ...........................................................68

4.4.2. Alat Yang Digunakan Pada Uji Respon Sensor ...........................68

4.4.3. Prosedur Pengujian Pada Uji Respon Sensor ...............................68

4.4.4. Hasil Pengujian Pada Uji Respon Sensor ....................................71

Page 13: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xiii

4.5. Uji Kecepatan Perubahan Ketinggian Permukaan Air ............................73

4.5.1. Tujuan Uji Kecepatan Perubahan Ketinggian Permukaan Air ....73

4.5.2. Alat yang Digunakan Pengujian Pada Uji Kecepatan Perubahan

Ketinggian Permukaan Air ...........................................................73

4.5.3. Prosedur Pengujian Uji Kecepatan Perubahan Ketinggian

Permukaan Air .............................................................................73

4.5.4. Hasil Pengujian Pada Uji Kecepatan Perubahan Ketinggian

Permukaan Air .............................................................................76

4.6. Uji Keseluruhan Sistem ...........................................................................77

4.6.1. Tujuan Uji Keseluruhan Sistem ...................................................77

4.6.2. Alat Yang Digunakan Pada Uji Keseluruhan Sistem ...................77

4.6.3. Prosedur Pengujian Pada Uji Keseluruhan Sistem ......................78

4.6.4. Hasil Pengujian Pada Uji Keseluruhan Sistem ............................80

BAB V PENUTUP ................................................................................................81

5.1. Kesimpulan ..............................................................................................81

5.2. Saran ........................................................................................................82

DAFTAR PUSTAKA ............................................................................................83

LAMPIRAN .......................................................................................................... 84

BIODATA PENULIS ..........................................................................................102

Page 14: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xiv

DAFTAR GAMBAR

Halaman

Gambar 2.1 Internet Of Things ................................................................................6

Gambar 2.2 Tampilan Awal Firebase......................................................................7

Gambar 2.3 Wemos D1 Mini ...................................................................................8

Gambar 2.4 Skematik Rangkaian Esp-12s Wemos D1 Mini ...................................8

Gambar 2.5 Software Arduino Ide .........................................................................13

Gambar 2.6 Sensor Ultrasonik Hc-SR04 ...............................................................13

Gambar 2.7 Cara Kerja Sensor Hc-SR04...............................................................14

Gambar 2.8 Diagram Waktu Hc-SR04 ..................................................................15

Gambar 2.9 LCD 20x4 ...........................................................................................16

Gambar 2.10 I2C LCD ...........................................................................................18

Gambar 2.11 Rangkaian I2C LCD .........................................................................18

Gambar 2.12 Relay .................................................................................................19

Gambar 2.13 Modul Rtc Ds3231 ...........................................................................19

Gambar 2.14 Buzzer ...............................................................................................20

Gambar 3.1 Blok Diagram Rancangan Penelitian .................................................21

Gambar 3.2 Rangkaian Perangkat Keras Wemos Pengirim ..................................24

Gambar 3.3 Rangkaian Perangkat Keras Wemos Pengirim ..................................25

Gambar 3.4 (A) Perancangan Algoritma Sistem Bagian Pengirim (B)Perancangan

Algoritma Bagian Penerima ................................................................26

Gambar 3.5 Flowchart Program Pengirim .............................................................27

Gambar 3.6 Flowchart Program Penerima ............................................................29

Gambar 3.7 Desain Simulasi Banjir Pada Sungai ..................................................31

Gambar 3.8 Hasil Desain Simulasi Banjir Pada Sungai ........................................31

Page 15: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xv

Gambar 3.9 Desain Alat Peringatan Dini...............................................................32

Gambar 3.10 Hasil Desain Alat Peringatan Dini ...................................................32

Gambar 4.1 File Preferences ..................................................................................56

Gambar 4.2 Boards Manager .................................................................................57

Gambar 4.3 Mencari Dan Install Boards Wemos ..................................................57

Gambar 4.4 Pengecekan Boards Wemos D1 Mini Sudah Terinstal ......................58

Gambar 4.5 Tampilan Device Manager .................................................................59

Gambar 4.6 Setting Port Wemos ...........................................................................59

Gambar 4.7 Ikon Upload .......................................................................................60

Gambar 4.8 Proses Upload Program Ke Wemos ...................................................60

Gambar 4.9 Upload Program Ke Wemos Sukses ..................................................60

Gambar 4.10 Hasil Dari Upload Program .............................................................61

Gambar 4.11 Ssid Yang Akan Dihubungkan Oleh Wemos ...................................62

Gambar 4.12 Wemos Terhubung Ke Access Point Dan Mendapatkan Alamat Ip

Address .............................................................................................63

Gambar 4.13 Tampilan Nilai Jarak Sensor Pada LCD 16x2 .................................66

Gambar 4.14 Tampilan Nilai Sensor Sebelum Air Dimasukkan Ke Tempat ........70

Gambar 4.15 Cara Memasukkan Air Ke Tempat Pengukuran ..............................71

Gambar 4.16 Tampilan Nilai Sensor Setelah Air Dimasukkan Ke Tempat

Pengukuran .......................................................................................71

Gambar 4.17 Proses Pengisian Wadah Pengukuran Dengan Pompa .....................79

Gambar 4.18 Tampilan LCD 20x4 Pada Bagian Penerima ...................................79

Page 16: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xvi

DAFTAR TABEL

Halaman

Tabel 2.1 Konfigurasi Pin Wemos D1 Mini ............................................................9

Tabel 2.2 Konfigurasi Pin LCD .............................................................................17

Tabel 3.1 Ukuran Dimensi Alat .............................................................................33

Tabel 4.1 Hasil Pengujian Jarak Sensor .................................................................66

Tabel 4.2 Hasil Pengujian Respon Sensor .............................................................72

Tabel 4.3 Hasil Pengujian Kecepatan Sensor ........................................................76

Tabel 4.4 Hasil Pengujian Keseluruhan Sistem .....................................................80

Page 17: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

xvii

DAFTAR LAMPIRAN

Halaman

Lampiran 1. Datasheet Sensor Ultrasonik HC-SR04 ............................................84

Lampiran 2. Program Pengirim ..............................................................................85

Lampiran 3. Program Penerima .............................................................................91

Lampiran 4. Scanning Alamat I2C ........................................................................96

Lampiran 5. Program Tes Jarak Sensor .................................................................97

Lampiran 6. Program Tes Respon Sensor ..............................................................98

Lampiran 7. Program Tes Perubahan Air ..............................................................99

Lampiran 8. Program Tes Wemos .......................................................................100

Lampiran 9. Program Tes Koneksi Wemos .........................................................100

Page 18: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Banjir adalah peristiwa yang terjadi ketika aliran air yang berlebihan

merendam daratan dan merupakan suatu fenomena alam yang sangat merugikan,

baik dari segi materi maupun kerugian jiwa. Banjir bukan hanya menyebabkan

sawah tergenang dan merusak perumahan atau pemukiman, tetapi banjir juga

merusak fasilitas umum yang dapat menghambat aktivitas sosial dan ekonomi

masyarakat. Banjir disebabkan oleh 3 hal, yaitu kegiatan manusia yang

menyebabkan terjadinya perubahan tata ruang dan berdampak pada perubahan

alam, peristiwa alam seperti curah hujan tinggi dan sebagainya, serta degredasi

alam seperti pendangkalan sungai dan penyempitan alur sungai.

Di daerah–daerah tertentu seperti di pulau Jawa ada daerah yang

mempunyai curah hujan cukup tinggi seperti di kota Bogor misalnya. Kota Bogor

berada didaerah dataran tinggi sehingga curah hujan yang tinggi akan dialirkan

melalui sungai ke daerah yang lebih rendah seperti DKI Jakarta. Biasanya yang

menanggung akibat banjir ini adalah masyarakat yang tinggal di daerah dataran

rendah. Untuk mengatasi permasalahan diatas diperlukan suatu Peringatan Dini

yang bisa memberikan informasi kepada masyarakat sebelum bencana banjir

menimpa pada daerah mereka. (Supriyadi, 2011)

Selama ini pemantauan ketinggian permukaan air pada sungai oleh Badan

Penanggulangan Bencana Daerah (BPBD) masih menggunakan cara konvensional

seperti penggunaan skala ketinggian air yang diletakkan di dinding aliran air atau

Page 19: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

2

masih mengukur dengan alat ukur biasa. Hal seperti ini memiliki keterbatasan

pada data yang tidak dapat diambil secara berkala karena keterbatasan waktu, fisik

(petugas) maupun biaya. (Annisa, 2018)

Pada penelitian sebelumnya yang dilakukan oleh (Supriyadi, 2011) dalam

jurnal yang berjudul “Penggunaan Sensor Ultrasonik Sebagai Pendeteksi

Ketinggian Air Sungai Pada Sistem Peringatan Dini Tanggap Darurat Bencana

Banjir” dan (Annisa, 2018) dalam jurnalnya yang berjudul “Rancang Bangun Alat

Peringatan Dini Bencana Banjir Berbasis Mikrokontroler Pada Daerah Aliran

Sungai Musi (Studi Kasus Tusan Kirap Sekayu)”. Pada kedua jurnal tersebut

komunikasi yang digunakan untuk menginformasikan peringatan dini bencana

banjir menggunakan metode yang berbeda. Pada penelitian yang dilakukan oleh

(Supriyadi, 2011) komunikasi yang digunakan adalah pesawat komunikasi seperti

yang biasa digunakan ORARI. Pada pembahasan berikut modulasi yang

digunakan adalah modulator FSK (Frequency Shift Keying) yang berfungsi

mengubah data biner dari hasil pengolahan mikrokontroler menjadi sinyal analog

dalam format FSK. Sedangkan kelemahan dari modulasi FSK ini adalah jarak

maksimum pengiriman data tergantung dari kemampuan jangkauan atau daya

pancar. Selain itu pengaruh noise yang terjadi saat data dikirim juga ikut

berpengaruh terhadap kualitas data yang dikirimkan.

Pada penelitian yang dilakukan oleh (Annisa, 2018) komunikasi yang

digunakan adalah dengan cara pengiriman data melalui SMS dan menggunakan

modem GSM sebagai penghubung sistem kontrol dengan sistem jaringan telepon.

Mikrokontroler mengirim SMS dengan memberikan perintah AT-Command yaitu

Serial.print (“AT+CMGS=087828525285”). Nomor ponsel yang tertera pada

Page 20: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

3

perintah AT-Command merupakan nomor ponsel tujuan pesan SMS yang akan

dikirimkan. Pengiriman SMS hanya dikirimkan sesuai pengaturan pada RTC.

Kelemahan yang terdapat pada penelitian ini adalah pengiriman pesan SMS yang

diatur oleh RTC.

Pada Laporan ini, penulis memberikan solusi atas kedua permasalahan pada

penelitian sebelumnya sebagaimana yang telah dibahas tersebut diatas, yaitu

melalui penerapan berbasis Internet of Things agar data dari sensor dapat

dimonitoring pada jarak jauh secara realtime untuk memberi informasi tingkatan

status siaga banjir.

1.2. Perumusan Masalah

Berdasarkan latar belakang yang telah diuraikan diatas, diperoleh rumusan

permasalahan sebagai berikut :

1. Bagaimana cara merancang dan membangun alat peringatan deteksi dini

bencana banjir ?

2. Bagaimana cara merancang dan membangun komunikasi berbasis Internet

Of Things ?

3. Bagaimana cara mendeteksi jarak antara permukaan air dan daratan

menggunakan sensor ultrasonik ?

1.3. Batasan Masalah

Dalam sistem ini, agar tidak menyimpang dari tujuan yang nantinya akan

dicapai maka pembahasan masalah dibatasi pada hal – hal sebagai berikut:

1. Perancangan dilakukan menggunakan prototype.

2. Komunikasi yang digunakan memerlukan koneksi internet.

Page 21: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

4

3. Menggunakan Sensor Ultrasonik untuk mendeteksi jarak antara sensor dan

permukaan air.

4. Menggunakan Wemos sebagai mikrokontroler.

5. Server yang digunakan yaitu Firebase Realtime.

6. Jarak sensor maksimal 4 meter.

7. Menggunakan Lampu dan Buzzer sebagai indikator peringatan.

1.4. Tujuan

Tujuan dari tugas akhir ini adalah sebagai berikut:

1. Merancang dan membangun alat peringatan deteksi dini bencana banjir

2. Merancang dan membangun komunikasi berbasis Internet of Things

3. Dapat mendeteksi jarak antara permukaan air dan daratan menggunakan

sensor ultrasonik

1.5. Sistematika Penulisan

Untuk memudahkan pembaca dalam memahami persoalan dan

pembahasannya, maka penulisan laporan tugas akhir ini dibuat dengan sistematika

sebagai berikut.

BAB I PENDAHULUAN

Pada bab I membahas tentang latar belakang masalah dan penjelasan

permasalahan secara umum, perumusan masalah serta batasan masalah yang

dibuat, tujuan dari pembuatan tugas akhir dan sistematika penulisan buku.

Page 22: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

5

BAB II LANDASAN TEORI

Pada bab II membahas teori – teori yang berhubungan dan mendukung

dalam pembuatan tugas akhir seperti firebase, sensor ultrasonik, Wemos D1

Mini, dan literatur yang menunjang dalam pembuatan Tugas Akhir ini.

BAB III ANALISIS DAN PERANCANGAN SISTEM

Pada bab III membahas tentang perancangan sistem baik pada bagian

perangkat keras, maupun perangkat lunak pada alat peringatan dini ini.

BAB IV PENGUJIAN

Pada bab IV menjelaskan tentang hasil pengujian alat. Pengujian yang

dilakukan yaitu uji Wemos, wifi Wemos, jarak sensor, respon sensor,

kecepatan perubahan ketinggian permukaan air dan juga uji keseluruhan

sistem.

BAB V PENUTUP

Pada bab V menjelaskan tentang kesimpulan dan saran. Kesimpulan akan

dijelaskan berdasarkan dari hasil pengujian alat tugas akhir ini, serta saran –

saran untuk pengembangan.

Page 23: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

6

BAB II

LANDASAN TEORI

2.1. Internet Of Things

Internet of Things merupakan segala aktifitas yang pelakunya saling

berinteraksi dan dilakukan dengan memanfaatkan internet. Dalam penggunaan

nya Internet of Things banyak ditemui dalam berbagai aktifitas, contohnya alat

alat untuk membantu dibidang tertentu seperti remote temperature sensor, GPS

tracking, dan sebagainya yang menggunakan internet atau jaringan sebagai media

untuk melakukannya.

Gambar 2.1 Internet of Things

(http://metaltechalley.com/what-is-the-internet-of-things-iot-anyways/)

Perkembangan Internet of Things, semua peralatan yang kita gunakan dalam

kehidupan kita sehari hari dapat dikendalikan dan dipantau menggunakan IoT.

Mayoritas proses dilakukan dengan bantuan sensor di IoT. Sensor ditempatkan di

posisi tertentu dan sensor ini mengkonversi data fisik mentah menjadi sinyal

digital dan mengirimkan mereka ke pusat kontrol. Dengan cara ini kita bisa

Page 24: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

7

memonitor perubahan lingkungan jarak jauh dari setiap bagian dunia melalui

internet. (Junaidi, 2015)

2.2. Firebase Realtime

Firebase Realtime Database adalah sebuah Cloud-Hosted database yang

dapat menyimpan dan melakukan sinkronisasi data secara realtime untuk setiap

client yang terhubung. Setiap kali pengguna memperbarui data, itu akan

menyimpannya pada cloud dan sekaligus memberitahu ke semua client yang

terhubung dan secara otomatis menerima pembaruan dengan data terbaru.

Gambar 2.2 Tampilan Awal Firebase

(Sumber:https://firebase.google.com/)

Firebase Realtime Database merupakan sebuah NoSQL database sehingga

memiliki fungsi dan optimasi yang berbeda dibanding dengan relational database.

Pada Realtime Database, data disimpan sebagai JSON objects, sehingga struktur

data yang disimpan pada database ini berupa JSON tree.

Tidak seperti SQL database yang terdapat table-table atau records. Ketika

data ditambahkan ke JSON tree, itu akan menjadi sebuah node didalam struktur

JSON yang ada dengan sebuah associated key. Associated key dapat berupa user

id, semantic names, atau dapat dibuat secara otomatis dengan push().

Page 25: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

8

2.3. Mikrokontroler Wemos

Wemos merupakan salah satu modul board yang dapat berfungsi dengan

Arduino khususnya untuk projek yang mengusung konsep IoT. Wemos dapat

running stand-alone karena sudah terdapat CPU yang dapat diprogram melalui

serial port atau via OTA serta transfer program secara wireless. (Putri, 2017).

Gambar 2.3 Wemos D1 Mini

(Sumber:https://www.majju.com/product/nodemcu-lua-wemos-d1-mini-wifi-

development-board/)

2.4. Wemos D1 Mini

Wemos D1 Mini merupakan module development board yang berbasis WiFi

dari keluarga ESP8266 yang dimana dapat diprogram menggunakan software IDE

Arduino seperti halnya NodeMCU.

Gambar 2.4 Skematik Rangkaian ESP-12S Wemos D1 Mini

(Sumber:https://telinks.wordpress.com/2017/04/27/wemos-d1-lm35dz-

eksperimen-monitoring-suhu-dengan-koneksi-wi-fi/)

Page 26: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

9

Berikut adalah spesifikasi dari Wemos D1 Mini :

1) Beroperasi pada tegangan operasional 3,3 V

2) Memiliki 11 pin digital I/O termasuk didalamnya spesial pin untuk

fungsi I2C, one-wire, PWM, SPI, Interrupt.

3) Memiliki 1 pin analog input atau ADC

4) Berbasis micro USB untuk fungsi pemrogramannya

5) Memory Flash : 4Mbyte

6) Dimensi module : 34,2 mm x 25,6 mm

7) Clock Speed : 80MHz

8) Menggunakan IC CH340G untuk komunikasinya.

Tabel 2.1 Konfigurasi Pin Wemos D1 Mini

(Sumber:https://wiki.wemos.cc/products:d1:d1_mini)

Pin Fungsi ESP-8266

Pin

TX TXD TXD

RX RXD RXD

A0 Analog input, max 3.3V input A0

D0 IO GPIO16

D1 IO, SCL GPIO5

D2 IO, SDA GPIO4

D3 IO, 10k Pull-up GPIO0

D4 IO, 10k Pull-up, BUILTIN_LED GPIO2

D5 IO, SCK GPIO14

D6 IO, MISO GPIO12

D7 IO, MOSI GPIO13

D8 IO, 10k Pull-down, SS GPIO15

G Ground GND

5V 5V -

3V3 3.3V 3.3V

RST Reset RST

Page 27: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

10

Dari Tabel 2.1 diketahui fungsi dari masing – masing pin pada

Wemos D1 Mini beserta fungsinya seperti dapat dilihat pada Gambar 2.4.

2.4.1. Mikrokontroler Chipset pada Mikrokontroler Wemos

Pada Mikrokontroler Wemos memiliki 2 buah chipset yang digunakan

sebagai otak kerja platform tersebut. Beberapa chipset pada Mikrokontroler ini

adalah :

a) Chipset ESP8266

ESP8266 adalah sebuah chip mikrokontroler yang memiliki fitur Wi-Fi

yang mendukung stack TCP / IP. Diproduksi oleh produsen Cina yang berbasis di

Shanghai, Espressif. Pada Agustus 2014 AI-Thinker membuat modul ESP-01

dengan menggunakan lisensi oleh Espressif. Modul kecil ini memungkinkan

mikrokontroler untuk terhubung dengan jaringan WiFi dan membuat koneksi TCP

/ IP hanya dengan menggunakan command yang sederhana seperti Hayes-gaya.

Harga yang sangat rendah dan sangat sedikit komponen eksternal pada modul ini

mengakibatkan sangat murahnya harga sebuah chip ini. Dengan clock 80 MHz

chip ini dibekali dengan 4MB Eksternal RAM, mendukung format IEEE 802.11

b/g/n sehingga tidak menyebabkan Interference bagi yang lain. Mendukung

enkripsi WEP, WPA sehingga menjadikan chipset ini sangat aman digunakan.

Chipset ini memiliki 16 GPIO pin yang berkerja pada 3.3 Volt, 1 pin ADC

dengan resolusi 10 bit.

b) Chipset CH340

Chipset CH340 adalah sebuah chip yang berfungsi untuk mengubah USB

menjadi serial interface. Sebagai contohnya adalah aplikasi USB converter IrDA

atau USB converter to printer. Dalam mode serial interface, chip ini digunakan

Page 28: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

11

untuk memperbesar sinyal asynchronous serial interface komputer atau mengubah

perangkat serial interface umum untuk berhubungan dengan bus USB langsung.

2.4.2. Fitur – fitur Wemos D1 Mini

Ada beberapa fitur-fitur perangkat keras yang dapat ditemukan pada

modul mikrokontroler Wemos antara lain sebagai berikut :

a) Pin Analog

Mikrokontroler Wemos hanya mempunyai 1 buah pin analog yang dapat

digunakan sebagai input untuk ADC yang memiliki 10 bit resolusi dengan nilai

tegangan maksimal 3.2 Volt. Pin ini juga dapat digunakan sebagai pin digital

input output. Selain itu pin ini juga memiliki resistor namun untuk menggunakan

pullup ini cukup membuat repot karena ada beberapa aturan yang harus dilakukan

terlebih dahulu.

b) Pin Digital

Mikrokontroler Wemos secara fisik mempunyai pin digital berjumlah 9 pin

yang dimulai dari d0 – d8. Namun secara program mempunyai 16 pin digital yang

beberapa pin didefinisikan menjadi 2 alamat I/O. Pin digital ini dapat digunakan

menjadi input maupun output sama fungsinya dengan pin digital input output pada

Arduino maupun mikrokontroler yang lain. Selain itu pin digital pada

microcontoller Wemos sudah dapat digunakan untuk PWM (Pulse Width

Modulator).

Page 29: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

12

c) Memori

Ada 3 jenis memori yang digunakan dalam mikrokontroler Wemos ini,

antara lain :

1) RAM untuk menyimpan memori instruksi sebesar 64KB

2) RAM untuk menyimpan data sebesar 96KB

3) External QSPI flash untuk menimpa listing program sebesar 4MB

d) I2C

Mikrokontroler Wemos ini didukung dengan I2C yang berada pada D4

sebagai serial data dan D5 sebagai serial clock. Yang akan lebih memudahkan

untuk perangkat ini mengendalikan hardware lain yang mendukung I2C pula.

2.5. Arduino IDE

Software Arduino ini dapat di-install di berbagai operating system (OS)

seperti: LINUX, Mac OS, Windows. Arduino tidak hanya sekedar sebuah alat

pengembangan, tetapi kombinasi dari hardware, bahasa pemrograman dan

Integrated Development Environment (IDE) yang canggih. IDE adalah sebuah

software yang sangat berperan untuk menulis program, meng-compile menjadi

kode biner dan meng-upload ke dalam memori mikrokontroler (Arifin, Zulita, &

Hermansyah, 2016). Software Arduino IDE terdiri dari 3 (tiga) bagian :

a) Editor program, untuk menulis dan mengedit program dalam bahasa

processing. Listing program pada Arduino disebut sketch.

b) Compiler, modul yang berfungsi mengubah bahasa processing (kode

program) kedalam kode biner karena kode biner adalah satu–satunya bahasa

program yang dipahami oleh mikrokontroler.

Page 30: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

13

c) Uploader, modul yang berfungsi memasukkan kode biner kedalam memori

mikrokontroller

Gambar 2.5 Software Arduino IDE (Arifin, Zulita, & Hermansyah, 2016)

2.6. Sensor Ultrasonik HC-SR04

Sensor ultrasonik HC-SR04 menggunakan sonar untuk menghitung jarak

suatu objek. Sensor ini menawarkan deteksi jarak tanpa sentuhan langsung dengan

akurasi yang tinggi dan pembacaan yang stabil. Pembacaan mulai dari 2 cm

sampai 400 cm. (Annisa, 2018)

Gambar 2.6 Sensor Ultrasonik HC-SR04

(Sumber:http://riyansblog.blogspot.com/2015/10/menggunakan-sensor-

ultrasonik-hc-sr04.html)

Page 31: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

14

Berikut adalah karakteristik Sensor HC-SR04 :

1) Tegangan sumber operasi tunggal 5.0V

2) Konsumsi arus 15 mA

3) Frekuensi operasi 40 KHz

4) Minimum pendeteksi jarak 0.02m (2cm)

5) Maksimum pendeteksi jarak 4 meter

6) Sudut pantul gelombang pengukuran 15 derajat

7) Minimum waktu penyulutan 10 mikrodetik dengan pulsa berlevel TTL

8) Pulsa deteksi berlevel TTL dengan durasi yang bersesuaian dengan jarak

deteksi

9) Dimensi 45 x 20 x 15 mm

HC-SR04 memiliki 2 komponen utama sebagai penyusunnya yaitu

ultrasonic transmitter dan ultrasonic receiver. Fungsi dari ultrasonic transmitter

adalah memancarkan gelombang ultrasonik dengan frekuensi 40 KHz kemudian

ultrasonic receiver menangkap hasil pantulan gelombang ultrasonik yang

mengenai suatu objek. Waktu tempuh gelombang ultrasonik dari pemancar hingga

sampai ke penerima sebanding dengan 2 kali jarak antara sensor dan bidang

pantul seperti yang diperlihatkan Gambar 2.7.

Gambar 2.7 Cara Kerja Sensor HC-SR04

(Sumber:https://www.elangsakti.com)

Page 32: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

15

HC-SR04 memerlukan sinyal logika ‘1’ pada pin Trig dengan durasi waktu

10 mikrodetik (us) untuk mengaktifkan rentetan (burst) 8x40 KHZ gelombang

ultrasonik pada elemen pembangkitnya. Selanjutnya pin Echo akan berlogika ‘1’

setelah rentetan 8x40 KHz tadi, dan otomatis akan berlogika ‘0’ saat gelombang

pantulan diterima oleh elemen pendeteksi gelombang ultrasonik.

Gambar 2.8 Diagram Waktu HC-SR04

(Sumber:https://www.elangsakti.com)

2.7. LCD (Liquid Crystal Display)

LCD (Liquid Crystal Display) adalah salah satu komponen elektronika yang

berfungsi sebagai tampilan suatu data hasil olahan dari mikrokontroller. LCD

mempunyai pin data, kontrol catu daya, dan pengatur kontras tampilan. Pada

pengembangan sistem embedded, LCD mutlak diperlukan sebagai sumber

pemberi informasi utama, misalnya alat pengukur kadar air, penampil waktu,

penampil data sensor, dan lain-lain.

2.7.1. Register pada LCD

Register yang terdapat pada LCD adalah sebagai berikut :

Page 33: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

16

a) IR (Intruction Register)

Digunakan untuk menentukan fungsi yang harus dikerjakan oleh LCD

serta pengalamatan DDRAM atau CGRAM

b) DR (Data Register)

Digunakan sebagai tempat data DDRAM atau CGRAM yang akan

ditulis atau dibaca oleh komputer atau sistem minimum. Saat dibaca,

DR menyimpan data DDRAM atau CGRAM, setelah itu data

alamatnya secara otomatis masuk ke DR.

c) DDRAM (Display Data Random Access Memory)

Digunakan sebagai tempat penyimpanan data yang sebesar 80 byte

atau 80 karakter. AC menunjukan alamat karakter yang sedang

ditampilkan.

d) CGROM (Character Generator Read Only Memory)

Pada LCD terdapat ROM untuk menyimpan karakter-karakter ASCII

(American Standart Code for Interchage Intruction), sehingga cukup

memasukan kode ASCII untuk menampilkanya.

e) CGRAM (Character Generator Random Access Memory)

Sebagai data storage untuk merancang karakter yang dikehendaki.

Untuk CGRAM terdapat kode ASCII dari 00h sampai 0Fh, tetapi

hanya 8 karakter yang disediakan.

Gambar 2.9 LCD 20x4

Page 34: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

17

Berikut adalah modul LCD 20x4 karakter yang akan digunakan dalam

Tugas Akhir ini. Salah satu alasan mengapa modul LCD dipakai dalam Tugas

Akhir ini adalah untuk menunjukkan tingkatan status banjir, nilai jarak, nilai

perubahan kecepatan dan waktu jam antara pengirim dan penerima. Untuk

mengakses LCD 20x4 harus melakukan konfigurasi pin dari LCD dengan pin I/O

mikrokontroler. Berikut tabel konfigurasi pin pada LCD :

Tabel 2.2 Konfigurasi Pin LCD

(Sumber:https://mikrokontrolerindonesia.wordpress.com/2014/08/19/data-pin-

pinout-LCD-16x2-dengan-konfigurasinya/)

2.8. I2C LCD

I2C LCD adalah modul LCD yang dikendalikan secara serial sinkron

dengan protokol I2C/IIC (Inter Intergrated Circuit) atau TWI (Two Wire

Interface). Normalnya, modul LCD dikendalikan secara paralel baik untuk jalur

data maupun kontrolnya. Namun, jalur paralel akan memakan banyak pin di sisi

PIN SIMBOL NILAI FUNGSI

1 Vss – Power supply 0 volt (ground)

2 Vdd/Vcc – Power supply Vcc

3 Vee – Seting kontras

4 RS 0/1 0: intruksi input / 1: data input

5 R/W 0/1 0: tulis ke LCD / 1: membaca dari LCD

6 E 0–>1 Mengaktifkan sinyal

7 DB0 0/1 Data pin 0

8 DB1 0/1 Data pin 1

9 DB2 0/1 Data pin 2

10 DB3 0/1 Data pin 3

11 DB4 0/1 Data pin 4

12 DB5 0/1 Data pin 5

13 DB6 0/1 Data pin 6

14 DB7 0/1 Data pin 7

15 VB+ – Power 5 Volt (Vcc) Lampu latar (jika ada)

16 VB- – Power 0 Volt (ground) Lampu latar (jika ada)

Page 35: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

18

kontrol (misal Arduino, Android, Komputer, dan sebagainya). Setidaknya akan

membutuhkan 6 atau 7 pin untuk mengendalikan sebuah modul LCD.

Gambar 2.10 I2C LCD

Modul I2C converter ini menggunakan chip PCF8574 produk dari NXP

sebagai kontrollernya. IC ini adalah sebuah 8 bit I/O expander for I2C bus yang

pada dasarnya adalah sebuah shift register. Untuk alur komunikasi datanya

ditunjukkan pada Gambar 2.11

Gambar 2.11 Rangkaian I2C LCD

(Sumber:http://saptaji.com/2016/06/27/bekerja-dengan-I2C-LCD-dan-arduino/)

2.9. Relay

Relay adalah sebuah saklar yang dikendalikan oleh arus. Relay memiliki

sebuah kumparan tegangan rendah yang dililitkan pada sebuah inti. Terdapat

sebuah armatur besi yang akan tertarik menuju inti apabila arus mengalir

Page 36: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

19

melewati kumparan. Armatur ini terpasang pada sebuah tuas berpegas. Ketika

armatur tertarik menuju ini, kontak jalur bersama akan berubah posisinya dari

kontak normal-tertutup ke kontak normal-terbuka. (Turang, 2015)

Gambar 2.12 Relay

2.10. RTC DS3231 (Real Time Clock)

RTC (Real Time Clock) merupakan jam elektronik berupa chip yag dapat

menghitung waktu mulai detik, menit, jam, tanggal, hari, bulan hingga tahun

dengan akurat, dan menjaga serta menyimpan data waktu tersebut secara real

time. Terdapat berbagai jenis RTC diantaranya DS3231 yang merupakan salah

salah satu produk Dallas Semiconductor.

Gambar 2.13 Modul RTC DS3231

2.11. Buzzer

Buzzer adalah sebuah komponen elektronika yang berfungsi untuk

mengubah getaran listrik menjadi getaran suara. Pada dasarnya prinsip kerja

Page 37: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

20

buzzer hampir sama dengan loud speaker. Jadi buzzer juga terdiri dari kumparan

yang terpasang pada diafragma dan kemudian kumparan tersebut dialiri arus

sehingga menjadi elektromagnet, kumparan tadi akan tertarik ke dalam atau

keluar, tergantung dari arah arus dan polaritas magnetnya, karena kumparan

dipasang pada diafragma maka setiap gerakan kumparan akan menggerakkan

diafragma secara bolak–balik sehingga membuat udara bergetar yang akan

menghasilkan suara. Buzzer biasa digunakan sebagai indikator bahwa proses telah

selesai atau terjadi suatu kesalahan pada sebuah alat (alarm).

Gambar 2.14 Buzzer

Page 38: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

21

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1. Metode Penelitian

Pada bab 3 ini akan dijelaskan mengenai perancangan keseluruhan sistem.

Pada Tugas Akhir ini sistem terdiri dari sisi pengirim dan sisi penerima, dimana

sisi pengirim merupakan bagian utama untuk mendeteksi jarak antara sensor

dengan permukaan air sungai, sedangkan sisi penerima merupakan bagian

indikator yang berfungsi memberi suatu peringatan kepada masyarakat. Nilai dari

sisi pengirim akan dikirim ke sisi penerima melalui jaringan internet.

Gambar 3.1 Blok Diagram Rancangan Penelitian

Page 39: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

22

Tiap-tiap bagian dari Diagram Blok Sistem pada Gambar 3.1 dapat

dijelaskan sebagai berikut:

1. Input

a) Sensor Ultrasonik : Untuk mendapatkan nilai jarak antara sensor dan

permukaan air

b) RTC : Untuk mengetahui berapa delay waktu selama data terkirim dan

diterima antar Wemos.

2. Proses Pengolahan Data

a) Pada Blok Diagram diatas dibagi menjadi 2 Wemos yaitu

1. Wemos Sebagai Pengirim : pada Wemos ini memiliki fungsi

mengirimkan dan mengolah nilai dari inputan sensor beserta

data RTC.

2. Wemos Sebagai Penerima : pada Wemos ini memiliki fungsi

untuk menerima serta mengolah data yang diterima dari Wemos

yang berperan sebagai pengirim.

3. Output

a) LCD 16x2 & 20x4 : pada LCD penerima memiliki fungsi untuk

menampilkan tingkatan status banjir, nilai jarak, dan nilai kecepatan

perubahan ketinggian air.

b) Modul Relay : Relay memiliki fungsi sebagai saklar on/off untuk

indikator lampu yang diatur oleh mikrokontroler.

c) Lampu : digunakan sebagai indikator tingkatan status banjir yang

memiliki 4 warna yaitu :

1. Status Aman : Lampu Putih Menyala

Page 40: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

23

2. Status Siaga III : Lampu Hijau Menyala

3. Status Siaga II : Lampu Kuning Menyala

4. Status Siaga I : Lampu Merah Menyala

d) Buzzer : digunakan sebagai indikator tingkatan status banjir, dan

memiliki perbedaan bunyi setiap status.

1. Status Aman : buzzer Tidak Menyala

2. Status Siaga III : buzzer menyala 2 detik dan mati 3 detik

3. Status Siaga II : buzzer menyala 1 detik dan mati 1 detik

4. Status Siaga I : buzzer menyala terus

4. Penghubung ke Internet

Mifi (Hotspot Portable) : memiliki fungsi untuk menghubungkan

Wemos ke jaringan internet.

5. Server

Firebase Realtime : memiliki fungsi sebagai server yang digunakan

untuk mengirim dan menerima data secara realtime.

Metode penelitian yang digunakan dalam pengerjaan tugas akhir ini adalah

rancang bangun yang merupakan rancang bangun hardware berupa sensor

ultrasonik mengirimkan nilai jarak ke Wemos yang berperan sebagai pengirim,

kemudian data diolah beserta inputan dari data RTC, dan akan diteruskan ke

jaringan internet melalui mifi / portable hotspot. Server yang berperan disini

adalah firebase realtime, data yang sudah terupload ke firebase realtime,

kemudian akan didownload oleh Wemos yang berperan sebagai penerima, Wemos

yang berperan sebagai penerima akan mengolah data tersebut dan akan

dikeluarkan ke beberapa outputan seperti lampu, LCD, dan buzzer. Selain itu data

Page 41: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

24

dari modul RTC (Real Time Clock) yang ada pada Wemos yang berperan sebagai

penerima akan dibandingkan dengan data rtc yang telah dikirim oleh Wemos yang

berperan sebagai pengirim untuk dilakukan pengujian waktu delay.

3.2. Rangkaian Perangkat Keras Otomasi Sistem

Pada rangkaian perangkat keras otomasi sistem dibagi menjadi 2 yaitu pada

Wemos yang berperan sebagai pengirim dan Wemos yang berperan sebagai

penerima.

3.2.1. Rangkaian Perangkat Keras Pada Wemos Pengirim

Rangkaian Perangkat keras Wemos pengirim pada Gambar 3.2 terdiri dari

Wemos, RTC, sensor ultrasonik, dan LCD I2C 16x2. Dimana pin triger dan echo

ultrasonik terhubung pada GPIO D5 dan D0. Pada RTC serta LCD pin SCL dan

SDA terhubung pada pin GPIO D1 dan D2.

Gambar 3.2 Rangkaian Perangkat Keras Wemos Pengirim

Page 42: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

25

3.2.2. Rangkaian Perangkat Keras Pada Wemos Penerima

Rangkaian Perangkat keras Wemos pengirim pada Gambar 3.3 terdiri dari

Wemos, RTC, LCD I2C 20x4, modul relay 6 channel, lampu bohlam warna, dan

buzzer. Dimana pin SCL dan SDA pada RTC dan LCD terhubung pada pin

Wemos GPIO D1 dan D2. Dan dimana masing masing channel relay terhubung

pada GPIO D0, D5, D6, D7, dan D8 pada Wemos.

Gambar 3.3 Rangkaian Perangkat Keras Wemos Pengirim

3.3. Perancangan Algoritma Sistem

Perancangan algoritma sistem adalah untuk mempermudah pemahaman dari

cara kerja alat peringatan dini bencana banjir berbasis Internet of Things.

Perancangan Algoritma Sistem ditunjukkan pada Gambar 3.4

Page 43: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

26

(a) (b)

Gambar 3.4 (a) Perancangan Algoritma Sistem Bagian Pengirim (b)Perancangan

Algoritma Bagian Penerima

Perancangan algoritma sistem diawali dengan pembacaan nilai sensor yang

kemudian akan melakukan proses pengolahan data pada wemos. Jika hasil proses

tersebut sesuai dengan kondisi level status siaga maka nilai jarak, kecepatan, dan

juga status tingkatan level siaga akan dikirimkan ke bagian penerima melalui

firebase. Pada bagian penerima, data yang telah diambil dari firebase akan diolah

menjadi beberapa indikator berdasarkan kondisi tingkatan status siaga.

3.4. Flowchart Sistem Program Hardware

Untuk dapat menuju pada sistem Program Hardware diperlukan beberapa

tahapan, pada flowchart sistem program dibagi menjadi 2 flowchart yaitu pada

Wemos yang berperan sebagai pengirim dan Wemos yang berperan sebagai

penerima seperti yang terlihat pada Gambar 3.4 dan Gambar 3.5.

Page 44: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

27

Gambar 3.5 Flowchart Program Pengirim

Berikut adalah penjelasan dari Gambar 3.5 Flowchart program pengirim :

1. Inisialisasi variabel Status digunakan untuk status dari tingkatan siaga

banjir, variabel Jarak digunakan untuk nilai sensor, variabel Min digunakan

Page 45: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

28

untuk nilai jarak terdekat antara daratan dengan permukaan air, variabel

Med digunakan untuk nilai antara jarak terdekat dan jarak terjauh, variabel

Max digunakan untuk nilai jarak terjauh antara daratan dengan permukaan

air, variabel Kecepatan digunakan untuk hasil perhitungan kecepatan

perubahan ketinggian air, pada variabel BtsKec digunakan untuk batas nilai

kecepatan perubahan ketinggian air, sedangkan variabel DatRTC1

digunakan untuk menyimpan waktu dari RTC.

2. Proses mendeteksi jarak dan perhitungan kecepatan perubahan ketinggian

permukaan air.

3. Sensor mengukur jarak kemudian nilai jarak tersebut dibandingkan seusai

dengan nilai Min, Med, Max tadi.

4. Jika kondisi true maka akan menampilkan status banjir, nilai jarak dan

Kecepatan perubahan ketinggian air.

5. Jika Kondisi Salah maka akan ke kondisi selanjutnya.

6. Jika kondisi berada pada (Min>Jarak && Jarak <=Med) dan kondisi

tersebut adalah true, maka akan ke kondisi (kecepatan<=BtsKec), dimana

kondisi tersebut adalah kondisi batas waktu tercepat dalam perubahan

ketinggian air, ketika kondisi true maka, status menjadi Siaga I, jika kondisi

false, maka status Siaga II, begitupun kondisi selanjutnya.

7. Data yang sudah berupa status banjir, jarak, dan kecepatan selanjutnya akan

dikirim bersamaan juga dengan data dari RTC

Page 46: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

29

Gambar 3.6 Flowchart Program Penerima

Page 47: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

30

Berikut adalah penjelasan dari Gambar 3.6 Flowchart program penerima :

1. Inisialisasi variabel Jarak digunakan untuk nilai sensor yang berasal dari

pengirim, variabel Status digunakan untuk tingkatan status banjir yang

berasal dari pengirim, variabel Kecepatan digunakan untuk nilai dari

kecepatan yang berasal dari pengirim, variabel DatRTC1 merupakan data

dari RTC pengirim dan DatRTC2 merupakan data dari RTC penerima.

2. Wemos (penerima) membaca data RTC

3. Wemos (penerima) menerima data yang telah dikirimkan oleh Wemos

(pengirim).

4. Data tersebut dibuat kondisi dimana kondisi tersebut berupa status tingkatan

banjir yang telah dikirim dari Wemos (pengirim).

5. Jika kondisi true maka akan menampilkan data dari Wemos (pengirim) serta

peringatan berupa indikator buzzer dan lampu

6. Jika kondisi false maka akan ke kondisi selanjutnya.

3.5. Model Perancangan

3.5.1. Model Perancangan Simulasi Banjir

Pada Gambar 3.7 adalah desain simulasi banjir pada sungai, dengan desain

yang minimalis harapannya alat tersebut bisa mengukur jarak sesuai pada sungai

aslinya.

Page 48: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

31

Gambar 3.7 Desain Simulasi Banjir pada Sungai

Gambar 3.8 Hasil Desain Simulasi Banjir pada Sungai

Page 49: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

32

3.5.2. Model Perancangan Alat Peringatan Dini

Pada Gambar 3.9 adalah desain peringatan dini yang berfungsi untuk

memberikan informasi yang berupa indikator seperti lampu bohlam warna serta

LCD 20x4 yang berfungsi menampikan tingkatan status banjir, nilai jarak,

kecepatan perubahan dan waktu antara pengirim dan penerima.

Gambar 3.9 Desain Alat Peringatan Dini

Gambar 3.10 Hasil Desain Alat Peringatan Dini

Page 50: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

33

3.6. Ukuran Dimensi Alat

Pada saat setelah pemasangan komponen telah dilakukan maka dihasilkan

dimensi dari rancang bangun, berikut ukuran tersebut :

Tabel 3.1 Ukuran Dimensi Alat

Jenis Alat Tinggi

Alat(cm)

Lebar

Alat(cm)

Panjang

Alat(cm)

Tandon Simulasi 100 20 40

Tempat Sensor dan

Pompa 14 20 40

Alat Peringatan 30 8 21

3.7. Struktur Material

Dalam Tugas Akhir ini bahan material yang digunakan sebagai berikut :

a) Akrilik

b) Mur dan Baut

c) Kabel Jumper

d) Spacer

e) Alfaboard

f) Kaca

g) Selang

h) Pitting Lampu

3.8. Pemrograman Hardware

Pemrograman dilakukan setelah hardware selesai dibuat. Seluruh perangkat

keras diuji apakah sudah dapat berjalan dan sesuai yang diinginkan atau tidak.

Kemudian memasukkan program bahasa C ke dalam Wemos menggunakan

Page 51: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

34

aplikasi Arduino IDE. Pemrograman hardware terbagi menjadi dua, yang pertama

pada sisi pengirim dan yang kedua pada sisi penerima.

3.8.1. Pemrograman Hardware Simulasi Banjir (Pengirim)

Pada program yang pertama adalah inisialisasi global dimana terdapat

library–library dan variabel yang digunakan. Disini penulis memisahkan kode

program dalam sebuah tab. Dimana tab tersebut adalah pengirim, LCD_init.h,

RTC_init.h, Sensor_init.h, WIFI_FIREBASE_init.h, variabel.h. Pada tab

pengirim merupakan tab utama untuk menjalankan program, untuk memanggil

tab – tab yang dipisahkan tadi yaitu menggunakan sintak pemanggilan library

seperti listing program berikut:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <ESP8266WiFi.h>

#include <RtcDS3231.h>

#include <ESP8266WiFi.h>

#include <FirebaseArduino.h>

#include "variabel.h"

#include "LCD_init.h"

#include "WIFI_FIREBASE_init.h"

#include "RTC_init.h"

#include "Sensor_init.h"

Fungsi tab pada program Arduino disini hanya untuk mempermudah

dalam pembacaan program dan agar tersusun lebih rapi. Tab – tab tersebut dapat

dijelaskan sebagai berikut :

a. Tab Variabel.h

Pada tab variabel.h berisi kumpulan variabel – variabel yang bersifat global

dan untuk menyimpan suatu nilai tertentu dimana nilai tersebut dapat berubah –

ubah. Berikut listing program Tab Variabel:

Page 52: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

35

//========== Variabel LCD ==========

LiquidCrystal_I2C LCD(0x3F, 16, 2);

int a = 0;

//========== Variabel RTC ==========

RtcDS3231<TwoWire> Rtc(Wire);

#define countof(a) (sizeof(a) / sizeof(a[0]))

String waktupengirim;

String waktuLCD;

//========== Variabel Firebase&Wifi ==========

#define FIREBASE_HOST "tugas-akhir-b037c.firebaseio.com"

#define FIREBASE_AUTH

"0mavT14OZpB4IfBuZ9pJa8Yfd4et2CPKHUCyyAMb"

#define WIFI_SSID "LULUS2019"

#define WIFI_PASSWORD "PASTIBISA"

//========== Variabel Sensor ==========

const int trigPin = D5;

const int echoPin = D6;

long durasi;

float jarak;

float kecepatan;

int statuss;

int Min = 20;

int Med = 50;

int Max = 80;

int wsebelum = 0;

int logika = 0;

float j[2];

float jj1, jj2;

b. Tab LCD init.h

Pada tab LCD_init.h berisi fungsi–fungsi yang digunakan untuk

menampilkan sebuah karakter ke LCD dimana kodingan tersebut berisi tampilan

ketika koneksi wifi terhubung dan juga menampilkan nilai dari sensor. Pada LCD

yang digunakan pada sisi pengirim menggunakan LCD 16x2 yang dimana hanya

berisi nilai jarak dan kecepatan perubahan air serta menampilkan status tingkatan

siaga pada LCD 16x2.

1. Fungsi Tampilan Koneksi Wifi

Digunakan untuk menampilkan kata “Menghubungkan” dan kata tersebut

akan terulang hingga wifi terhubung kemudian akan menampilkan kata

Page 53: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

36

“Terhubung” dan juga menampilkan alamat IP yang didapat. Berikut listing

program pada fungsi tampilan koneksi wifi:

void tampilankonekwifi()

{

Serial.print("Menyambungkan");

LCD.setCursor(0,0);

LCD.print("Menyambungkan");

delay(100);

while (WiFi.status() != WL_CONNECTED)

{

LCD.print(".");

Serial.print(".");

delay(500);

if (a == 3){

LCD.clear();

LCD.setCursor(0,0);

LCD.print("Menyambungkan");

a=0;

}a++;

}

delay(1000);

LCD.clear();

LCD.setCursor(0,0);

LCD.print("Terhubung");

LCD.setCursor(0,1);

LCD.print(WiFi.localIP());

Serial.println();

Serial.print("Terhubung");

Serial.println(WiFi.localIP());

delay(2000);

LCD.clear();

}

2. Fungsi Tampilan di LCD

Digunakan untuk menampilkan status tingkatan siaga, nilai jarak, dan juga

nilai kecepatan perubahan air. Status tingkatan siaga diperoleh dari fungsi

namastatus() sedangkan nilai jarak dan nilai kecepatan perubahan air didapat dari

fungsi sensor. Berikut listing program dari fungsi tampilan LCD:

void tampilanLCD(){

namastatus();

LCD.setCursor(0,1);

LCD.print("J:");

LCD.setCursor(2,1);

LCD.print(jarak);

Page 54: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

37

LCD.setCursor(8,1);

LCD.print("K:");

LCD.setCursor(10,1);

LCD.print(kecepatan);

}

3. Fungsi Nama Status Tingkatan

Fungsi ini digunakan untuk menampilkan status tingkatan siaga sesuai

dengan ketentuan jarak antara air dan sensor. Kondisi 1 dibuat untuk siaga I,

kondisi 2 untuk status Siaga II, kondisi 3 untuk status Siaga III, dan kondisi 3

untuk status Siaga IV. Dimana kondisi kondisi tersebut didapat dari fungsi sensor

yang akan memberikan kondisi sesuai tingkatan yang telah ditentukan pada fungsi

sensor_init.h. Berikut listing program dari fungsi nama status:

void namastatus()

{

if (statuss == 1)

{

LCD.clear();

Serial.print("SiagaI");

LCD.setCursor(5,0);

LCD.print("SiagaI");

}

else if (statuss == 2)

{

LCD.clear();

Serial.print("SiagaII");

LCD.setCursor(4,0);

LCD.print("SiagaII");

}

else if (statuss == 3)

{

LCD.clear();

Serial.print("SiagaIII");

LCD.setCursor(4,0);

LCD.print("SiagaIII");

}

else if (statuss == 4)

{

LCD.clear();

Serial.print("Aman");

LCD.setCursor(6,0);

LCD.print("Aman");

}

}

Page 55: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

38

c. Tab Wifi Firebase init.h

Fungsi yang ada pada tab Wifi_firebase_init.h berisi fungsi-fungsi yang

digunakan untuk menghubungkan wifi dan juga menghubungkan wemos serta

mengupload data pada firebase.

1. Fungsi Setup Wifi

Pada fungsi ini digunakan untuk menghubungkan SSID wifi serta password

Wifi sesuai dengan deklarasi yang dibuat pada fungsi variabel. Berikut listing

program dari fungsi setup wifi:

void setupWIFI()

{

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

}

2. Fungsi Setup Firebase

Digunakan untuk menghubungkan host firebase yang telah di definisi

sebelumnya pada tab variabel.h. Berikut listing program dari fungsi setup

firebase:

void setupFIREBASE()

{

Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

}

3. Fungsi Update Data

Fungsi ini digunakan untuk mengupload data dari sensor yang berupa

status, jarak, kecepatan, dan waktu pada pengirim. Berikut listing program dari

fungsi update data:

void updatedata(){

//=====Update Nilai ke Firebase=====

Firebase.setInt("Status", statuss);

Firebase.setFloat("Jarak", jarak);

Firebase.setFloat("Kecepatan", kecepatan);

Firebase.setString("Waktu", waktupengirim);

//=====Jika Gagal Terhubung ke Firebase=====

if (Firebase.failed()) {

Page 56: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

39

Serial.print("Koneksi Firebase Gagal");

Serial.println(Firebase.error()); }

}

Penjelasan dari listing program dari fungsi update data adalah nilai dari kondisi

status yang mempunyai tipe data integer, nilai jarak dan kecepatan yang

mempunyai tipe data float, dan waktu pengirim yang mempunyai tipe data string,

akan dikirim ke firebase. Jika koneksi terputus maka akan ke kondisi setelahnya

dan akan menampilkan “Koneksi Firebase Gagal”.

d. Tab RTC init.h

Pada Tab ini berisi fungsi – fungsi untuk mengatur waktu dari modul RTC,

dimana waktu tersebut disinkronkan dengan waktu pada PC, waktu akan di set

pada saat proses upload program ke wemos.

1. Fungsi Setup RTC

Fungsi setupRTC disini untuk menginisialisasi variabel dan memulai

menggunakan library. Fungsi pengaturan hanya akan berjalan sekali, yaitu setiap

powerup atau restart board wemos. Berikut listing program dari fungsi Setup

RTC:

void setupRTC()

{

Rtc.Begin();

RtcDateTime compiled = RtcDateTime(__DATE__, __TIME__);

Serial.println();

if (!Rtc.IsDateTimeValid())

{

if (Rtc.LastError() != 0)

{

Serial.print("RTC communications error = ");

Serial.println(Rtc.LastError());

}

else

{

Serial.println("RTC lost confidence in the

Page 57: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

40

DateTime!");

Rtc.SetDateTime(compiled);

}

}

if (!Rtc.GetIsRunning())

{

Serial.println("RTC was not actively running,

starting now");

Rtc.SetIsRunning(true);

}

RtcDateTime now = Rtc.GetDateTime();

if (now < compiled)

{

Serial.println("RTC is older than compile time!

(Updating DateTime)");

Rtc.SetDateTime(compiled);

}

else if (now > compiled)

{

Serial.println("RTC is newer than compile time.

(this is expected)");

}

else if (now == compiled)

{

Serial.println("RTC is the same as compile time!

(not expected but all is fine)");

}

Rtc.Enable32kHzPin(false);

Rtc.SetSquareWavePin(DS3231SquareWavePin_ModeNone);

}

2. Fungsi Cek RTC

Berguna untuk mengecek apakah RTC terhubung pada wemos atau tidak.

Jika ada permasalahan pada RTC, maka akan ada peringatan pada serial monitor.

Berikut listing program dari fungsi cek RTC:

void cekrtc()

{

if (!Rtc.IsDateTimeValid())

{

if (Rtc.LastError() != 0)

{

Serial.print("RTC communications error = ");

Serial.println(Rtc.LastError());

}

else

{

Page 58: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

41

Serial.println("RTC lost confidence in the

DateTime!");

}

}

}

3. Fungsi Tampil Waktu Pengirim

Fungsi ini berguna untuk menyimpan data waktu RTC terbaru pada variabel

waktupengirim. Berikut listing program dari fungsi tampil waktu pengirim:

void tampilwaktupengirim()

{

RtcDateTime now = Rtc.GetDateTime();

char waktuu[20];

snprintf_P(waktuu,

countof(waktuu),

PSTR("%02u:%02u:%02u"),

now.Hour(),

now.Minute(),

now.Second() );

waktupengirim = waktuu;

}

e. Tab Sensor init.h

Tab ini berisi fungsi–fungsi yang digunakan untuk mengatur nilai jarak,

nilai kecepatan perubahan air, serta yang berhubungan dengan modul sensor

ultrasonik.

1. Fungsi Setup Sensor

Pada fungsi ini sama seperti fungsi setup lainnya yaitu untuk

menginisialisasi variabel dan memulai menggunakan library. Fungsi pengaturan

hanya akan berjalan sekali, yaitu setiap powerup atau restart board wemos.

Berikut listing program dari fungsi setup sensor:

void setupsensor()

{

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

Page 59: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

42

2. Fungsi Proses Sensor

Di fungsi ini berguna untuk memproses modul sensor ultrasonik. Pada

fungsi ini terdapat hitungan jarak antara sensor dengan permukaan air, nilai jarak

didapat dari rumus sebagai berikut :

S = v . (t/2) (1)

Dimana :

S = Jarak sumber suara terhadap benda

v= kecepatan suara (340 m/s)

t = Selisih waktu pengiriman dan penerimaan gelombang (us)

Satuan yang digunakan untuk mengukur jarak dapat berupa satuan milimeter,

centimeter, meter, dan satuan lainnya. Pada tugas akhir ini, menggunakan

centimeter sebagai satuan dari jarak. Pada persamaan (1) selisih waktu pengiriman

dan penerimaan gelombang (t) memiliki satuan us yang didapatkan dari datasheet

sensor ultrasonik HC-SR04. Jika kecepatan suara adalah 340 m/s dan pada tugas

akhir ini satuan jarak yang digunakan adalah centimeter, maka satuan dari

kecepatan suara dikonversi menjadi 0,034 cm/µs. Maka listing program sebagai

berikut:

void prosessensor()

{

//=====Proses Sensor=====

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

durasi = pulseIn(echoPin, HIGH);

//=====Menghitung Jarak=====

jarak = 0.034*(durasi/2) ;

Page 60: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

43

Selain proses menghitung jarak, pada fungsi ini dilakukan juga proses

kecepatan perubahan air. Proses menghitung kecepatan perubahan air dihitung

setiap satu detik sekali, pengambilan nilai jarak setiap satu detik sekali

menggunakan fungsi milis. Milis pada Arduino adalah menghitung waktu secara

terpisah setiap mili seconds (atau 1/1000 detik). Jadi fungsi milis disini hampir

sama seperti delay, hanya saja milis seperti sebuah multitasking yang dapat

berjalan bersamaan disaat program lainnya jalan. Nilai kecepatan perubahan air

dihitung dengan mengambil nilai awal lalu dibuat delay selama 1 detik kemudian

nilai terakhir setelah delay diambil lagi. Rumus yang digunakan sebagai berikut:

𝑲𝒆𝒄𝒆𝒑𝒂𝒕𝒂𝒏 = 𝑱𝒂𝒓𝒂𝒌

𝑾𝒂𝒌𝒕𝒖 (2)

Berikut listing program dari fungsi proses sensor untuk menghitung kecepatan:

//=====Menghitung Kecepatan Perubahan=====

unsigned long wsekarang = millis();

if((wsekarang - wsebelum) >= 1000){

wsebelum = wsekarang;

if (logika == 0){

j[0]=jarak;

logika = 1;

}

else {

j[1]=jarak;

logika = 0;

}

}

jj1 = j[0];

jj2 = j[1];

kecepatan = ((jj2-jj1)/1);

if (kecepatan <0){

kecepatan = kecepatan *-1;

}

}

Page 61: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

44

3. Fungsi Tingkatan Status

Berguna untuk menentukan tingkatan status sesuai jarak yang telah

ditentukan. Nilai jarak disini dibandingkan dengan variabel Min, Med, Max. Nilai

variabel–variabel tersebut sudah dientukan di tab variabel. Selain membandingkan

kondisi jarak, disini juga membandingkan kondisi kecepatan perubahan air. Jika

kondisi tersebut terpenuhi maka variabel “statuss” diberi nilai 1 sampai 4. Nilai

tersebut digunakan untuk menampilkan karakter Siaga I sampai Siaga IV pada

LCD. Berikut listing program dari fungsi tingkatan status:

void tingkatanstatus()

{

//=====Tingkatan Status=====

if (jarak <= Min) //SiagaI

{

if (kecepatan > 10){

statuss = 1;

}

else{

statuss = 1;

}

}

else if (jarak>Min && jarak<=Med) //SiagaII

{

if (kecepatan > 10){

statuss = 1;

}

else{

statuss = 2;

}

}

else if (jarak>Med && jarak<=Max) //SiagaIII

{

if (kecepatan > 10){

statuss = 1;

}

else{

statuss = 3;

}

}

else if (jarak>Max) //Aman

{

if (kecepatan > 10){

statuss = 1;

}

else{

Page 62: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

45

statuss = 4;

}

}

}

f. Tab Pengirim (Tab Utama)

Pada Tab Pengirim ini adalah program utama yang meng-compile fungsi

dari tab yang telah dipisah dan akan digabungkan menjadi satu.

1. Fungsi Setup

Fungsi setup pada tab pengirim ini adalah mendeklarasikan fungsi – fungsi

setup dari tab yang dipisahkan sebelumnya. Fungsi setup disini yaitu dengan cara

memanggil fungsi setup dari setiap tab. Berikut listing program dari fungsi setup:

void setup()

{

Serial.begin(9600);

setupRTC();

setupLCD();

setupWIFI();

tampilankonekwifi();

setupFIREBASE();

setupsensor();

}

2. Fungsi Loop

Pada Fungsi Loop digunakan untuk program perulangan utama yang akan

jalan terus menerus. Dan kode program yang digunakan adalah dengan cara

memanggil fungsi fungsi dari tab secara berurutan sesuai dengan urutannya.

Berikut listing program dari fungsi loop:

void loop()

{

cekrtc();

tampilwaktupengirim();

prosessensor();

tingkatanstatus();

Page 63: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

46

tampilanLCD();

updatedata();

}

3.8.2. Pemrograman Hardware Simulasi Banjir (Penerima)

Pemrograman Hardware Simulasi Banjir pada sisi penerima ada beberapa

fungsi atau kode program yang hampir sama dengan pemrograman yang ada pada

sisi pengirim. Perbedaan terdapat pada variabel, cara kerja program, serta library

yang digunakan. Berikut listing program pada pemanggilan Tab:

#include <Wire.h>

#include <LiquidCrystal_I2C.h>

#include <ESP8266WiFi.h>

#include <RtcDS3231.h>

#include <ESP8266WiFi.h>

#include <FirebaseArduino.h>

#include <Ticker.h>

#include "variabel.h"

#include "LCD_init.h"

#include "WIFI_FIREBASE_init.h"

#include "RTC_init.h"

#include "indikator_init.h"

Fungsi tab pada program Arduino di sisi penerima ini sama dengan di sisi

pengirim yaitu hanya untuk mempermudah dalam pembacaan program dan agar

tersusun lebih rapi. Tab–tab tersebut dapat dijelaskan sebagai berikut :

a. Tab Variabel.h

Pada tab variabel.h berisi kumpulan variabel–variabel yang bersifat global

dan untuk menyimpan suatu nilai tertentu dimana nilai tersebut dapat

berubah-ubah. Berikut listing program dari tab variabel:

//========== Variabel Interupt ==========

Ticker tik;

int count = 0;

//========== Variabel LCD ==========

LiquidCrystal_I2C LCD(0x27, 20, 4);

int a = 0;

//========== Variabel RTC ==========

RtcDS3231<TwoWire> Rtc(Wire);

Page 64: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

47

#define countof(a) (sizeof(a) / sizeof(a[0]))

String waktupenerima;

String waktuLCD;

//========== Variabel Firebase&Wifi ==========

#define FIREBASE_HOST "tugas-akhir-b037c.firebaseio.com"

#define FIREBASE_AUTH

"0mavT14OZpB4IfBuZ9pJa8Yfd4et2CPKHUCyyAMb"

#define WIFI_SSID "LULUS"

#define WIFI_PASSWORD "PASTIBISA"

float jarak;

float kecepatan;

int statuss;

String waktupengirim;

//========== Variabel Indikator ==========

const int Merah = D0;

const int Kuning = D5;

const int Hijau = D6;

const int Putih = D7;

const int Sirine = D3;

int st[2];

int s1, s2;

int logika = 0;

int wsebelum = 0;

int kode;

b. Tab LCD Init.h

Di tab LCD_init.h yang ada pada program penerima memiliki fungsi untuk

menampilkan data yang berupa status tingkatan siaga, nilai jarak, nilai kecepatan

perubahan air, dan waktu dari sisi pengirim dan penerima. LCD yang digunakan

disini yaitu LCD 20x4 berbeda dengan LCD yang ada pada sisi pengirim.

1. Fungsi Tampilan Koneksi Wifi

Pada fungsi ini kode program yang digunakan sama seperti pada kode

program yang ada pada sisi pengirim.

2. Fungsi Tampilan di LCD

Digunakan untuk menampilkan data berupa status tingkatan siaga, nilai

jarak, nilai kecepatan dan waktu dari pengirim dan penerima. Perbedaan kode

Page 65: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

48

program dari pengirim yaitu hanya tata letak, karena LCD yang digunakan adalah

LCD 20x4. Berikut listing program dari fungsi tampilan LCD:

void tampilanLCD()

{

//=====Tampilan di LCD=====

//LCD.setCursor(0,0);

//LCD.print("Status: ");

tingkatanstatus();

LCD.setCursor(0,1);

LCD.print("JARAK:");

LCD.setCursor(7,1);

LCD.print(jarak);

LCD.setCursor(16,1);

LCD.print("CM");

LCD.setCursor(0,2);

LCD.print("KCPTNDBIT:");

LCD.setCursor(11,2);

LCD.print(kecepatan);

LCD.setCursor(16,2);

LCD.print("CM/s");

LCD.setCursor(0,3);

LCD.print(waktupengirim);

LCD.setCursor(12,3);

LCD.print(waktupenerima);

}

3. Fungsi Nama Status Tingkatan

Fungsi ini sama persis dengan kode program yang ada pada sisi pengirim,

hanya nilai yang didapat diperoleh dari sisi pengirim. Sehingga kondisi dari

masing masing status akan berjalan sesuai dengan yang dikirimkan oleh sisi

pengirim. Berikut listing program dari fungsi tingkatan status:

void tingkatanstatus(){

if (statuss == 1)

{

LCD.clear();

Serial.print("SiagaI");

LCD.setCursor(7,0);

LCD.print("SiagaI");

}

else if (statuss == 2)

{

LCD.clear();

Serial.print("SiagaII");

LCD.setCursor(6,0);

LCD.print("SiagaII");

Page 66: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

49

}

else if (statuss == 3)

{

LCD.clear();

Serial.print("SiagaIII");

LCD.setCursor(6,0);

LCD.print("SiagaIII");

}

else if (statuss == 4)

{

LCD.clear();

Serial.print("Aman");

LCD.setCursor(8,0);

LCD.print("Aman");

}

}

c. Tab Wifi Firebase Init.h

Di tab Wifi_Firebase_init.h ini kode program yang digunakan juga sama

dengan fungsi yang ada pada sisi pengirim. Hanya di sisi penerima perintah

yang digunakan untuk mengambil data dari firebase adalah ‘tipe data + get’.

Sedangkan pada sisi pengirim kode program untuk mengirimkan data ke

firebase menggunakan perintah ‘tipe data + set’.

1. Fungsi Setup Wifi dan Fungsi Setup Firebase

Kode program yang digunakan pada Fungsi Setup Wifi dan fungsi

setupFirebase() sama seperti pada kode program yang ada pada sisi pengirim.

Pada fungsi setup wifi digunakan untuk mendeklarasikan SSID dan Password dari

wifi yang sudah dideklarasikan di tab variabel.h. sedangkan fungsi setup Firebase

digunakan untuk mendeklarasikan Host dan kode autentikasi Firebase yang juga

sudah dideklarasikan di tab variabel.h.

Page 67: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

50

2. Fungsi Ambil Data

Kode program yang digunakan pada fungsi ini berbeda dengan kode

program yang ada di sisi pengieim. Pada sisi pengirim menggunakan fungsi

update data yang digunakan untuk mengupload data ke firebase. Sedangkan

pada sisi penerima ini menggunakan fungsi ambil data, dimana proses

penguploadan data dan pengambilan data menggunakan perintah yang

dijelaskan pada tab wifi firebase. Berikut listing program dari fungsi ambil

data:

void ambildata()

{

statuss = (Firebase.getInt("Status"));

jarak = (Firebase.getFloat("Jarak"));

kecepatan = (Firebase.getFloat("Kecepatan"));

waktupengirim = (Firebase.getString("Waktu"));

if (Firebase.failed())

{

Serial.print("Koneksi Firebase Gagal");

Serial.println(Firebase.error());

}

}

d. Tab RTC init.h

Di tab RTC_init.h memiliki beberapa fungsi yang sama dengan fungsi –

fungsi yang ada pada sisi pengirim.

1. Fungsi Setup RTC dan Fungsi Cek RTC

Kegunaan dan kode program yang digunakan pada fungsi ini sama persis

dengan yang ada pada sisi pengirim. Pada fungsi setup RTC digunakan untuk

menginisialisasi variabel dan library yang akan digunakan pada RTC. Sedangkan

fungsi cek RTC digunakan untuk mengetahui apakah RTC terhubung pada wemos

dan melihat apakah waktu yang di-set sudah sesuai atau belum.

Page 68: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

51

2. Fungsi Tampil Waktu Penerima

Kode Program yang digunakan pada fungsi ini memiliki fungsi untuk

menyimpan data waktu ke variabel waktupenerima. Berikut listing program dari

fungsi tampil waktu penerima:

void tampilwaktupenerima()

{

RtcDateTime now = Rtc.GetDateTime();

char waktuu[20];

snprintf_P(waktuu,

countof(waktuu),

PSTR("%02u:%02u:%02u"),

now.Hour(),

now.Minute(),

now.Second() );

waktupenerima = waktuu;

}

e. Tab Indikator init.h

Pada tab ini berisi fungsi – fungsi yang digunakan untuk memberikan

proses peringatan berupa lampu maupun buzzer.

1. Fungsi Setup Indikator

Pada fungsi ini berisi kode program yang digunakan untuk menginisialisasi

variabel terhadap pin wemos. Adapun warna lampu indikator yang digunakan

untuk variabel yaitu merah, kuning, hijau, putih. Berikut listing program dari

fungsi setup indikator:

void setupindikator(){

pinMode(Merah,OUTPUT);

pinMode(Kuning,OUTPUT);

pinMode(Hijau,OUTPUT);

pinMode(Putih,OUTPUT);

pinMode(Sirine, OUTPUT);

pinMode(LED_BUILTIN, OUTPUT);

}

Page 69: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

52

2. Fungsi Proses Indikator

Fungsi Proses Indikator berguna untuk memberi peringatan melalui lampu

indikator maupun suara berupa sirine. Lampu akan menyala sesuai dengan kondisi

yang diambil dari firebase. Pada kondisi status Siaga 1 maka lampu merah akan

menyala, pada kondisi status Siaga 2 lampu kuning akan menyala, status dalam

kondisi Siaga 3 lampu hijau akan menyala, dan jika kondisi status Siaga 4 maka

lampu Putih akan menyala. Berikut listing program dari fungsi proses indikator:

void prosesindikator(){

if (statuss == 1)

{

digitalWrite(Merah, LOW);

digitalWrite(Kuning, HIGH);

digitalWrite(Hijau, HIGH);

digitalWrite(Putih, HIGH);

kode = 1;

}

else if (statuss == 2)

{

digitalWrite(Merah, HIGH);

digitalWrite(Kuning, LOW);

digitalWrite(Hijau, HIGH);

digitalWrite(Putih, HIGH);

kode = 2;

}

else if (statuss == 3)

{

digitalWrite(Merah, HIGH);

digitalWrite(Kuning, HIGH);

digitalWrite(Hijau, LOW);

digitalWrite(Putih, HIGH);

kode = 3;

}

else if (statuss == 4)

{

digitalWrite(Merah, HIGH);

digitalWrite(Kuning, HIGH);

digitalWrite(Hijau, HIGH);

digitalWrite(Putih, LOW);

kode = 4;

}

}

Page 70: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

53

f. Tab Penerima (Tab Utama)

Pada Tab Penerima ini adalah program utama yang akan meng-compile

fungsi – fungsi dari tab – tab yang telah dipisah dan akan digabungkan menjadi

satu.

1. Fungsi Setup ()

Fungsi setup disini hampir sama dengan fungsi setup lainnya. Hanya saja

program ini jalan dengan cara memanggil fungsi setup, misalnya setupRTC(),

setupLCD, dan lainnya. Berikut listing program dari fungsi setup pada tab utama

penerima:

void setup()

{

Serial.begin(9600);

setupRTC();

setupLCD();

setupWIFI();

tampilankonekwifi();

setupFIREBASE();

setupindikator();

tik.attach(1,pengindikatoran);

}

2. Fungsi Loop ()

Fungsi Loop digunakan untuk perogram perulangan utama yang akan jalan

terus menerus. Cara kerja kode program yang digunakan sama dengan kode

program loop di sisi pengirim. Yaitu dengan memanggil fungsi secara tersusun

sesuai dengan susunannya. Berikut listing program dari fungsi loop pada tab

utama penerima:

void loop() {

cekrtc();

ambildata();

tampilwaktupenerima();

tampilanLCD();

prosesindikator();

}

Page 71: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

54

3. Fungsi Pengindikatoran ()

Pada fungsi Pengindikatoran ini berfungsi untuk menghidupkan sirine

sesuai jeda waktu yang ditentukan. Jadi kode program disini berjalan secara

interupt. Kode program akan jalan terus menerus tanpa gangguan dari program

utama. Berikut listing program dari fungsi pengindikatoran pada tab utama

penerima:

void pengindikatoran()

{

if (kode == 1)

{

digitalWrite(Sirine, HIGH);

}

else if (kode == 2)

{

count++;

if(count<2){

digitalWrite(Sirine, LOW);

}

else{

digitalWrite(Sirine, HIGH);

count = 0;

}

}

else if (kode == 3)

{

count++;

if(count<3)

{

digitalWrite(Sirine, LOW);

}

else if (count >= 3){

if (count < 7){

digitalWrite(Sirine, HIGH);

count = 0;

}

}

}

else if (kode == 4)

{

digitalWrite(Sirine, LOW);

}

}

Page 72: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

55

BAB IV

HASIL PENGUJIAN DAN PENGAMATAN

Dalam bab ini penulis akan menguraikan dan menjelaskan beberapa hasil

pengujian dan hasil penelitian Tugas Akhir ini. Tujuan dari bab ini adalah untuk

mengetahui tingkat keberhasilan terhadap perancangan sistem yang telah diajukan

dan dikerjakan. Pengujian yang dilakukan meliputi uji jarak sensor ultrasonik, uji

kecepatan perubahan ketinggian air dan uji waktu pengiriman data.

4.1. Uji Wemos

4.1.1. Tujuan Uji Wemos

Pengujian ini dilakukan untuk memastikan Wemos masih berfungsi dengan

baik dan tidak dalam keadaan rusak.

4.1.2. Alat Yang Digunakan Pada Uji Wemos

Untuk melakukan percobaan ini maka diperlukan beberapa alat sebagai

berikut:

1. Power Supply 5V

2. Kabel data USB mikro

3. Wemos D1 Mini

4. Laptop

5. Software Arduino IDE

Page 73: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

56

4.1.3. Prosedur Pengujian Pada Uji Wemos

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adalah

sebagai berikut:

1. Menyalakan laptop yang akan digunakan untuk menguji Wemos.

2. Membuka software Arduino IDE

3. Melakukan instalasi library Wemos pada Arduino IDE

a. Untuk mengatur download boards Wemos D1 Mini masuk pada

menu file lalu meng-klik preferences, memasukkan alamat url

berikut:

http://arduino.esp8266.com/stable/package_esp8266com_index.

json kedalam kolom Additional Boards Manager Urls lalu

meng-klik OK. Perhatikan Gambar 4.1

Gambar 4.1 File Preferences

Page 74: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

57

b. Setelah selesai memasukkan URL kemudian membuka tools

pilih board lalu meng-klik board manager. Seperti Gambar 4.2

Gambar 4.2 Boards Manager

c. Setelah muncul window board manager, menuliskan pada

kolom “esp8266” lalu menekan tombol enter, setelah pencarian

selesai meng-klik tombol install, lalu tunggu hingga proses

download dan install selesai. Perhatikan Gambar 4.4

Gambar 4.3 Mencari Dan Install Boards Wemos

Page 75: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

58

d. Setelah installasi selesai silahkan cek pada menu tools pilih

board lalu cari Wemos D1 Mini, bila Arduino IDE sudah

support Wemos dan memiliki library board-nya. Perhatikan

Gambar 4.4

Gambar 4.4 Pengecekan Boards Wemos D1 Mini Sudah Terinstal

3. Memasangkan kabel data USB mikro pada Wemos D1 Mini dan sisi

USB dihubungkan kepada USB laptop

4. Menyalin Source code dengan judul “pengujian Wemos mengunakan

led blink” pada lampiran.

5. Membuka device manager pada laptop, periksa COM port Wemos

berada di COM nomor berapa. Seperti pada Gambar 4.5.

Page 76: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

59

Gambar 4.5 Tampilan Device Manager

Dari Gambar 4.5 dapat dilihat bahwa Wemos berada di COM 5 pada

laptop penulis.

6. Menyesuaikan port Wemos pada Arduino IDE dengan device

manager. Perhatikan Gambar 4.6

Gambar 4.6 Setting Port Wemos

Page 77: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

60

Dari Gambar 4.6 dapat dilihat bahwa pada Arduino IDE sudah di-

setting port komunikasi Wemos berada di COM5.

7. Meng-upload program yang telah dibuat menuju ke Wemos dengan

meng-klik tombol upload yang bergambar panah ke kanan di bawah

menu. Perhatikan Gambar 4.7.

Gambar 4.7 Ikon Upload

Pada Gambar 4.7 dapat dilihat bahwa setelah ikon upload di-klik

maka Arduino IDE melakukan proses upload program menuju ke

Wemos melewati port komunikasi.

Gambar 4.8 Proses Upload Program Ke Wemos

4.1.4. Hasil Pengujian Pada Uji Wemos

Setelah melakukan pengujian kepada Wemos didapatkan hasil seperti pada

Gambar 4.9 dan Gambar 4.10

Gambar 4.9 Upload Program Ke Wemos Sukses

Page 78: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

61

Pada Gambar 4.9 menunjukan bahwa program yang telah di-upload menuju

Wemos berhasil sampai 100%, hal ini menunjukkan Wemos dalam keadaan sudah

dapat dimasuki program.

Gambar 4.10 Hasil Dari Upload Program

Pada Gambar 4.10 menunjukkan bahwa program yang telah dibuat dapat

berjalan sesuai yang diinginkan, ditunjukkan dengan menyalanya lampu led yang

berada di Wemos. Ini menunjukkan bahwa Wemos dapat berjalan sesuai dengan

mestinya, juga dapat disimpulkan bahwa Wemos dalam keadaan baik dan siap

digunakan.

4.2. Uji Wifi Wemos Pada Access Point

4.2.1. Tujuan Uji Wifi Wemos Pada Access Point

Pengujian ini dilakukan untuk memastikan Wemos dapat menghubungkan

diri kepada access point yang ditentukan serta dapat berkomunikasi di jaringan

yang dibuat oleh access point dan dapat terhubung dengan firebase.

Page 79: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

62

4.2.2. Alat Yang Digunakan Pada Pengujian Wifi Wemos Pada Access Point

Untuk melakukan percobaan ini maka diperlukan beberapa alat sebagai

berikut:

1. Wemos D1 Mini

2. Access Point / Hotspot Portable

3. Software Arduino IDE

4. Laptop

5. Kabel data mikro USB

4.2.3. Prosedur Pengujian Pada Pengujian Wifi Wemos Pada Access Point

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adalah

sebagai berikut:

1. Nyalakan Access Point / Hotspot Portable

2. Nyalakan Laptop dan lihat SSID Wifi yang akan dihubungkan pada

laptop. Perhatikan Gambar 4.11.

Gambar 4.11 SSID Yang Akan Dihubungkan Oleh Wemos

Page 80: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

63

3. Menuliskan kode program dan menuliskan SSID Wifi dan password

menggunakan aplikasi Arduino IDE Berikut listing program pada

pengujian koneksi wemos:

#include <ESP8266WiFi.h>

#define WIFI_SSID "LULUS2019"

#define WIFI_PASSWORD "PASTIBISA"

void setup() {

Serial.begin(9600);

WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

Serial.print("Menyambungkan");

delay(100);

while (WiFi.status() != WL_CONNECTED)

{

Serial.print(".");

delay(500);

}

delay(1000);

Serial.println();

Serial.print("Terhubung");

Serial.println(WiFi.localIP());

delay(2000);

}

void loop() {

// put your main code here, to run repeatedly:

}

4. Melakukan transfer program ke Wemos D1 Mini

5. Membuka Serial Monitor pada Arduino IDE jika berhasil maka akan

tampil IP Address pada Serial Monitor. Perhatikan Gambar 4.12.

Gambar 4.12 Wemos Terhubung ke Access Point dan Mendapatkan Alamat IP

Address

Page 81: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

64

4.2.4. Hasil Pengujian Wifi Wemos Pada Access Point

Dilihat dari Gambar 4.12 dapat disimpulkan bahwa Wemos dapat terhubung

ke jaringan WLAN yang dibuat oleh access point dan mendapatkan alamat IP

Address dari access point, ini menunjukkan Wifi Wemos dalam keadaan baik dan

dapat digunakan untuk komunikasi.

4.3. Uji Jarak Sensor

4.3.1. Tujuan Uji Jarak Sensor

Pengujian ini digunakan untuk mengetahui perbedaan nilai jarak

sesungguhnya dengan nilai jarak yang dibaca oleh sensor. Dengan diketahuinya

perbedaan nilai jarak tersebut dapat ditentukan sebagai nilai untuk

membandingkan antara sensor dengan jarak sesungguhnya. Pada pengujian sensor

ultrasonik diletakkan didalam pipa berdiameter 8 cm dengan ketinggian 100 cm.

4.3.2. Alat Yang Digunakan Pada Uji Jarak Sensor

Peralatan yang dibutuhkan untuk pengujian ini adalah sebagai berikut:

1. Sensor Ultrasonik

2. Laptop

3. Wemos D1 Mini

4. LCD 16x2

5. Program Arduino IDE

6. Pipa

7. Akuarium Tinggi 1 meter

8. Pompa DC

9. Alat Ukur Meteran

Page 82: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

65

4.3.3. Prosedur Pengujian Pada Uji Jarak Sensor

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adalah sebagai

berikut:

1. Menghubungkan Wemos dengan sensor ultrasonik dengan kabel

untuk memindahkan data hasil sensor ke Wemos.

2. Menuliskan kode program pada Arduino IDE seperti listing program

berikut:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C LCD(0x3F, 16, 2);

const int trigPin = D5;

const int echoPin = D6;

long durasi;

float jarak;

void setup() {

LCD.begin();

LCD.backlight();

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

//=====Proses Sensor=====

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

durasi = pulseIn(echoPin, HIGH);

//=====Menghitung Jarak=====

jarak = (0.034*(durasi/2)) ;

LCD.setCursor(0,0);

LCD.print("TES PENGUKURAN");

LCD.setCursor(0,1);

LCD.print("JARAK:");

LCD.setCursor(6,1);

LCD.print(jarak);

LCD.setCursor(12,1);

LCD.print("CM");

delay(1000);

LCD.clear();

}

3. Melakukan transfer program dari laptop ke Wemos D1 Mini.

Page 83: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

66

4. Meletakkan sensor ultrasonik pada ujung pipa.

5. Mengamati nilai sensor ultrasonik pada LCD16x2. Perhatikan Gambar

4.13.

Gambar 4.13 Tampilan Nilai Jarak Sensor Pada LCD 16x2

6. Mengukur ketinggian sebenarnya dengan menggunakan meteran

7. Membandingkan nilai sensor dengan nilai meteran.

4.3.4. Hasil Pengujian Pada Uji Jarak Sensor

Pada pengujian jarak sensor, sensor langsung membaca saat Wemos

dinyalakan dan ketika sensor mengenai target maka sensor melakukan

pembacaan. Pada tabel 4.1 menunjukkan hasil uji sensor.

Tabel 4.1 Hasil Pengujian Jarak Sensor

No. Sensor

(cm)

Alat

Ukur

(cm)

Selisih

Error

Persentase

Error (%)

1 11,6 9 2,6 29,2

2 12,9 10 2,9 28,9

3 13,1 11 2,1 18,7

4 13,4 12 1,4 11,3

5 16,3 15 1,3 8,6

6 18,3 17 1,3 7,6

7 24,0 23 1,0 4,5

8 27,3 26 1,3 5,0

9 30,3 29 1,3 4,3

10 34,8 33 1,8 5,3

11 38,4 37 1,4 3,6

12 41,6 40 1,6 3,9

13 43,0 42 1,0 2,3

Page 84: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

67

No. Sensor

(cm)

Alat

Ukur

(cm)

Selisih

Error

Persentase

Error (%)

14 45,0 44 1,0 2,2

15 48,8 48 0,8 1,7

16 51,9 51 0,9 1,8

17 53,7 53 0,7 1,4

18 55,8 55 0,8 1,5

19 64,2 64 0,2 0,2

20 66,8 66 0,8 1,2

21 70,7 70 0,7 1,0

22 73,7 73 0,7 0,9

23 76,7 76 0,7 0,9

24 79,6 79 0,6 0,7

25 81,9 81 0,9 1,1

26 83,7 83 0,7 0,8

27 88,4 88 0,4 0,4

28 91,8 92 0,2 0,3

29 93,4 94 0,6 0,6

30 95,2 97 1,8 1,9

Rata-Rata Persentase Error 5,1

Pada Tabel 4.1 pengujian sensor ultrasonik dilakukan percobaan sebanyak

30 kali. Pada kolom sensor data diperoleh dari sensor ultrasonik. Sedangkan pada

kolom alat ukur data diperoleh dari alat ukur meteran. Sedangkan Persentase error

di dapatkan dari persamaan (3)

𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐸𝑟𝑟𝑜𝑟 = 𝑆𝑒𝑙𝑖𝑠𝑖ℎ 𝑆𝑒𝑛𝑠𝑜𝑟 𝑑𝑒𝑛𝑔𝑎𝑛 𝐴𝑙𝑎𝑡 𝑈𝑘𝑢𝑟

𝐴𝑙𝑎𝑡 𝑈𝑘𝑢𝑟 𝑥 100%

(3)

Pada Tabel 4.1 pengujian sensor ultrasonik mampu mendapatkan hasil yang

baik dengan tingkat Rata-rata Persentase error sebesar 5,1%, yang didapatkan dari

persamaan (4).

𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 𝑃𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝐸𝑟𝑟𝑜𝑟 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑝𝑒𝑟𝑠𝑒𝑛𝑡𝑎𝑠𝑒 𝑒𝑟𝑟𝑜𝑟

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 (4)

Page 85: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

68

4.4. Uji Respon Sensor

4.4.1. Tujuan Uji Respon Sensor

Pengujian ini digunakan untuk mengetahui berapa lama sensor dapat

merespon perubahan jarak. Dengan mengetahui seberapa cepat sensor merespon

perubahan, maka membuat kondisi menjadi lebih akurat.

4.4.2. Alat Yang Digunakan Pada Uji Respon Sensor

Peralatan yang dibutuhkan untuk pengujian adalah sebagai berikut:

1. Sensor Ultrasonik

2. Laptop

3. Wemos D1 Mini

4. LCD 16x2

5. Program Arduino IDE

6. Pipa

7. Akuarium Tinggi 1 Meter

8. Alat Ukur Meteran

4.4.3. Prosedur Pengujian Pada Uji Respon Sensor

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adalah sebagai

berikut:

1. Menghubungkan Wemos dengan sensor ultrasonik dengan kabel

untuk memindahkan data hasil sensor ke Wemos.

2. Menuliskan kode program pada Arduino IDE seperti listing program

berikut:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C LCD(0x3F, 16, 2);

Page 86: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

69

const int trigPin = D5;

const int echoPin = D6;

long durasi;

int jarak;

int wsebelum = 0;

int a,detikakhir;

float aray[1];

void setup() {

Serial.begin(9600);

LCD.begin();

LCD.backlight();

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

//=====Proses Sensor=====

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

durasi = pulseIn(echoPin, HIGH);

//=====Menghitung Jarak=====

jarak = (0.034*(durasi/2)) ;

unsigned long wsekarang = millis();

if((wsekarang - wsebelum) >= 1000){

wsebelum = wsekarang;

a = a+1;

if (a==15){

a=0;

}

Serial.print(a);

Serial.println(" ");

}

if(jarak==45){

aray[0]=a;

detikakhir=aray[0];

Serial.print(detikakhir);

LCD.setCursor(0,0);

LCD.print("J Terakhir:");

LCD.setCursor(11,0);

LCD.print(jarak);

LCD.setCursor(14,0);

LCD.print("CM");

LCD.setCursor(0,1);

LCD.print("Respon:");

LCD.setCursor(7,1);

LCD.print(detikakhir);

LCD.setCursor(9,1);

LCD.print("Detik");

delay(5000);

Page 87: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

70

a=0;

LCD.clear();

}

LCD.setCursor(0,0);

LCD.print("Jarak:");

LCD.setCursor(6,0);

LCD.print(jarak);

LCD.setCursor(11,0);

LCD.print("CM");

LCD.setCursor(0,1);

LCD.print("Waktu:");

LCD.setCursor(6,1);

LCD.print(a);

LCD.setCursor(11,1);

LCD.print("Detik");

delay(1000);

LCD.clear();

}

3. Melakukan transfer program dari laptop ke Wemos D1 Mini.

4. Mengamati nilai sensor ultrasonik yang telah diolah Wemos D1 Mini.

Perhatikan Gambar 4.14.

Gambar 4.14 Tampilan Nilai Sensor Sebelum Air Dimasukkan Ke Tempat

Pengukuran.

5. Ambil air pada tempat pengukuran sesuai dengan tampilan di LCD

16x2 menggunakan pompa.

6. Setelah air tertampung pada wadah, masukkan lagi ke dalam tempat

pengukuran secara langsung tanpa pompa. Perhatikan Gambar 4.15.

Sebelum memasukkan kembali perhatikan nilai jarak dan waktu pada

LCD 16x2.

Page 88: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

71

Gambar 4.15 Cara Memasukkan Air Ke Tempat Pengukuran

7. Lihat jarak terakhir dan waktu respon pada LCD 16x2. Perhatikan

Gambar 4.16.

Gambar 4.16 Tampilan Nilai Sensor Setelah Air Dimasukkan Ke Tempat

Pengukuran

4.4.4. Hasil Pengujian Pada Uji Respon Sensor

Pada pengujian respon sensor ini, sensor yang telah diolah di Wemos akan

menghasilkan nilai jarak serta waktu respon yang akan ditampilkan pada LCD

16x2. Pengujian ini dilakukan dengan perubahan air sebesar 5 cm dan 10 cm.

Pada Tabel 4.2 menunjukkan hasil uji respon sensor.

Page 89: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

72

Tabel 4.2 Hasil Pengujian Respon Sensor

Percobaan

ke - Jarak - s/d - (cm)

Waktu

Respon (s)

Perubahan 5 cm

1 15 s/d 10

4

2 3

3 25 s/d 20

3

4 5

5 45 s/d 40

4

6 4

7 65 s/d 60

4

8 4

9 85 s/d 80

6

10 5

Perubahan 10 cm

1 20 s/d 10

5

2 5

3 30 s/d 20

6

4 5

5 50 s/d 40

7

6 7

7 70 s/d 60

6

8 6

9 90 s/d 80

8

10 10

Rata - Rata Waktu Respon 5 cm 4,20

Rata - Rata Waktu Respon 10 cm 6,50

Pada Tabel 4.2 Hasil Pengujian Respon Sensor dilakukan percobaan

dengan perubahan 5 cm dan 10 cm dan masing masing sebanyak 10 kali. Pada

kolom jarak yaitu jarak berubahnya sensor sebesar 5 cm dan 10 cm. nilai tersebut

merupakan nilai dari sensor bukan dari alat ukur. Pada kolom waktu respon yaitu

waktu yang dibutuhkan sensor untuk merespon perubahan air dalam perubahan

yang cepat. Rata-rata respon waktu yang dibutuhkan pada perubahan 5cm sebesar

4,20 detik. Dan rata-rata respon waktu yang dibutuhkan pada perubahan 10 cm

sebesar 6,50 detik.

Page 90: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

73

4.5. Uji Kecepatan Perubahan Ketinggian Permukaan Air

4.5.1. Tujuan Uji Kecepatan Perubahan Ketinggian Permukaan Air

Pengujian Kecepatan Perubahan Ketinggian Permukaan Air berfungsi untuk

mengetahui kecepatan perubahan dari benda yang dipantulkan oleh sensor

ultrasonik. Pada pengujian ini kecepatan perubahan air dihitung dalam satuan

cm/s dimana perubahan tersebut akan menghitung setiap 1 detik sekali.

4.5.2. Alat yang Digunakan Pengujian Pada Uji Kecepatan Perubahan

Ketinggian Permukaan Air

Peralatan yang dibutuhkan untuk pengujian ini adalah sebagai berikut:

1. Sensor Ultrasonik

2. Laptop

3. Wemos D1 Mini

4. LCD 16x2

5. Program Arduino IDE

6. Pipa

7. Akuarium tinggi 1 meter

8. Pompa DC

9. Alat Ukur Meteran

10. Modul Relay

4.5.3. Prosedur Pengujian Uji Kecepatan Perubahan Ketinggian

Permukaan Air

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adakah sebagai

berikut:

Page 91: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

74

1. Menghubungkan Wemos dengan sensor ultrasonik dengan kabel

untuk memindahkan data hasil sensor ke Wemos.

2. Menghubungkan modul relay ke pin D8 pada Wemos.

3. Menuliskan Program pada Arduino IDE untuk pengujian kecepatan

perubahan air seperti listing program berikut:

#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C LCD(0x3F, 16, 2);

const int trigPin = D5;

const int echoPin = D6;

long durasi;

int jarak;

int wsebelum = 0;

int a,detikakhir;

float aray[1];

void setup() {

Serial.begin(9600);

LCD.begin();

LCD.backlight();

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

}

void loop() {

//=====Proses Sensor=====

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

durasi = pulseIn(echoPin, HIGH);

//=====Menghitung Jarak=====

jarak = (0.034*(durasi/2)) ;

unsigned long wsekarang = millis();

if((wsekarang - wsebelum) >= 1000){

wsebelum = wsekarang;

a = a+1;

if (a==15){

a=0;

}

Serial.print(a);

Serial.println(" ");

}

if(jarak==45){

aray[0]=a;

detikakhir=aray[0];

Serial.print(detikakhir);

Page 92: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

75

LCD.setCursor(0,0);

LCD.print("J Terakhir:");

LCD.setCursor(11,0);

LCD.print(jarak);

LCD.setCursor(14,0);

LCD.print("CM");

LCD.setCursor(0,1);

LCD.print("Respon:");

LCD.setCursor(7,1);

LCD.print(detikakhir);

LCD.setCursor(9,1);

LCD.print("Detik");

delay(5000);

a=0;

LCD.clear();

}

LCD.setCursor(0,0);

LCD.print("Jarak:");

LCD.setCursor(6,0);

LCD.print(jarak);

LCD.setCursor(11,0);

LCD.print("CM");

LCD.setCursor(0,1);

LCD.print("Waktu:");

LCD.setCursor(6,1);

LCD.print(a);

LCD.setCursor(11,1);

LCD.print("Detik");

delay(1000);

LCD.clear();

}

4. Melakukan transfer program dari laptop ke Wemos D1 Mini

5. Meletakkan sensor ultrasonik pada ujung pipa dan memasang pompa

pada modul relay.

6. Perhatikan nilai jarak pada alat ukur dan LCD sebelum pompa

menyala otomatis selama 1 detik.

7. Setelah pompa menyala dan kemudian mati, perhatikan lagi nilai jarak

pada alat ukur. Pada tampilan di LCD perhatikan nilai kecepatan dan

jarak saat pompa menyala selama 1 detik.

Page 93: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

76

4.5.4. Hasil Pengujian Pada Uji Kecepatan Perubahan Ketinggian

Permukaan Air

Pada pengujian kecepatan perubahan ketinggian permukaan air, nilai dari

sensor ultrasonik akan diolah Wemos dan akan menghitung sesuai dengan rumus

kecepatan. Pada Tabel 4.3 menunjukkan hasil uji kecepatan sensor.

Tabel 4.3 Hasil Pengujian Kecepatan Sensor

No

Alat Ukur Sensor Ultrasonik

Error

(cm/s) Jarak

Awal

(cm)

Jarak

Akhir

(cm)

Waktu

(s)

Kecepatan

(cm/s)

Jarak

Awal

(cm)

Jarak

Akhir

(cm)

Waktu

(s)

Kecepatan

(cm/s)

1 28,2 27,9

1

0,3 28,9 28,3

1

0,2 0,1

2 28,3 28,2 0,1 29,9 28,9 0,4 0,3

3 28,6 28,3 0,3 30,2 29,9 0,3 0

4 28,8 28,6 0,2 30,4 30,2 0,1 0,1

5 29,0 28,8 0,2 30,6 30,4 0,1 0,1

6 42,9 42,7 0,2 42,8 42,6 0,2 0

7 43,0 42,9 0,1 43,0 42,8 0,2 0,1

8 43,3 43,0 0,3 43,2 43,0 0,3 0

9 43,6 43,3 0,3 43,5 43,2 0,3 0

10 44,0 43,6 0,4 44,1 43,5 0,3 0,1

11 52,2 52,0 0,2 52,6 52,0 0,4 0,2

12 52,4 52,2 0,2 52,4 52,6 0,3 0,1

13 52,6 52,4 0,2 53,0 52,4 0,2 0

14 52,8 52,6 0,2 53,2 53,0 0,3 0,1

15 53,0 52,8 0,2 53,8 53,2 0,2 0

16 61,2 61,0 0,1 61,6 61,0 0,3 0,2

17 61,5 61,2 0,3 61,8 61,6 0,3 0

18 61,8 61,5 0,3 61,8 61,8 0,4 0,1

19 61,9 61,8 0,1 61,9 61,8 0,3 0,2

20 62,0 61,9 0,1 62,5 61,9 0,1 0

21 77,9 77,7 0,2 77,0 76,8 0,5 0,3

22 78,1 77,9 0,2 77,2 77,0 0,4 0,2

23 78,3 78,1 0,2 77,5 77,2 0,3 0,1

24 78,7 78,3 0,4 78,2 77,7 0,3 0,1

25 79,0 78,8 0,2 78,4 78,2 0,3 0,1

26 97,0 96,7 0,3 95,3 95,1 0,3 0

27 97,1 97,0 0,1 95,5 95,3 0,5 0,4

28 97,4 97,1 0,3 95,8 95,5 0,4 0,1

29 97,5 97,4 0,1 95,9 95,8 0,3 0,2

30 97,8 97,5 0,3 96,2 95,9 0,3 0

Rata - Rata Error 0,1

Page 94: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

77

Pada Tabel 4.3 pengujian perubahan air dilakukan percobaan sebanyak 30

kali. Pada kolom kecepatan pada alat ukur maupun sensor, didapatkan dari

persamaan (5).

𝐾𝑒𝑐𝑒𝑝𝑎𝑡𝑎𝑛 = 𝐽𝑎𝑟𝑎𝑘 𝐴𝑤𝑎𝑙 − 𝐽𝑎𝑟𝑎𝑘 𝐴𝑘ℎ𝑖𝑟

1 𝐷𝑒𝑡𝑖𝑘

(5)

Hanya saja cara pengambilan nilai nya berbeda, pada alat ukur nilai jarak

diambil secara manual menggunakan alat ukur meteran, sedangkan pada sensor

diambil nilai dari sensor ultrasonik lalu diolah oleh Wemos. Pada Tabel 4.3

Pengujian Perubahan Air mampu mendapatkan hasil yang baik dengan tingkat

rata rata error sebesar 0,1 cm/s, yang didapatkan dari rumus:

𝑅𝑎𝑡𝑎 − 𝑟𝑎𝑡𝑎 𝐸𝑟𝑟𝑜𝑟 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝐸𝑟𝑟𝑜𝑟

𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎

(6)

4.6. Uji Keseluruhan Sistem

4.6.1. Tujuan Uji Keseluruhan Sistem

Pengujian ini digunakan untuk mengetahui hasil keseluruhan sistem. Dari

awal sensor mendeteksi jarak hingga diolah dan dikirim ke wemos penerima

apakah data tersebut sesuai dengan apa yang dikirim oleh wemos pengirim, dan

pada sisi penerima apakah indikator lampu dan buzzer menyala dengan sesuai.

4.6.2. Alat Yang Digunakan Pada Uji Keseluruhan Sistem

Untuk melakukan percobaan ini maka diperlukan beberapa alat sebagai

berikut:

1. 2 buah Wemos D1 Mini

2. Software Arduino IDE

Page 95: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

78

3. 6 Channel Module Relay

4. LCD 16x2 dan LCD 20x4

5. Access Point

6. Lampu dan Sirine

7. Sensor Ultrasonik

8. 2 buah RTC DS3231

9. Pompa DC

4.6.3. Prosedur Pengujian Pada Uji Keseluruhan Sistem

Langkah-langkah yang dilakukan dalam melakukan pengujian ini adalah

sebagai berikut:

1. Menghubungkan Wemos dengan RTC DS3231 dan Sensor Ultrasonik

dengan kabel untuk memindahkan data RTC dan Sensor ke Wemos

Pengirim.

2. Menghubungkan Wemos dengan RTC dan Modul Relay dengan kabel

pada Wemos Penerima

3. Hubungkan kedua Wemos dengan Access Point yang berbeda dan

dapat terhubung dengan internet.

4. Melakukan transfer program ke kedua Wemos dengan program

pengirim dan penerima yang ada pada lampiran.

5. Mengisi air dengan pompa DC ke dalam wadah pengukuran seperti

Gambar 4.17

Page 96: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

79

Gambar 4.17 Proses Pengisian Wadah Pengukuran Dengan Pompa

6. Perhatikan nilai jarak dan tingkatan status siaga pada LCD 16x2 yang

ada pada bagian pengirim.

7. Bandingkan dengan data yang ada pada bagian penerima pada LCD

20x4 atau serial Arduino IDE. Perhatikan Gambar 4.18

Gambar 4.18 Tampilan LCD 20x4 pada Bagian Penerima

8. Selisih waktu antara waktu pengirim (pojok kiri bawah) dan waktu

penerima (pojok kanan bawah) merupakan waktu delay pengiriman.

9. Lampu indikator dan buzzer akan menyala sesuai dengan tingkatan

status siaga yang tampil pada LCD.

Page 97: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

80

4.6.4. Hasil Pengujian Pada Uji Keseluruhan Sistem

Pada pengujian keseluruhan sistem, alat akan diuji secara keseluruhan mulai dari

sensor mendeteksi jarak hingga data terkirim ke bagian penerima dan akan di proses

menjadi beberapa indikator. Pada pembahasan kali ini terdapat beberapa pengujian yang

akan di uji seperti jarak komunikasi antara wemos, jarak sensor, kekuatan sinyal provider,

delay pengiriman, status di penerima, serta indikator lampu dan buzzer. Tabel 4.4

merupakan hasil pengujian dari keseluruhan sistem.

Tabel 4.4 Hasil Pengujian Keseluruhan Sistem

No Jarak Sensor

(cm)

Status di

Penerima

Indikator

Lampu Indikator Buzzer Keterangan

1 20,2 Siaga I Merah Menyala Terus Sesuai

2 38 Siaga II Kuning Menyala 1s, Mati 2s Sesuai

3 51,9 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

4 38,4 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

5 41,6 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

6 77,0 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

7 45,0 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

8 87,6 Siaga IV Putih Mati Sesuai

9 51,9 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

10 66,8 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

11 70,7 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

12 64,7 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

13 33,4 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

14 21,4 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

15 44,7 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

16 83,7 Siaga IV Putih Mati Sesuai

17 65,3 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

18 91,8 Siaga IV Putih Mati Sesuai

19 93,4 Siaga IV Putih Mati Sesuai

20 57,1 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

21 25,4 Siaga II Kuning Mrnyala 1s, Mati 1s Sesuai

22 30,6 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

23 19,2 Siaga I Merah Menyala Terus Sesuai

24 90,3 Siaga IV Putih Mati Sesuai

25 55,9 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

26 43 Siaga II Kuning Menyala 1s, Mati 1s Sesuai

27 78,3 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

28 13,5 Siaga I Merah Menyala Terus Sesuai

29 58,7 Siaga III Hijau Menyala 2s, Mati 3s Sesuai

30 84 Siaga IV Putih Mati Sesuai

Page 98: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

81

BAB V

PENUTUP

Dalam bab ini berisi tentang kesimpulan dan saran yang berdasar pada hasil

dari pengujian yang telah dilakukan pada Tugas Akhir ini, maka dapat diperoleh

beberapa kesimpulan dan saran untuk pengembangan sistem berikutnya.

5.1. Kesimpulan

Berdasarkan hasil perancangan Alat Peringatan Deteksi Dini Bencana

Banjir Menggunakan Wemos Pada Sungai Berbasis Internet of Things. Maka

dapat diambil beberapa kesimpulan sebagai berikut :

1. Alat yang telah dirancang dapat memberikan hasil jarak ketinggian

permukaan air secara otomatis namun tingkat rata-rata persentase error

sensor ultrasonik tersebut adalah 5,1%. Persentase error tersebut merupakan

persentase pengukuran jarak sensor terhadap permukaan air.

2. Waktu respon sensor sebesar 4,2 second dari perubahan ketinggian

permukaan air sebesar 5 cm, dan 6,5 second dari perubahan ketinggian

permukaan air sebesar 10 cm.

3. Kecepatan perubahan ketinggian permukaan air antara permukaan air

dengan sensor memiliki rata-rata error sekitar 0,1 cm/s.

4. Secara keseluruhan alat yang akan mengirimkan dan menerima data sangat

bergantung pada koneksi internet

Page 99: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

82

5.2. Saran

Saran yang diberikan oleh penulis pada pengembangan penelitian ini

selanjutnya adalah sebagai berikut:

1. Peringatan deteksi dini bencana banjir menggunakan Wemos perlu

dikembangkan dari segi komunikasi karena masih menggunakan web

hosting gratis yang dimana apabila penelitian selanjutnya menggunakan

web hosting pribadi atau koneksi lain secara lokal dan dapat dipantau secara

jauh, maka dapat memperkecil delay yang dihasilkan, sehingga sistem dapat

memberikan respon yang lebih cepat.

2. Pada sensor, sensor masih menggunakan sensor ultrasonik HC-SR04,

dimana sensor tersebut masih memiliki tingkat akurat yang belum

sepenuhnya sempurna dan masih memiliki batasan jarak.

3. Dikarenakan alat ini masih berupa prototype, agar kedepannya dapat dibuat

alat secara real dan dapat digunakan langsung.

Page 100: RANCANG BANGUN ALAT PERINGATAN DETEKSI DINI BENCANA …repository.dinamika.ac.id/id/eprint/3591/1/15410200041-2019-STIKO… · rancang bangun alat peringatan deteksi dini bencana

83

DAFTAR PUSTAKA

Annisa, R. (2018). Rancang Bangun Alat Peringatan Dini Bencana BanjirBerbasis

Mikrokontroler Pada Daerah Aliran Sungai Musi (Studi Kasus Tusan

Kirap Sekayu). Jurnal Teknologi Informasi dan Komputer Politeknik

Sekayu, 23-37.

Arifin, J., Zulita, L. N., & Hermansyah. (2016). Perancangan Murottal Otomatis

Menggunakan Mikrokontroller Arduino Mega 2560. Jurnal Media

Infotama, 91.

Junaidi, A. (2015). Internet Of Things, Sejarah, Teknologi dan Penerapannya.

Jurnal Ilmiah Teknologi Informasi Terapan, 63-64.

P.Marian. (2015). HC-SR04 Datasheet. Diambil kembali dari

www.electroschematics.com:

https://www.electroschematics.com/8902/hc-sr04-datasheet/

Putri, D. M. (2017, Februari 23). Mengenal Wemos D1 Mini Dalam Dunia IoT.

Diambil kembali dari ilmuti.org: http://ilmuti.org/2017/02/23/mengenal-

wemos-d1-mini-dalam-dunia-iot/

Supriyadi, T. (2011). Penggunaan Sensor Ultrasonik Sebagai Pendeteksi

Ketinggian Air Sungai Pada Sistem Peringatan Dini Tanggap Darurat

Bencana Banjir. Industrial Research Workshop and National Seminar,

143.

Turang, D. A. (2015). Pengembangan Sistem Relay Pengendalian Dan

Penghematan Pemakaian Lampu Berbasis Mobile. Seminar Nasional

Informatika, 78.