## SISTEM PERINGATAN DINI BAHAYA BANJIR KOTA SAMARINDA MENGUNAKAN SENSOR ULTRASONIC BERBASIS MIKROKONTROLER DENGAN BUZZER DAN SMS
Indah Fitri Astuti 1) , Arton Nuary Manoppo 2) , Zainal Arifin 3)
1,2,3 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Mulawarman Jalan Penajam, Kampus Gunung Kelua, Samarinda, 75242 E-mail : indahfitriastuti@gmail.com 1) , arton.nuari@gmail.com 2) , smartza77@gmail.com 3)

## ABSTRAK
Indonesia adalah negara yang memiliki curah hujan tinggi karena memiliki iklim tropis basah, banjir merupakan bencana alam  yang  sering  terjadi  di  beberapa  daerah  di  Indonesia  salah  satunya  adalah  di  ibukota  Kalimantan  Timur  yaitu  kota Samarinda,  banjir  terjadi  akibat  tingginya  curah  hujan  membuat  sungai-sungai  di  kota  Samarinda  meluap  dan  dapat mengakibatkan banyak kerugian seperti bangunan, uang dan harta benda. Penelitian ini bertujuan untuk mambangun suatu untuk  mengetahui  kemungkinan  datangnya  banjir  sebelum  banjir  terjadi  menggunakan  peringatan  berupa  pesan  teks pendek. Sistem  pendeteksi banjir peringatan dini ini dibangun dengan menggunakan Arduino sebagai mikrokontroler yang mengendalikan sensor ultrasonik dan sensor pendeteksi air dalam mendeteksi air (kemungkinan banjir) serta ketinggiannya. Pesan  pendek  akan  dikirim  oleh  sistem  dan SMS  gateway yang  tergantung  dari  tangkapan  sensor  air  dan  ketinggian  air. Hasil dari penelitian ini adalah terbangunnya sebuah sistem  pendeteksi peringatan dini banjir Kota Samarinda mengunakan sensor  ultrasonik  berbasis  mikrokontroler  dengan buzzer dan  sms.    ini  diharapkan  mampu  memudahkan  pengguna  untuk mengetahui keadaan luapan air melalui tiga jenis pesan pendek yaitu status aman, siaga, dan bahaya. Setiap ketinggian air berubah maka sistem merespon dengan mengirim pesan yang sesuai.
Kata Kunci: Arduino, Banjir, Sistem, Peringatan Dini, SMS Gateway

## 1. PENDAHULUAN
Indonesia  adalah  negara  kepulauan  yang  memiliki lokasi  geografis  pada  titik  koordinat  95°  derajat  Bujur Timur  sampai  141°  derajat  Bujur  Timur,  serta  antara  6° derajat Lintang Utara sampai dengan 11° derajat Lintang Selatan. Indonesia dianugerahi iklim tropis basah dengan curah  hujan  tinggi  yang  disebabkan  Indonesia  termasuk negara  kepulauan  yang  sebagian  daratannya  dikelilingi oleh samudera.
Kota Samarinda melalui Badan Meteorologi,
Klimatologi,  dan  Geofisika  (BMKG)  mencatat  curah hujan di Kota Samarinda dari tahun 2000 sampai dengan tahun  2010  rata-rata  mencapai  2265,23  mm  per  tahun atau 226,523 mm per bulan. BMKG mencatat ketinggian air  banjir  di  sekitar  Bandara  Temindung  mencapai  2,4 meter.  Tingginya  curah  hujan  menjadi  salah  satu penyebab utama banjir Samarinda.
Fenomena  banjir  yang  melanda  Samarinda  selalu terjadi setiap tahun. Banjir terjadi akibat tingginya curah hujan  sehingga  sungai-sungai  yang  menjadi  tempat penampungan  utama  air  Samarinda  meluap  karena volume air  melebihi  kapasitas  badan  sungai.  Banjir memiliki  banyak  dampak  buruk  yang  merugikan  bagi masyarakat  tidak  hanya  kerugian  secara  material  seperti uang,  bangunan  dan  harta  benda  lainnya,  banjir  juga dapat  menimbulkan  korban  jiwa.  Dampak  banjir  dapat
dikurangi  jika  masyarakat  lebih  siap  dalam  menghadapi datangnya  banjir  tersebut.  Salah  satu  caranya  adalah dengan  menyebarkan  informasi  level  ketinggian  air sungai secara cepat ke masyarakat.
Berdasarkan  uraian  permasalahan  tersebut  maka dibutuhkan  sistem  peringatan  dini  bahaya  banjir  untuk masyarakat  Samarinda.  Pengukuran  tingkat  ketinggian air  dapat  dilakukan  dengan  mengunakan  sensor ultrasonik  berbasis  mikrokontroler.  Mikrokontroler adalah suatu Central Processing Unit ( CPU ) yang terdiri dari  tiga  bagian  yaitu  unit  pengendali,  unit  aritmatika, dan  unit  logika.  Unit  pengendali  untuk  mengatur  urutan operasi seluruh sistem pada saat pengambilan pengkodean dan  melaksanakan intruksi  seluruh program yang tersimpan pada suatu memori.
Sistem ini juga dilengkapi dengan modem dan modul GSM  lampu led ,  buzzer  sebagai  sirine,  dan  informasi data  analog  berupa Short  Message  Servise ( SMS ) gateway sebagai output .  Lampu led akan  berfungsi sebagai  tanda  dari  tingkat  bahaya  dari  suatu  ketinggian air, buzzer atau  sirine  yang  akan  berbunyi  pada  batas ketinggian  maksimal  level  air  yang  sudah  ditentukan oleh  sistem  dari  mikrokontroler,  dan SMS akan dikirimkan  kepada  semua  nomor  GSM  yang  didaftakan ke  dalam modul GSM  pesan  akan  disampaikan  secara detail hasil pantauan realtime 24 jam.
2. RUANG LINGKUP PENELITIAN
Dalam penelitian ini permasalahan mencakup:
1. Cakupan permasalahan
Berdasarkan latar belakang  yang telah dikemukakan, maka dirumuskan suatu permasalahan yaitu bagaimana  membangun  suatu  alat  peringatan  dini bahaya  banjir  dengan  sensor  ultrasonik  berbasis mikrokontroler Arduino Uno.
2. Batasan-batasan penelitian Penelitian  perlu  dibatasi  agar  pembahasannya  tidak meluas. Penelitian ini dibatasi pada:
1) Sensor  yang  digunakan  dalam  penelitian  ini adalah sensor ultrasonik.
2) Sistem  yang  bertugas  untuk  mengatur  seluruh kegiatan  sistem  yang  dirakit  dirancang  berbasis mikrokontroler ATMEGA328.
3) Tingkat  ketinggian  air  (potensi  banjir)  akan ditandai  dengan  lampu LED dan  bunyi buzzer sebagai sistem peringatan dini.
4) Sistem ini sifatnya berupa caution atau peringatan awal/dini kepada masyarakat
5) Tidak memuat komputasi secara fisika.
3. Rencana  hasil  yang  didapatkan  dari  penelitian  ini adalah  suatu    yang  mampu  mendeteksi  tingkat ketinggian  air  dengan  menggunakan  sensor  berbasis ultrasonik.
3. BAHAN DAN METODE
3.1 Mikrokontroller Mikrokontroler  merupakan suatu chip IC ( Integrated Circuit ) yang dapat menerima sinyal input , mengolahnya dan  memberikan  sinyal output sesuai  dengan  program dimasukan.  Terdapat CPU , memori ,  jalur Input / Output (I/O)  dan  perangkat  pelengkap  lainnya.  Kecepatan pengolahan  data  pada  mikrokontroler  lebih  rendah  jika dibandingkan  dengan PC .  Kecepatan  mikroprosesor yang digunakan pada sebuah PC saat ini telah mencapai orde GHz ,  sedangkan  kecepatan  operasi  mikrokontroler pada  umumnya  berkisar  antara  1-16 MHz .  Kapasitas RAM dan ROM pada PC yang bisa mencapai orde Gbyte , dibandingkan  dengan  mikrokontroler  yang  hanya berkisar pada orde byte/Kbyte (Wibawa et al, 2013).

## Gambar 1. Komponen Mikrokontroller
3.2 Arduino Program board Arduino,  dibutuhkan  aplikasi  IDE dari  ( Integrated  Developtment  Enviroenment ) . Melalui software inilah  Arduino  dilakukan  pemrograman  untuk melakukan  fungsi-fungsi  melalui  sintaks  pemrograman. Arduino  menggunakan  bahasa  pemrograman  sendiri yang  menyerupai  Bahasa  C.  Bahasa  pemrograman
Arduino  ( Sketch )  sudah  dilakukan  perubahan  untuk memudahkan  pemula  dalam  melakukan  pemrograman dari  bahasa  aslinya.  IC  mikrokontroler  Arduino  telah ditanamkan  suatu  program  bernama Bootlader yang berfungsi  sebagai  penengah  antara compiler Arduino dengan  mikrokontroler.  Arduino  IDE  dibuat  dari  bahasa pemrograman  JAVA.  Arduino  IDE  juga  dilengkapi dengan  library  C/C++  yang  biasa  disebut Wiring yang membuat operasi input dan output menjadi lebih mudah. Arduino IDE ini dikembangkan dari software processing yang  dirombak  menjadi  Arduino  IDE  khusus  untuk pemrograman dengan Arduino (Santoso, 2015).
Gambar 2.2 Interface Arduino IDE Gambar 2. Tampilan Arduino IDE
Tampilan  Arduino  IDE  tampak  seperti  gambar  2. Bagian-bagian IDE Arduino terdiri dari: (Santoso, 2015):
1. Verify, pada  versi  sebelumnya  dikenal  dengan  istilah compile .  Sebelum  aplikasi  diunggah  ke board Arduino,  dapat  memverifikasi  terlebih  dahulu sketch yang  dibuat.  Jika  ada  kesalahan  pada sketch ,  nanti akan  muncul error .  Proses verify/compile mengubah sketch ke binary  code untuk  diunggah  ke mikrokontroller.
2. unggah , tombol  ini  berfungsi  untuk  mengunggah sketch ke board Arduino.  Walaupun  tidak  mengklik tombol verify , maka sketch akan di compile , kemudian langsung diunggah ke board . Berbeda dengan tombol verify yang  hanya  berfungsi  untuk  memverifikasi source code saja.
3. New  sketch ,  untuk  membuka window dan  membuat sketch baru.
4. Open  sketch ,  untuk  membuka sketch yang  sudah pernah  dibuat. Sketch yang  dibuat  dengan  IDE Arduino akan disimpan dengan ekstensi file .ino
5. Save  sketch ,  untuk  menyimpan sketch ,  tapi  tidak disertai meng- compile .
6. Serial  monitor,  untuk  membuka interface untuk komunikasi serial.
7. Keterangan  aplikasi,  pesan-pesan  yang  dilakukan aplikasi  akan  muncul  disini,  misal "Compiling" dan "Done Uploading" ketika meng- compile dan mengunggah sketch ke board Arduino.
8. Konsol,  pesan-pesan  yang  dikerjakan  aplikasi  dan pesan-pesan tentang sketch akan muncul pada bagian ini.  Misal,  ketika  aplikasi  meng- compile atau  ketika ada  kesalahan  pada sketch yang  dibuat,  maka informasi error dan  baris  akan  diinformasikan  di bagian ini.
9. Baris sketch ,  bagian  ini  akan  menunjukkan  posisi baris kursor yang sedang aktif pada sketch .
3.3. Arduino Uno Papan Arduino Uno
merupakan
papan
mikrokontroler  yang  berukuran  kecil  atau  dapat digambarkan  sebagai  suatu  rangkaian  berukuran  kecil yang  didalamnya  terdapat  komputer  berbentuk  suatu chip .  Gambar  3  menunjukkan  sebuah  papan  Arduino dengan beberapa bagian komponennya (Rohman, 2015).

## Gambar 3. Papan Arduino Uno
Arduino  menggunakan  bahasa  C  walaupun  banyak sekali terdapat bahasa pemrograman tingkat tinggi ( high level language ) seperti Pascal, Basic, Cobol, dan lainnya.
Walaupun demikian, sebagian besar dari para programmer profesional  masih  tetap  memilih  bahasa  C sebagai bahasa yang lebih unggul, karena:
1) Bahasa
C
merupakan
bahasa yang dan fleksibel yang telah terbukti dapat
menyelesaikan  program-program  besar  seperti pembuatan sistem operasi, pengolah gambar (seperti pembuatan game )  dan  juga  pembuatan  kompilator bahasa pemrograman baru.
2) Bahasa  C  merupakan  bahasa  yang portable sehingga dapat  dijalankan  di  beberapa  sistem  operasi  yang berbeda. Sebagai contoh program  yang  ditulis dalam sistem  operasi windows dapat  dikompilasi  didalam sistem  operasi  LINUX  dengan  sedikit  ataupun  tanpa perubahan sama sekali.
3) Bahasa C merupakan bahasa yang sangat populer dan banyak  digunakan  oleh programmer berpengalaman sehingga  kemungkinan  besar library pemrograman telah  banyak  disediakan  oleh  pihak  luar  dan  dapat diperoleh dengan mudah.
4) Bahasa  C  merupakan  bahasa  yang  bersifat  modular, yaitu  tersusun  atas  rutin-rutin  tertentu  yang dinamakan  dengan  fungsi ( function )  dan  fungsi- fungsi  tersebut  dapat  digunakan  kembali  untuk pembuatan  program-program  lainnya  tanpa  harus menulis ulang implementasinya.
5) Bahasa  C  merupakan  bahasa  tingkat  menengah ( middle  level  language )  sehingga  mudah  untuk melakukan interface (pembuatan  program  antar muka) ke perangkat keras.
Struktur  penulisan  program  dalam  bahasa  C  harus memiliki  fungsi  utama,  yang  bernama main ().  Fungsi inilah yang akan dipanggil pertama kali pada saat proses eksekusi program. Apabila mempunyai fungsi lain selain
fungsi  utama,  maka  fungsi  lain  tersebut  baru  akan dipanggil pada saat digunakan.
Bahasa  C  merupakan  bahasa  prosedural  yang menerapakan  konsep  runtutan  (program  dieksekusi  per baris  dari  atas  ke  bawah  secara  berurutan)  (Setiawan, 2011).

## 4. RANCANGAN SISTEM
Perancangan  program  sistem  peringatan  dini  banjir ini  terdiri  dari  beberapa  tahap.  Pembuatan Flowchart selanjutnya Souce  Code dibuat  menggunakan  Arduino IDE  yang  merupakan  program  yang  akan  menjalankan perintah-perintah pada alat ini, kemudian semua perintah Upload ke-Mikrokontroler  dengan  menggunakan  media kabel USB.

## 4.1. Perancangan Alat
Pembuatan    sistem  peringatan  banjir  ini  melalui beberapa  tahap  pembuatan.  Langkah  pertama  adalah mempersiapkan  alat  dan  bahan  yang  akan  digunakan, seperti  penyusunan mainboard arduino.  Langkah  kedua adalah  meletakkan komponen-komponen eletronika agar dapat  memudahkan  dan  penyesuaian  sistem  dalam penggunaannya.  Proses  berikutnya  adalah  membuat rangkaian  skematik  elektronik  sistem  peringatan  dini banjir dimana pada mikrokontroler Arduino ATMega328 dihubungkan  ke  beberapa  komponen  lainnya  seperti Sensor  Ultrasonik  HC-SR04,  Sim800l,  buzzer,  indikator LED, LCD 16x2, Baterai, dan beberapa komponen yang lain.

## 4.2. Pembuatan Rangkaian
Tahap  pembuatan  rangkaian  ini  adalah  dengan mempersiapkan komponen yang akan digunakan seperti, Sensor UltraSonik HC-SR04, Arduino Uno ATMega328. Arduino  Uno  memiliki  Mikrokontroler  ATMega328 didalamnya  yang memiliki 13 pin input/output digital (6 Output untuk  PWM).  Rangkaian  Arduino  juga  telah dilengkapi  dengan  IC  regulator  yang  berfungsi  sebagai rangkaian Power  Supply. Rangkaian  ini  ditambahkan dengan adanya Buzzer sebagai alarm, LCD 16x2 sebagai tampilan  nilai  ketinggian  air  dan  LED  yang  berfungsi sebagai  salah  satu  bentuk  notifikasi  berupa  kedipan lampu pada rangkaian mendapatkan inputan listrik 5 Volt untuk memberikan masukan ke Arduino.
4.3. Flowchart
Gambar  4  merupakan flowchart  sistem atau  bagan alir sistem dimana sistem pertama kali dijalankan, sistem akan melakukan proses inisialisasi perangkat input/output yang  digunakan  untuk  menghubungkan dengan perangkat luar seperti sensor, LCD, Buzzer, LED, dansim800l.
Mikrokontroler  akan  melakukan  proses  pembacaan sensor  ultrasonik,  jika  terdeteksi  ketinggian  air  maka yang  pertama  dilakukan  adalah  menampilkan  nilai  level ketinggian  pada  LCD  16x2  cm,  selanjutnya  dilakukan pengiriman  sms  ke  nomor  tujuan  yang  sudah  tersimpan di  dalam  program  sim800l.  SMS  hanya  akan  dikirim  1 kali setiap adanya perubahan level ketinggian air.
Gambar 4. Flowchart Sistem Peringatan Dini Banjir

## 5. IMPLEMENTASI
Purwarupa  sistem  peringatan  dini  bahaya  banjir  ini mengunakan  sensor  ultrasonik  berbasis  mikrokontroler dengan buzzer dan sms yang  merupakan  rancangan  alat untuk  mendeteksi  jarak  antara  benda  yang  berada  di depannya  dengan  menggunakan  gelombang  di  frekuensi 40kHz  dengan  rentang  deteksi  dari  4  –  300cm,  dengan gelombang  suara  40kHz  maka  sensor  ini  dapat mendeteksi  atau  memantukan  kembali  gelombang  suara yang terkena permukaan air atau benda padat.
Penggunaan  alat  ini  akan  berjalan  otomatis berdasarkan  perintah-perintah  atau source  code yang ditanamkan  ke  dalam  mikrokontroler  tersebut.  Sensor ultrasonik  yang  dipasang  pada  alat  dan  dengan penempatan  dimana  sensor  ini  ditempatkan  tepat  di baskom  yang  diisi  air  dengan  jarak  yang  sudah ditentukan sesuaikan dengan kebutuhan, dan memberikan pemberitahuan melalui SMS.
Sensor  ultrasoik  akan  dipasang  tepat  di  atas  wadah yang akan diisi air dengan jarak yang disesuaikan dengan kebutuhan.  Sensor  akan  mendeteksi  ketinggian  air  yang melewati  level  level  ketinggian  air  yang  sudah ditentukan  dan  memberikan  SMS  berisikan  informasi sesuai  ketinggian  level  air.  level    ketinggian  air dibedakan menjadi 3 bagian yaitu:
1. level aman ketinggian air antara 1-5 cm.
2. level siaga ketinggian air antara 6-10 cm.
3. Level  bahaya  ketinggian  air  antara  11  cm  dan seterusnya.
Sistem  ini  memliki  4  komponen output yaitu  LCD, Lampu  Led,  Buzzer  dan  Sms.  Purwarupa  ini menghasilkan  sebuah  peringatan  melalui  SMS,  dengan menggunakan  sebuah  hardware  sim800l  yang  langsung terpasang  pada  board  Arduino.  Sms  akan  otomatis terkirim  jika  ketinggian  air  telah  menyentuh titik  level ketinggian  air  yang  sudah  ditentukan  yaitu  titik  aman, titik  siaga,  dan  bahaya.  Pesan  sms  akan  berubah  jika sensor ultrsonik  mendeteksi  ketinggian air berubah dari titik 0
dan  terus  meningkat  hingga  di  titik  5  cm,  10  cm,  15 cm.  Gambar  5  menunjukkan  sistem  dengan  level  air ‘aman’, sedangkan gambar 6 dengan level ‘bahaya’.
Gambar 5. Hasil Kerja dengan Status ‘aman’
Gambar 6. Hasil Kerja dengan Status ’Bahaya’
Gambar 7. SMS Status ’Bahaya’
6. KESIMPULAN
Berdasarkan  rangkaian  kerja  penelitian  ini  dapat diambil kesimpulan antara lain:
1. Alat  sistem  peringatan  dini  banjir  ini  dapat  bekerja dengan  baik,  dikarenakan  semua  komponen  penting seperti  Sensor  Ultrasonik,  LCD,  LED Buzzer dan Sim800l dapat berjalan dengan baik.
2. Sensor  ultrasonik  HC-SR04  memiliki  rentang deteksi  hingga  4  -  300  cm  sensor  ini  memiliki  titik buta jika jarak air sudah sangat dekat dengan sensor jarak titik buta sensor adalah 1 - 3 cm.

## 7. SARAN
Terdapat beberapa saran yang sangat berguna untuk tahap pengembangan selanjutnya, yaitu:
1. Memberikan  tambahan  perangkat Ethernet  shield agar sistem dapat terhubung dengan internet.
2. Sensor  ultrasonik  yang  digunakan  oleh  sistem peringantan  dini  banjir  untuk  mengukur  ketinggian air secara teori sangat baik, tapi memiliki kelemahan karena  frekuensi  yang  dikeluarkan  oleh  sensor  dapat memantul  apabila  terkena  permukaan  padat  lain seperti metal, kayu, dan benda padat lain.

## 8. DAFTAR PUSTAKA
Rohman,  A,  Z,  2015,  Rancang  Bangun  Alat  Ukur Getaran  Mesin  Berbasis  Arduino,  Jurusan  Teknik Elektro, Universitas Negeri Semarang.
Santoso,  H,  2015, Panduan  Praktis  Arduino  untuk Pemula. Diakses  pada  tanggal  12  April  2017  dari www.elangsakti.com
Setiawan,  A,  2011,  Aplikasi  Mikrokontroller  ATMega 8535 dan ATMega Menggunakan BASCOM-AVR, Yogyakarta: Andi Offset.
Wibawa,  A.H,  Saputra,  R,  Satria,  R,  2013,  Sistem
Peringatan Dini Meluapnya Air Sungai
Menggunakan  SMS  Gateway  dan  Mikrokontroller.
Semarang: Universitas Diponegoro
Yudhana, A., & Pratama, U. S. 2017. Otomatisasi Sistem
Penyiraman  dan  Pemupukan  Tanaman  Berbasis Mikrokontroler ATMEGA8535. Prosiding SN Sebatik , 1 (1), 96-100.