## SISTEM PENDETEKSI HUJAN DAN BANJIR  BERBASIS INTERNET OF THINGS DENGAN APLIKASI THINGSPEAK
Chaidar Cahya Wicaksono a , Adi Nugroho b
a, b Fakultas Teknologi Informasi Universitas Kristen Satya Wacana, Salatiga
a 672018208@student.uksw.edu , b adi.nugroho@uksw.edu

## ABSTRAK
Bencana alam di Indonesia merupakan masalah yang sering terjadi di mana-mana. Indonesia beriklim tropis  dengan  curah  hujan  yang  tinggi,  sehingga  Indonesia  sangat  rentan  terhadap  banjir,  Banyaknya bencana  banjir  menunjukkan  masalah  banjir  Ini  adalah  masalah  serius  yang  membutuhkan  tindakan efektif  mengurangi risiko banjir. Salah satu cara untuk meminimalisir bencana banjir ini adalah dengan menciptakan  karya-karya  inovatif  Alat  pendeteksi  ketinggian  air  sungai  yang  dapat  dipantau  melalui internet.  Sistem  pada  penelitian  ini  menggunakan  modul  Wemos  D1  mini,  modul  sensor  HC-SR04, modul rainwater foliar, dan Arduino IDE untuk mengukur intensitas curah hujan dan mengukur tinggi permukaan air. Hasil dari pembacaan akan ditampilkan melalui aplikasi ThingSpeak. perangkat dapat menghasilkan riwayat ketinggian air dari permukaan dan mendeteksi jika terjadinya hujan  pada sekitaran aliran sungai secara realtime dimana dapat dipantu dari website monitoring Thingspeak. Serta perangkat memberikan  pemberitahuan  secara  terus  menerus  setiap  ketinggian  air  dan  setiap  terjadinya  hujan maupun tidak. Hal ini untuk membantu warga mendapatkan informasi lebih awal sebelum bencana banjir datang dan meminimalisir kerugian yang dapat terjadi karena bencana banjir.

## Kata kunci : arduino IDE , banjir, thingspeak , wemos D1 mini

## ABSTRACT
Natural disasters in Indonesia are a problem that often occurs everywhere. Indonesia has a tropical climate with high rainfall, so Indonesia is very vulnerable to flooding. The many flood disasters indicate a flood problem. This is a serious problem that requires effective action to reduce the risk of flooding. One way to minimize this flood disaster is to create innovative works for detecting river water levels that can be monitored  via  the  internet.  The  system  in  this  study  uses  the  Wemos  D1  mini  module,  the  HC-SR04 sensor  module,  the  foliar  rainwater  module,  and  the  Arduino  IDE  to  measure  rainfall  intensity  and measure the water level. The results of the reading will be displayed via the ThingSpeak application. the device can generate a history of water level from the surface and detect if rain occurs around the river flow  in  real  time  which  can  be  monitored  from  the  Thingspeak  monitoring  website.  And  the  device provides continuous notification of every water level and every rain or not. This is to help residents get information  earlier  before  a  flood  disaster  occurs  and  minimize  losses  that  can  occur  due  to  a  flood disaster.
Keywords: arduino IDE , flood, thingspeak , wemos D1 mini

## 1. PENDAHULUAN
Bencana alam di Indonesia merupakan  masalah  yang  sering  terjadi  di mana-mana.  Indonesia  beriklim  tropis dengan  curah  hujan  yang  tinggi,  sehingga Indonesia sangat rentan terhadap banjir[1]. Curah hujan di Indonesia bagian barat lebih besar daripada di Indonesia bagian tengah dan timur, sehingga mengakibatkan banjir yang meluas di  Indonesia bagian barat[2]. Selain  itu,  Banyaknya  bencana  banjir menunjukkan  masalah  banjir  Ini  adalah masalah serius yang membutuhkan tindakan efektif Mengurangi  risiko  banjir. Peristiwa  Banjir  Besar  dan  Kecil  harus dijadikan  sebagai  bahan  pelajaran[3]. Seperti halnya di Desa Ngrapah,
Kecamatan
Banyubiru,
Kabupaten
Semarang  yang  terdampak  banjir  kecil setiap  musim  penghujan  dikarenakan permukaan tanah di Desa Ngrapah hampir sama  dengan  permukaan  air  sungai, sehingga  ketika  hujan  deras  terjadi  air meluap  di  sekitar  aliran  Sungai  Galih. Meskipun  tidak  menyebabkan  jatuhnya korban jiwa bencana banjir ini
mengakibatkan  kerugian  material  yang cukup  besar.  Sehingga  perlu  adanya penanganan lebih
dini untuk meminimalisir kerugian tersebut.
Berbagai  alat  pendeteksi  banjir digunakan,  biasanya  sirene  dan  sistem manual, menggunakan pengukur ketinggian  air  yang  dipasang  pada  kolong jembatan  atau  alat  pendeteksi  banjir menggunakan  radar  Doppler,  namun penggunaan  alat  yang  manual  tersebut tergolong  sangat  lambat  dan  penggunaan radar Doppler masih membutuhkan desain perangkat keras yang rumit dan membutuhkan biaya yang tidak sedikit[4][5][6].  Riset  lebih  difokuskan pada pendekatan IoT (Internet of Things), memanfaatkan  teknologi  internet  untuk menjadikan  objek  dapat  diakses  secara online.  Internet  of  Things  sendiri  pada dasarnya  adalah  sebuah  teknologi  remote control atau monitoring yang menggunakan  jaringan  internet  sebagai
penghubungnya.  Umumnya  Internet  of Things  menggunakan  Aplikasi  sebagai media  monitoringnya  untuk  memudahkan pengguna  dalam  mengoperasikannya[7] [8].
Melalui  penjelasan  latar  belakang diatas,  dapat  menjadi  penelitian  dengan topik Sistem Pendeteksi Hujan dan Banjir Berbasis  Internet  of  Things  Dengan Notifikasi Aplikasi ThingSpeak. Penelitian ini  bertujuan  untuk  menyediakan  sistem pendeteksi  banjir  dan  tingkat  curah  hujan untuk  memberikan  kewaspadaan  kepada warga  akan  banjir  dan  meminimalisir terjadinya  kecelakaan  dan  kerugian,  juga memberikan  info  tentang  ketinggian  air berbasis  Internet  Of  Things.  Sistem  pada penelitian ini menggunakan modul Wemos D1  mini,  modul  sensor  HC-SR04,  modul rainwater  foliar,  dan  Arduino  IDE  untuk mengukur  intensitas  curah  hujan  dan mengukur tinggi permukaan air. Hasil dari pembacaan  akan  ditampilkan  melalui aplikasi ThingSpeak.

## 2. METODE PENELITIAN
Pada  penelitian  ini  menggunakan metode waterfall Metode waterfall merupakan  model  pengembangan  sistem informasi yang sistematik dan sekuensial[9].  Yaitu  Analysis,  Design, Implementation,  Testing,  Maintenance. Model waterfall dapat dilihat pada Gambar 1.
Gambar 1. Metode Waterfall

## 1. Tahap Analysis
Tahap yang pertama adalah tahap Analysis
(Analisis). Pada tahap ini berisi tujuan, layanan sistem, dan kendala ditetapkan oleh hasil kebutuhan dengan pengguna (warga sekitar) yang kemudian didefinisikan secara rinci dan
berfungsi sebagai spesifikasi sistem. .
2. Tahap Design
Tahap  Design  Ini  bertujuan  untuk
memberikan gambaran lengkap
tentang apa yang harus dikerjakan dan bagaimana  tampilan  dari  sebuah sistem  yang  diinginkan.  Sehingga membantu  menspesifikan  kebutuhan dan  sistem,  juga  mendefinisikan arsitektur  sistem  yang  akan  dibuat secara keseluruhan .
3. Tahap Implementation
Pada  tahap  ini  perangkat  yang  sudah dibuat akan diuji, Pengujian melibatkan  verifikasi  bahwa  setiap unit memenuhi spesifikasinya. Dengan harapan perangkat ini dapat membantu warga  mitigasi  bencana  banjir  lebih dini.
4. Tahap Testing Pada  tahap  ini  dilakukan  penggabungan modul-modul yang sudah dipersiapkan sebelumnya. Selanjutnya akan dilakukan pengujian yang bertujuan  untuk  mengetahui  apakah perangkat sudah sesuai dengan design yang  di  inginkan  dan  mengecek kembali  apakah  perangkat  masih terjadi kesalahan atau tidak.
5. Tahap Maintenance
Pada tahap maintenance dilakukan
pengecekan, perbaikan perangkat, dan pembetulan  apabila  terjadi  kesalahan pada tahapan sebelumnya.
2.1. Perancangan Komponen Hardware
Perancangan  komponen  hardware  atau perangkat  keras  pada  penelitian  ini menggunakan  Wemos  D1  mini  sebagai mikrokontroler,  sensor  ultrasonik,  sensor hujan, breadboard, kabel jumper dan kabel USB.
Gambar 2. Perancangan Komponen Hardware
Perancangan  Pada  gambar  merupakan perancangan  komponen  hardware  pada penelitian  yang  sudah  dilakukan.  Masing- masing akan terhubung dengan mikrokontroler Wemos
D1 mini menggunakan kabel jumper untuk menerima dan mengirimkan data

## 3. HASIL DAN PEMBAHASAN
3.1. Program
Dalam  pembuatan  Sistem  Pendeteksi Hujan  Dan  Banjir    Berbasis  Internet  Of Things  (Iot)  Dengan  Notifikasi  Aplikasi Thingspeak  ini  menggunakan  aplikasi Arduino IDE 1.8.15. .

## Kode Program 1.
#include <ESP8266WiFi.h>
WiFiClient client;
//Connection Config String ssid = "KEMBAR"; // nama wifi String pass = "17081945"; // password wifi
//ThingSpeak Config
String host = "api.thingspeak.com"; String writeAPIKey = "PAG918G5TZVMRE5W"; String request_string;
//Config Jarak Ultrasonic int trig = D7; // membuat varibel trig yang di set ke-pin D6 int echo = D6; // membuat variabel echo yang di set ke-pin D7 long durasi, jarak; // membuat variabel durasi dan jarak
//Config Sensor Air Hujan int pinhujan = A0; int nilaihujan;
Pada  Kode  program  1  merupakan  kode program yang berfungsi sebagai konfigurasi untuk koneksi Wifi, konfigurasi  Thingspeak,  konfigurasi  jarak Ultrasonic,  dan  konfigurasi  Sensor  air hujan. Pada konfigurasi thingspeak APIKey  didapat  setelah  kita  membuat projek di thingspeak.

## Kode Program 2.
void setup() { Serial.begin(115200); WiFi.disconnect(); WiFi.begin(ssid, pass); while ((!(WiFi.status() == WL_CONNECTED))) { delay(300); Serial.print("."); }
Serial.println(""); Serial.println("WiFi connected"); Serial.println("IP address: "); Serial.println(WiFi.localIP());
pinMode(trig, OUTPUT); pinMode(echo, INPUT);
pinMode (pinhujan, INPUT); }
Pada  Kode  program  2  merupakan  kode program  yang  berfungsi  untuk  mereset koneksi Wifi yang sebelumnya tersambung pada  perangkat  dan  memulai  kembali dengan  koneksi  yang  sedang  digunakan saat menjalankan program.
Kode Program 3.
void baca_sensor_ultrasonik() { digitalWrite(trig, LOW); delayMicroseconds(8); digitalWrite(trig, HIGH); delayMicroseconds(8); digitalWrite(trig, LOW); delayMicroseconds(8); durasi = pulseIn(echo, HIGH); jarak = (durasi / 2) / 29.1; Serial.println(""); Serial.print("Tinggi Air: "); Serial.print(jarak); Serial.println(" Cm Dari Permukaan"); }
void baca_sensor_hujan() { nilaihujan = analogRead(pinhujan);
Serial.print("Curah Hujan: "); Serial.println(nilaihujan); Serial.println(""); }
Pada  Kode  program  3  merupakan  kode program  yang  dirancang  untuk  membaca sensor  ultrasonik  dan  membaca  sensor hujan. Nantinya output dari kode program ini  akan  menampilan  data  yang  di  dapat jika  sensor  tersebut  terkena  percikan  air dan  tinggi  air  mengalami  penurunan  dan kenaikan .

## Kode Program 4.
void kirim_data_thingspeak() { if (client.connect(host, 80)) { request_string = "/update?key=" + writeAPIKey + "&field1=" + jarak + "&field2=" + nilaihujan;
Serial.println(String("GET ") + request_string + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n");
client.print(String("GET ") + request_string + " HTTP/1.1\r\n" + "Host: " + host + "\r\n" + "Connection: close\r\n\r\n"); unsigned long timeout = millis();
while (client.available() == 0)
{
if (millis() - timeout > 5000) { Serial.println(">>> Client Timeout !"); client.stop(); return; } } while (client.available()) { String line = client.readStringUntil('\r'); Serial.print(line); }
Serial.println(); Serial.println("Closing connection"); }
Pada  Kode  program  4  merupakan  kode program yang
dirancang untuk
mengirimkan  data  ke  thingspeak.  Dangan proses pada field1 berisikan jarak dan pada field2 berisikan nilai hujan, dengan tujuan nantinya  data  yang  di  tampilkan  akan sesuai dan tidak tertukar. Pada Serial.print ini adalah string  Get untuk memposisikan pengiriman data, setelah data terkirim nanti progam  akan  mengunggu  selama  lima detik, jika selama lima detik tidak terkirim maka  akan  dianggap  gagal.  Setelah program  sudah  menerima  data  proses selanjutnya adalah menutup koneksi.

## Kode Program 5.
void loop() { baca_sensor_ultrasonik(); baca_sensor_hujan(); delay(10000); kirim_data_thingspeak(); delay(2000); }
Pada  Kode  program  5  merupakan  kode program yang dirancang untuk melakukan pengulangan proses  eksekusi dimana nilai delay  disini  10000  bertujuan  supaya  tidak terlalu banyak data yang masuk.

## 3.2. Pengujian Perangkat
Pengujian  perangkat  dilakukan  untuk memastikan  bahwa  Sistem  Pendeteksi Hujan  Dan  Banjir  sudah  sesuai  dengan rancangan  yang  diharapkan  dan  semua komponen  perangkat  keras  berfungsi dengan baik. Thingspeak digunakan untuk menerima  pesan  dari  modul  Wemos  D1 yang  telah  dihubungkan  dengan  sensor hujan dan sensor ultrasonik.
Gambar 3. Pengujian Perangkat
Gambar 4. Hasil Pengujian
Pada gambar 1 merupakan proses pengujian  perangkat  terhadap  ketinggian air dan percikan air. Gambar 2 merupakan hasil  dari  pengujian  perangkat  saat  sensor mendeteksi ketinggian air dan hujan. Nilai yang  didapat  dari  pengujian  sensor ultrasonik  adalah  10cm  dari  permukaan, hal  ini  menunjukan  bahwa  intensitas  air sangat  tinggi.  dan  nilai  yang  didapat  dari sensor  hujan  adalah  627  dimana  nilai tersebut mendeteksi sedang terjadi hujan.
Tabel 1 Hasil Pengujian no Kondisi Eksekusi Status 1 Jarak air 100 cm dari sensor Mengirim data ke thingspeak Aman 2 Jarak air 50 cm dari sensor Mengirim data ke thingspeak Siaga 3 Jarak air 10 cm dari sensor Mengirim data ke thingspeak Bahaya 4 Nilai curah hujan 1000 Mengirim data ke thingspeak Cuaca Cerah 5 Nilai curah hujan <=1000 Mengirim data ke thingspeak Terjadi Hujan
Tabel  1  merupakan  table  indikator  hasil pengujian  produk,  yaitu  setiap  terjadi sesuatu. Hasil yang didapatkan dari pengujian, alat sudah dapat berfungsi dengan baik.

## 4. KESIMPULAN
Setelah dilakukan perancangan pengamatan  dan  pengujian  pada  sistem pendeteksi  hujan  dan  banjir  diperoleh
kesimpulan bahwa, perangkat dapat menghasilkan  riwayat  ketinggian  air  dari permukaan dan mendeteksi jika terjadinya hujan  pada sekitaran  aliran sungai secara realtime dimana dapat dipantu dari website monitoring  Thingspeak.  Serta  perangkat memberikan  pemberitahuan  secara  terus menerus  setiap  ketinggian  air  dan  setiap terjadinya  hujan  maupun  tidak.  Hal  ini untuk  membantu  warga  mendapatkan informasi  lebih  awal  sebelum  bencana banjir  datang  dan  meminimalisir  kerugian yang dapat terjadi karena bencana banjir.

## DAFTAR PUSTAKA
[1]  S. Aisyah, “Tingkat Kerentanan Bencana Banjir Di Kecamatan Martapura,” JPG (Jurnal Pendidik. Geogr. , vol. 7, no. 2, pp. 1–10, 2021, doi: 10.20527/jpg.v7i2.7780.
[2]  S. Putro and R. Hayati, “Dampak Perkembangan Permukiman Terhadap Perluasan Banjir Genangan Di Kota Semarang,” J. Geogr.  Media Inf. Pengemb. dan Profesi Kegeografian , vol. 4, no. 1, pp. 35–43, 2007.
[3]  A. Findayani, “Kesiap Siagaan Masyarakat Dalam Penanggulangan Banjir Di Kota Semarang,” J. Geogr.  Media Inf. Pengemb. dan Profesi Kegeografian , vol. 12, no. 1, pp. 102– 114, 2015.
[4]  Fahruddin, “Prototype Monitoring Ketinggian Air Pada Waduk Berbasis Mikrokontroler,” Skripsi , vol. 6, no. 1, p. 68, 2014.
[5]  C. Paper, Y. Darmawan, M. Climatological, G. Agency, and N. S. View, “Prosiding Workshop Radar dan Satelit Cuaca Vol : 1 Desember 2013 " SENSITIVITAS RADAR CUACA DOPPLER ...,” no. May 2013, 2016.
[6]  M. S. Novela, R. S. Hardinata, R. Putro, and N. Dwi, “Perancangan Sistem Deteksi Banjir Menggunakan Sensor Ultrasonik Dan Nodemcu,” pp. 32–38, 2022.
[7]  R. Muzawi, Y. Efendi, and W. Agustin, “SATIN – Sains dan Teknologi Informasi Sistem Pengendalian Lampu Berbasis Web dan Mobile Rometdo Muzawi,” Sains dan Teknol. Inf. , vol. 4, no. 1, pp. 29–35, 2018.
[8]  Jupriyadi, R. I. Borman, K. Syahputra, and P. Prasetyawan, “Implementasi Internet Of Things pada Aplikasi Monitoring Kereta Api dengan Geolocation Information System,” Semin. Nas.
Tek. Elektro , vol. 1, no. 1, pp. 322–327, 2018.
[9]  Y. D. Wijaya and M. W. Astuti, “Sistem Informasi Penjualan Tiket Wisata Berbasis Web Menggunakan Metode Waterfall,” Semin. Nas.
Teknol. Inf. dan Komun. , pp. 273–276, 2019.