Skripsi
Diajukan Untuk Memenuhi Persyaratan Memperoleh Gelar Sarjana Sains (S.Si)
Oleh :
ANA HASANAH
NIM: 11150970000058
2020 M / 1441 H
ii
iii
iv
ABSTRAK
Bendungan merupakan pusat pantauan utama bagi warga Jakarta mengenai air banjir yang
akan dikirimkan dari bendungan tersebut. Informasi yang lambat mengenai kiriman air
tersebut menyebabkan Jakarta sering mengalami banjir secara tiba-tiba hingga
menimbulkan kerugian karena masyarakatnya tidak sempat untuk mengevakuasi barang-
barang berharga mereka. Salah satu cara yang dapat dilakukan untuk meminimalisir
kerugian dari banjir kiriman adalah dengan memberikan informasi dini sebelum terjadinya
banjir. Penelitian yang dibuat kali ini bertujuan untuk memberikan informasi dini mengenai
banjir kiriman yang dapat diakses melalui website dengan cara membangun alat pendeteksi
yang dirancang pada Raspberry Pi 3 dengan menggunakan dua buah sensor yaitu sensor
HCSR-04 sebagai pengukur ketinggian air dan Motor Servo sebagai pengatur pintu air
otomatis. Penelitian menghasilkan karakteristik sensor HCSR-04 dengan ketelitian 99.4%
dan motor servo 00. Sistem ini memiliki kecepatan respon rata-rata 2 detik dari Raspberry
Pi hingga ke website. Dengan adanya website ini masyarakat dapat mengetahui status
ketinggian air dan waktu pembukaan pintu air secara realtime sebelum banjir memasuki
wilayah mereka.
v
ABSTRACT
The dam is the main monitoring center for Jakarta residents about the flood water that will
be sent from the dam. Information relating about the flood water that cause Jakarta to often
flood suddenly causes losses because the people do not have much time to evacuate their
valuables. One way that can be done to minimize losses from shipment floods is to provide
information in advance before flooding. This research aims to provide advance information
about flood submissions that can be accessed through the website by building a detector
designed on the Raspberry Pi 3 by using two sensors, the HCSR-04 sensor as an air gauge
and the Servo Motor as an automatic sluice. The research produced the characteristics of
the HCSR-04 sensor with 99.4% accuracy and 00 for servo motor. This system has an
average response speed of 2 seconds from the Raspberry Pi to website. With this website,
the public can find out the status of the water level and the time of the sluice opening before
the flood entered their region.
vi
KATA PENGANTAR
الرحِ ي ِْم َّ ِبِس ِْم هللا
َّ الر ْح َم ِن
Assalamu’alaikum wr.wb.
Alhamdulillahi Rabbil Alamin. Segala puji bagi Allah, Tuhan semesta alam,
karena atas rahmat dan karunia-Nya penulis dapat menyelesaikan laporan tugas
akhir ini yang berjudul “Sistem Deteksi Banjir Dan Pintu Air Otomatis
Aamiin YaaRabbal’alaamiin.
Terselesaikannya laporan tugas akhir ini tak lepas dari bantuan dalam
bentuk moril, materi, dorongan, serta bimbingan dari berbagai pihak. Oleh karena
1. Keluarga yang saya sayangi, orang tua saya Supriyadi dan Tuti beserta
2. Ibu Sitti Ahmiartri Saptari, M.Si, selaku pembimbing pertama yang selalu
memberikan saran dan bimbingannya dalam penulisan laporan tugas akhir
ini.
3. Ibu Dewi Lestari, M.Si, sebagai pembimbing kedua yang selalu
memberikan pengetahuan dan arahannya dalam penelitian ini.
4. Ibu Prof Dr.Lily Surraya Eka Putri, M. Env.Stud selaku Dekan Fakultas
Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta.
5. Bapak Ambran Hartono, M. Si dan Bapak Anugrah Azhar, M.Si, selaku
dosen penguji dalam sidang Munaqasyah.
vii
6. Seluruh Dosen Prodi Fisika, yang telah membimbing penulis selama
menempuh kuliah di Universitas Islam Negeri Syarif Hidayatullah Jakarta.
7. Teman-teman kelas fisika 2015 yang saling menyemangati dan membantu
9. Semua pihak yang telah membantu penulis dalam penyusunan laporan ini
baik secara langsung maupun tidak langsung yang tidak dapat dituliskan
disini.
Penulis menyadari terdapat kekurangan pada tugas akhir ini dan jauh dari kata
sempurna. Oleh karena itu, penulis dengan senang hati menerima kritik dan saran
dari para pembaca sebagai pelajaran untuk ke depannya agar lebih baik lagi dalam
menyusun sebuah laporan. Semoga laporan tugas akhir ini dapat bermanfat dan
Wassalamu’alaikum wr.wb
Penulis
viii
DAFTAR ISI
ABSTRAK.......................................................................................................... v
ABSTRACT ...................................................................................................... vi
ix
1.6 Sistematika Penulisan ............................................................................ 5
2.6.2 PHP.............................................................................................. 22
2.8 XAMPP................................................................................................ 24
x
BAB III METODE PENELITIAN .................................................................. 26
xi
4.2 Hasil Perancangan Perangkat Lunak .................................................... 49
4.5 Hasil Pengujian Kesesuaian Waktu Antara Data Yang Dikirim Dan
Diterima ......................................................................................................... 59
LAMPIRAN ..................................................................................................... 67
xii
DAFTAR GAMBAR
Gambar 3.1 Perancangan Alat Deteksi Banjir dan Pintu Air Otomatis .............. 27
xiii
Gambar 3.6 Tampilan Xampp ........................................................................... 37
Gambar 4.5 Proses Komputer Terkoneksi Dengan Wifi Yang Sesuai ................ 49
Gambar 4.11 Grafik Perbandingan Antara Busur dengan Motor Servo SG90 .... 58
xiv
DAFTAR TABEL
Tabel 4.1 Perbandingan Nilai Ketinggian Air Antara HCSR-04 dan Penggaris .. 53
Tabel 4.3 Perbandingan Antara Busur dengan Sudut Motor Servo ..................... 57
xv
BAB I
PENDAHULUAN
menampung sumber air dan menahan laju air. Dengan adanya bendungan, sistem
air kiriman dari hulu dan membuang kelebihannya ke sungai-sungai kecil. Salah
satu bendungan yang menjadi pantauan utama bagi warga Jakarta yaitu bendungan
Pada saat musim hujan, ketinggian air pada bendungan akan terus
meningkat dan jika sudah mencapai batas tertentu maka pintu air akan dibuka untuk
sungai yang dilewatinya. Seperti yang disampaikan oleh (Anies Baswedan, 2019:
26/04) “Air dan sampah kiriman menjadi penyebab utama banjir yang merendam
sebagian wilayah ibu kota Jakarta. Sebetulnya di titik banjir itu tidak ada hujan
deras, hujan deras hanya terjadi di daerah hulu yang mengalir hingga ke Jakarta”
[1].
Lambatnya informasi yang didapat oleh warga mengenai air kiriman banjir
1
mengenai banjir kiriman hanya datang dari mulut ke mulut dan terkadang bukan
berita yang baru terjadi. Ketidakpastian atas berita tersebut hanya akan menambah
علَ ٰى ِ ُ يَا أَيُّ َها الَّذِينَ آ َمنُوا إِ ْن َجا َءكُ ْم فَا ِس ٌق بِنَبَإ ٍ فَت َبَيَّنُوا أ َ ْن ت
ْ ُ صيبُوا قَ ْو ًما بِ َج َهالَ ٍة فَت
َ صبِ ُحوا
membawa berita, maka periksalah dengan teliti agar kamu tidak menimpa
Kekeliruan yang ditimbulkan dari berita tersebut tersebut tentu saja dapat
dihindari jika masyarakat mendapatkan informasi yang pasti dan realtime mengenai
dan realtime mengenai bencana banjir yang akan memasuki wilayah mereka.
Sebelumnya rancang bangun mengenai sistem informasi banjir pernah dibuat pada
penelitian dengan judul “Rancang bangun alat pendeteksi ketinggian air sungai
sebagai peringatan dini banjir berbasis Arduino nano [2]” yang membutuhkan
modul wifi tambahan sebagai pengirim data dan thingspeak sebagai sistem
menampilkan data melalui LCD dan tidak adanya sistem penyimpanan data seperti
database.
2
Berdasarkan hasil referensi dari alat yang telah dibuat pada penelitian-
penelitian sebelumnya, penulis telah membuat sebuah inovasi baru yaitu dengan
Penggunaan website ini akan sangat membantu dan bermanfaat bagi lembaga-
mendapatkan informasi dari website juga lebih up to date dan informasi yang
pendeteksi ketinggian air, Motor Servo sebagai pengatur pintu air otomatis dan
atau warga disekitar ketika pintu air akan dibuka. Ketiga komponen tersebut akan
Buzzer akan bekerja ketika sensor HCSR-04 mendeteksi ketinggian air pada titik
yang telah diterima oleh komputer (penerima) akan otomatis tersimpan ke dalam
website.
3
Website yang telah dibuat akan menyediakan informasi mengenai waktu,
tanggal, ketinggian air, status siaga dan informasi mengenai buka tutup pintu air.
bendungan?
2. Bagaimana Servo dan Buzzer dapat mengatur sistem buka tutup pintu air
secara otomatis?
Website?
Ultrasonik HC-SR04
4
1.4 Tujuan Penelitian
1. Merancang dan membangun prototype sistem deteksi banjir dan pintu air
otomatis
Penulisan penelitian Tugas Akhir ini dibagi menjadi lima bab, yang
BAB I PENDAHULUAN
Sistematika Penulisan.
5
BAB IV HASIL DAN PEMBAHASAN
Pada bab ini berisikan penjelasan mengenai hasil berupa data yang
ditampilkan pada website dan juga dijelaskan tentang pembahasan berdasarkan data
Bab ini berisi kesimpulan dari semua hasil penelitian yang menjawab
tujuan penelitian. Dan juga berisi saran untuk penelitian dan pengembangan
selanjutnya berdasarkan pada hasil dan kesimpulan yang diperoleh pada penelitian
ini.
6
BAB II
TINJAUAN PUSTAKA
merambat melalui medium berupa benda zat cair, padat maupun gas. Terdapat tiga
aspek utama pada bunyi yaitu sumber bunyi, medium agar gelombang dapat
antar molekul pada zat yang dilalui oleh suatu gelombang bunyi, semakin rapat atau
semakin pendek jarak antar molekul pada suatu zat maka semakin cepat gelombang
bunyi merambat melalui mediumnya dan semakin jauh jarak antar molekul pada zat
yang dilalui oleh suatu medium maka semakin lambat gelombang bunyi dapat
kecapatan rambat bunyi akan berbeda pada setiap medium yang dilaluinya. Secara
Dimana:
𝑣 = kecepatan rambat bunyi (meter/sekon)
7
Adapun panjangnya gelombang yang dihasilkan oleh suatu bunyi dapat
λ
𝑣= (2.2)
𝑇
Dimana:
yang berbeda-beda tergantung dari medium yang dialuinya seperti massa jenis
medium yang dilalui, suhu, dan lain-lain. Berikut ini persamaan untuk mengetahui
Gelombang bunyi dapat merambat melalui zat padat contohnya adalah baja,
𝐸
𝑣=√ (2.3)
𝜌
Dimana:
8
ii. Perambatan bunyi pada zat cair
Gelombang bunyi dapat merambat melalui zat cair contohnya adalah air, air
𝛽
𝑣=√ (2.4)
𝜌
Gelombang bunyi juga dapat merambat melalui zat gas, namun dipengaruhi
oleh tekanan gas, nisbah kapasitas terminal molar, massa jenis dan temperature
𝛾𝑃
𝑣=√ (2.5)
𝜌
𝑃 = tekanan gas
9
Sudut datang gelombang sama dengan sudut pantul gelombang
Gelombang datang, gelombag pantul dan garis normal terletak pada satu
bidang
𝜃𝑖 = 𝜃𝑟 (2.6)
Dimana:
𝜗𝑖 = sudut datang
𝜗𝑟 = sudut pantul
10
b. Gelombang sonik (sonic waves) yaitu gelombang mekanik yang mempunyai
gelombang ultrasonik ini di terapkan pada suatu sensor yaitu sensor HCSR-
04.
jarak antara penghalang dengan sensor. Sensor tersebut bekerja dengan mengubah
besaran fisis (bunyi) menjadi besaran listrik atau sebaliknya. Sensor ultrasonik
dapat digunakan di lingkungan yang gelap dan tidak akan terpengaruh oleh warna
atau transparansi objek. Namun, sensor ultrasonik dapat diserap oleh busa dan
tekstil [9].
11
Gambar 2.2 Sensor HCSR-04
kisaran 400 cm dengan resolusi 1 cm. Sensor HCSR-04 terdiri dari 4 pin yaitu:
trigger, echo, power supplay dan ground, dua pin diantaranya sebagai pemancar
menyentuh permukaan air, maka gelombang tersebut akan dipantulkan dan diterima
kembali oleh sensor pada bagian receiver dengan frekuensi berkisar 40 kHz hingga
12
400 kHz [11]. Dengan mengukur selang waktu antara gelombang dikirim dan
gelombang pantul diterima, maka sinyal tersebut akan diproses untuk menghitung
𝒗 ×𝒕
𝒔= (2.7)
𝟐
Dimana,
𝑡 = Selisih antara waktu pemancaran gelombang oleh transmitter dan waktu ketika
13
2. Spesifikasi Sensor Ultrasonik HCSR-04:
Tabel 2.2 Spesifikasi Sensor Ultrasonik HCSR-04
Parameter Nilai
Tegangan Kerja 5 V (DC)
Arus Kerja 15 Ma
Frekuensi Kerja 40 kHz
Jarak Maksimum 400 cm
Jarak Minimum 2 cm
Sudut Pengukuran 15 derajat
Dimensi 1-13/16” 𝑥 13/16” 𝑥 5/8”
Koneksi 4 pin (Vcc, Gnd, Echo, Trigger)
diberikan tegangan input sebesar 5 volt selama 10 𝜇𝑠, maka Pin Echo (Transmitter)
akan mengirimkan 8 bit sinyal dengan frekuensi 40 KHz dan gelombang bunyi
kecepatan 340 𝑚/𝑠, kemudian jika pancaran gelombang tersebut mengenai suatu
objek / benda padat (tegak lurus dihadapannya) maka gelombang tersebut akan
dipantulkan. Pantulan dari gelombang tersebut akan diterima oleh receiver. Lalu
receiver akan membaca lebar pulsa (dalam bentuk PWM) dan selisih waktu
penghalang dapat diperoleh dengan menghitung jeda waktu antara sinyal dikirim
14
2.3 Motor Servo SG90
Motor servo adalah sebuah motor dengan sistem feedback, dimana formasi
dari motor akan diinformasukan kembali ke rangkaian control yang ada didalam
motor servo. Servo terdiri dari sebuah motor, serangkaian gear, potensiometer dan
lebar pulsa (PWM). Kabel control digunakan untuk menentukan arah putar rotor
servo continuous 3600. Motor servo jenis standar hanya mampu bergerak 1800.
Motor ini dapat berputar searah atau berlawan dengan jarum jam dengan defleksi
masing-masing sudut mencapai 900 sehingga total defleksi dari kanan – tengah –
kiri adalah 1800. Sedangkan motor servo jenis continuous mampu bergerak 3600.
Motor ini dapat berputar searah atau berlawan dengan jarum jam tanpa batasan
15
Spesifikasi Motor Servo SG90:
Tabel 2.3 Spesifikasi Motor Servo SG90
Parameter Keterangan
Dimensi 23 𝑥 29 𝑥 12,2 mm
Stall torque (4,8 V ) 1,6 kg/cm
Dead band width 10 mikro detik
kecepatan operasi 0.1 detik/600
Tegangan kerja 4,8 V dan bekerja pada suhu 00 - 550
Material gear Nilon
Mode Analog
Panjang kabel 150 mm
Motor servo bekerja dengan sistem umpan balik tertutup dimana posisi dari
motor akan diinformasikan kembali ke rangkaian control yang ada di dalam motor
servo. Pada bagian dalamnya, motor servo terhubung dengan gearbox yang
membuat motor servo memiliki torsi yang lebih kuat. Salah satu gear yang
terhubung ke sebuah potensiometer yang akan membaca arah dan besarnya derajat
posisi dari ujung gearbox. Potensiometer terhubung ke sebuah rangkaian yang akan
16
Cara pengendalian motor servo adalah dengan memberikan sinyal modulasi
lebar pulsa (Pulse Wide Modulation / PWM) melalui kabel kontrol. Lebar pulsa
sinyal kontrol yang diberikan akan menentukan posisi sudut putaran dari poros
motor servo. Semakin lebar pulsa OFF maka akan memutar poros motor servo
searah jarum jam dan semakin kecil pulsa OFF maka akan memutar poros motor
servo kearah yang berlawanan dengan jarum jam. Sinyal (PWM) terdiri dari tiga
lebar pulsa yaitu 1 ms, 1.5 ms dan 2 ms [16] seperti gambar dibawah ini
2.4 Buzzer
sinyal listrik menjadi getaran suara [17]. Buzzer dapat bekerja dengan baik dalam
menghasilkan frekuensi di kisaran 1-5 KHz hingga 100 KHz untuk aplikasi
diantara 3 Volt hingga 12 Volt dan biasa digunakan sebagai alarm, bel rumah, dan
lain-lain [18].
17
Gambar 2.7 Buzzer
Pada dasarnya prinsip kerja buzzer hampir sama dengan load speaker, jadi
buzzer terdiri dari kumparan yang terpasang pada diafragma dan kemudian
kumparan tersebut dialiri arus sehingga menjadi energi magnet, kumparan tadi akan
ditarik kedalam 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
tipe Raspberry Pi, Namun penelitian kali ini menggunakan Raspberry Pi 3 Model
menggunakan memori 256 MB dan model B menggunakan memori 512 MB. Selain
itu, model B sudah dilengkapi dengan port Ethernet (untuk LAN) yang tidak
18
terdapat pada model A. Raspberry Pi dapat berjalan pada Debian berbasis
dan didukung melalui kabel micro USB [22]. GPIO dari Raspberry Pi 3 Model B
Pada Raspberry Pi 3 model B terdapat 40 pin yang disebut sebagai pin GPIO
(pin-pin general purpose input output). Pin-pin tersebut dapat dibaca dengan 2
metode yaitu dibaca sesuai nomor GPIO atau dibaca berurutan sesuai nomor. GPIO
19
tersebut berguna sebagai penghubung antara Raspberry Pi dengan piranti eksternal
[23].
2. GPIO 40 pin
3. 4 𝑥 port USB 2
Raspberry Pi
10. Port Micro SD untuk memuat sistem operasi dan menyimpan data
komputer. Tujuan dari pemrograman adalah untuk membuat suatu program yang
20
2.6.1 Bahasa Pemrograman Python 3
Python secara umum adalah bahasa pemrograman tingkat tinggi yang saat
ini banyak digunakan oleh para programmer. Lengkap dengan source code,
debugger dan profiler, fungsi sistem, GUI dan basis datanya. Python merupakan
bahasa resmi dalam Raspberry Pi. Kata “Pi” dalam Raspberry Pi merujuk pada
“Python” [24]. Struktur bahasa pada python memungkinkan pengguna untuk dapat
menulis program secara mudah baik dalam skala kecil maupun skala besar. Fitur
yang paling penting dalam python adalah dapat mensupport berbagai macam
prosedur pemrograman. Python juga memiliki sistem yang dinamis dan menejemen
memori yang baik serta memiliki standar komprehensif library yang luas [25].
fungsi, deklarasi kelas atau program dll. Tapi python memberi kemampuan untuk
kata tambahan yang diperlukan untuk menulis program yang benar secara sintaksis.
belajar ilmu komputer secara umum [26]. Python dapat digunakan untuk berbagai
21
keperluan pengembangan perangkat lunak dan dapat berjalan di berbagai sistem
operasi seperti Linux, Windows, Unix, Symbian dan masih banyak lagi.
2.6.2 PHP
bahasa yang disertakan dalam dokumen HTML, sekaligus bekerja disisi server
Banyak dijumpai kode PHP menyatu dengan kode HTML. Kode PHP
diawali dengan tag <?php dan diakhiri dengan tag ?>. Ketika dipanggil dari web
browser, program yang ditulis dengan PHP akan di-parsing di dalam web server
2.6.3 HTML
HTML (Hyper text markup language) adalah sebuah bahasa markup yang
instruksi berupa tag yang mendefinisikan dengan tepat bagaimana teks dan grafik
dapat muncul pada halaman web internet. Dengan kata lain, HTML dapat
menampilkan informasi berdasarkan halaman yang kita buat menggunakan tag atau
instruksinya [29].
22
Kode HTML diawali dengan tag <html> dan diakhiri dengan tag </html>
untuk menyusun code menjadi paragraf, daftar dan teks. Perlu diingat bahwa HTML
bukan bahasa deskripsi halaman atau bahasa performatan halaman. HTML hanya
Bahasa scripting HTML dan PHP ini dapat dijalankan di Notepad++ dengan
ketentuan bahwa nama file harus berakhir dengan ekstensi (.html) atau (.php).
mendukung banyak bahasa seperti PHP, HTML, Python, Java, CSS dan lain-lain.
operasi pada database MySQL seperti mengelola basis data, membuat tabel,
mengisi data dan lain-lain dengan mudah tanpa harus menghafal baris perintahnya.
digunakan secara open source. Database tersebut biasa digunakan untuk mengelola
23
dan menyimpan data dalam skala besar [31]. MySQL mendukung program-program
umum seperti C, C++, Java, PHP, Python, dan lain-lain. Pengaksesan data dalam
database dapat dilakukan dengan mudah melalui bahasa SQL. SQL (Structure
Query Langueage) adalah bahasa standar yang banyak digunakan untuk mengakses
server database. Dengan menggunakan SQL, proses akses database menjadi lebih
MySQL mampu menangani basis data dalam skala besar, dengan jumlah
rekaman lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu, batas
indeks mencapai 32 indeks pada tiap tabelnya. MySQL dilengkapi dengan berbagai
tool yang dapat digunakan untuk administrasi basis data, agar mempermudah admin
dalam mengelola basis data tersebut dengan tampilan antarmuka web base dengan
cara-cara pengelolaannya, hal ini menjadi alasan yang sangat penting untuk
dengan protokol TCP/IP, Unix Soket (UNIX), atau Named Pipes (NT) [33].
2.8 XAMPP
XAMPP merupakan singkatan dari singkatan dari Ross-Platfrom (X), Apache (A),
MySQL (M), PHP (P) dan Perl (P). XAMPP menyediakan Apache, database
(MySQL) dan bahasa scripting (PHP). Selain mudah digunakan, software tersebut
24
Gambar 2.12 Logo XAMPP
Pada dasarnya, XAMPP adalah host local atau server local. Server local
tersebut bekerja untuk menjalankan atau mengaktifkan sistem operasi yang dia
miliki. Program ini tersedia dalam GNU (General Public License), merupakan
sebuah web server yang mudah digunakan dan dapat melayani tampilan halaman
25
BAB III
METODE PENELITIAN
Penelitian ini dilaksanakan dari bulan juli 2019 hingga oktober 2019. Lokasi
2. Buzzer
6. Raspberry Pi 3 model B
7. Monitor
8. Keyboard
9. Mouse
10. Wifi
26
13. Python IDLE
16. XAMPP
17. NOTEPAD++
dihubungakan dan dijalankan oleh satu sistem kendali. Pada penelitian ini, penulis
Raspberry Pi sebagai otak utama pengolahan data sensor. Raspberry bekerja untuk
Gambar 3.1 Perancangan Alat Deteksi Banjir dan Pintu Air Otomatis
27
Pada gambar diatas dapat dijelaskan perancangan alat deteksi banjir dan
VCC : Dihubungkan ke 5V
VCC : Dihubungkan ke 5V
4. Project Board
menghubungkan arus.
pada rangkaian
6. Jumper
28
7. Raspberry Pi 3 model B
8. Power
9. Port HDMI
Raspberry Pi
29
3.4 Diagram Alir Penelitian
Penelitian “Sistem Deteksi Banjir dan Pintu Air Otomatis menggunakan
Raspberry Pi 3 Model B Berbasis Website” ini meliputi beberapa tahap seperti
dibawah ini:
dan mengirim data dari sensor HCSR-04 ke komputer. Selain untuk dikirim ke
menggurakkan motor servo dan membunyikan buzzer. Jika data HCSR-04 tidak
berhasil dikirim maka Raspberry akan membaca dan mengirim ulang kembali data
tersebut. Namun, Jika data berhasil dikirim maka data tersebut akan diterima oleh
30
komputer. Data yang telah diterima oleh komputer akan otomatis tersimpan
Data ketinggian air yang ada pada database akan ditampilkan kedalam
website dan dipilah menjadi 4 kategori, yaitu SIAGA 3 jika ketinggian air kurang
dari 7 cm, SIAGA 2 jika ketinggian air kurang dari 14 cm, SIAGA 1 jika ketinggian
air kurang dari 21 cm dan “Pintu Air Dibuka” jika ketinggian air melebihi dari 22
cm. Pembagian kategori ini diolah menggunakan bahasa pemrograman PHP dan
31
3.4.2 Diagram Alir Sistem Pintu Air
Data ketinggian air yang diperoleh dari sensor HCSR-04 akan dijadikan
sebagai nilai acuan untuk membunyikan buzzer dan menggerakkan servo. Ketika
ketinggian air berada di titik 18 cm -19 cm maka buzzer akan berbunyi, bunyi
tersebut memberikan pertanda kepada warga sekitar atau petugas bahwa status
ketinggian air berada dititik SIAGA 1. Kemudian, ketika ketinggian air mencapai
lebih dari 22 cm maka Buzzer akan berbunyi lebih lama dan Motor servo akan
berputar ke (1800) untuk menarik pintu air keatas sehingga air dapat keluar dari
pintu tersebut.
32
3.5 Perancangan Perangkat Lunak
lunak sebagai sistem operasinya. Berikut beberapa perangkat lunak yang akan
untuk bekerja. Penulis menggunakan raspbian sebagai salah satu sistem operasi
untuk Raspberry Pi 3. Raspbian adalah sistem operasi gratis berbasis Debian yang
Raspberry Pi [36].
https://www.raspberrypi.org/downloads/
33
3. Unduh bagian “Download ZIP”
buah master (server) dapat digunakan untuk terhubung dengan beberapa slave
1. Buka “LxTerminal”
34
d. Instalasi Library Untuk Sensor HC-SR04
1. Buka “LxTerminal”
a. Instalasi Python 3
https://www.python.org/downloads/windows/
b. Instalasi Notepad++
plus-plus.org/
35
7. Terakhir, pilih komponen atau fitur yang akan digunakan dengan cara
7. Pilih komponen yang akan digunakan dengan cara memberi tanda atau
2. Klik ikon “Xampp-Control” dan akan tampil seperti gambar dibawah ini
36
Gambar 3.6 Tampilan Xampp
37
6. PhpMyAdmin akan otomatis terbuka pada peramban web seperti “Chrome
38
Gambar 3.9 Membuat Database Baru
Membuat Tabel Baru Pada Database
1. Klik nama database yang telah dibuat Klik “New” isi nama tabel
2. Isi kolom tabel dengan format seperti gambar dibawah ini Save
39
Gambar 3.11 Membuat Format Tabel
memberikan nilai pada program sebesar error yang didapatkan. Untuk mengetahui
dengan dua pengukuran, yaitu data yang didapat dari alat ukur berupa penggaris
sebagai acuan dan data yang didapat dari sensor HCSR-04. Perbandingan data ini
pembacaan ketinggian air. Dari perbandingan data tersebut dapat ditentukan nilai
𝑋𝐿𝑖𝑡 − 𝑋𝑑𝑎𝑡𝑎
%𝐾𝐿 = × 100% (3.1)
𝑋𝐿𝑖𝑡
40
3.7 Metode Karakteristik Motor Servo SG90
perbandingan antara busur dengan ketepatan titik derajat yang diarahkan oleh servo.
Perbandingan data ini dilakukan untuk mengetahui tingkat ketepatan dari motor
Firefox”
41
Pengiriman data melalui TCP/IP ini dilakukan dengan dua cara yaitu pertama,
program pengirim dan penerima harus menggunakan wifi yang sama, hal ini
diberikan kode IP dan Port yang sama dengan komputer (penerima), hal ini
dituju.
1. Pastikan Raspberry dan komputer sudah terhubung dengan Wifi yang sama
database. Hal ini dilakukan agar data yang telah diterima bisa otomatis
berjalan
8. Refresh Database untuk melihat data yang telah masuk (Database tidak
perlu selalu di refresh walaupun data belum tampil di dalam tabel database)
42
9. Buka website untuk melihat data yang masuk secara otomatis (Website akan
diterima).
menggunakan motor servo SG90. Pada penelitian ini, waktu kerja sevo begantung
pada data yang didapat oleh HCSR-04. Jika sensor HCSR-04 membaca ketinggian
air lebih dari 22 cm maka pintu air akan terbuka dan motor servo akan berputar ke
(1800) untuk menarik pintu keatas sehingga air dapat keluar dari pintu tersebut.
Kemudian, jika ketinggian air kurang dari 22cm maka pintu air akan tertutup dan
motor servo dan motor servo akan berputar ke 00 untuk menurunkan pintu air ke
43
BAB IV
HASIL DAN PEMBAHASAN
pembuatan prototype sistem deteksi banjir dan pintu air otomatis menggunakan
analisis dari data yang telah diperoleh setelah melakukan pengujian perangkat keras
komponen dapat dijalankan dalam satu sistem. Pada penelitian ini, penulis
komponen yang terhubung dengannya. Jika komponen dapat dijalankan, maka data
pada setiap komponen tersebut dapat terbaca oleh Raspberry Pi. Data yang telah
database.
sistem kerja dari setiap komponen yang digunakan sehingga sesuai dengan target
44
Gambar 4.1 Perancangan Alat
terhubung dengan sensor HCSR-04, Motor Servo SG90, dan Buzzer. Ketika
secara keseluruhan.
B. Bagian B merupakan unit Buzzer yang bekerja pada kondisi tertentu sesuai
ketinggian air. HCSR-04 diletakkan di atas wadah air agar dapat membaca
45
Gambar 4.2 Simulasi Pembacaan Ketinggian Air
wadah sampai titik muka air, namun dengan mengetahui posisi penempatan
HCSR-04 dan jarak antara sensor HCSR-04 dengan muka air maka
ketinggian air dapat diketahui. Seperti pada gambar simulasi ketinggian air
diatas dapat dijelaskan bahwa nilai ketinggian air didapatkan dari jarak
dasar wadah ke sensor dikurangi dengan jarak yang terbaca oleh sensor.
29 𝑐𝑚 − 20 𝑐𝑚 (𝐷𝑖𝑠𝑡𝑎𝑛𝑐𝑒) = 9 𝑐𝑚
D. Bagian D merupakan unit motor servo SG90 yang berfungsi untuk mengatur
pintu air seperti mengangkat dan menurunkan pintu air. Motor servo bekerja
46
Gambar 4.3 Simulasi Pintu Air
E. Bagian E adalah sebuah penggaris yang digunakan untuk mengukur
F. Bagian F adalah bagian pintu air yang terikat dengan motor servo SG90.
Motor akan bergerak ke titik 1800 untuk membuka pintu air dan akan
Motor servo dan buzzer bekerja berdasarkan nilai ketinggian air yang
didapat oleh HCSR-04. Ketika ketinggian air berada pada titik 18 cm -19 cm maka
buzzer akan berbunyi selama tiga detik. Kemudian, ketika ketinggian air mencapai
lebih dari 22 cm maka buzzer akan berbunyi tujuh detik (lebih lama). Bunyi dari
buzzer digunakan untuk memberikan pertanda kepada warga sekitar dan petugas
47
bahwa status ketinggian air berada pada status SIAGA 1 atau saat pintu air telah
dibuka.
Motor akan berputar ke 00 untuk menurunkan pintu air ke bawah sehingga air tidak
dapat keluar, kemudian akan berputar ke 1800 untuk menarik pintu air keatas
0.1 detik/600 dan tegangan 4.8 V. Untuk kecepatan bergerak dapat dikontrol dengan
pintu air nantinya dapat diatur dengan cara memberikan tegangan supply sesuai
dengan yang dibutuhkan. Jika terjadi penambahan beban, selama beban tersebut
tidak mengakibatkan sinkronisasi motor, maka motor tetap berputar pada kecepatan
yang konstan.
48
4.2 Hasil Perancangan Perangkat Lunak
software yang digunakan dalam menerima data dari Raspberry Pi, penyimpanan
data kedalam database dan menampilkan data kedalam website secara realtime.
terlebih dahulu. Hal ini dilakukan agar komputer (penerima) dapat mencari
komputer lain yang terhubung dengan wifi yang sama dengan komputer. Setelah
tersebut (IP Raspberry Pi). Pengiriman data dari Raspberry Pi akan dimulai ketika
komputer telah menampilkan pesan “Menerima Data” yang artinya komputer siap
49
Pada saat pengiriman data, Raspberry Pi akan membaca data ketinggian air
yang didapatkan oleh HCSR-04, selanjutnya program akan mengubah data tersebut
kedalam format “%.1f”. Artinya Raspberry akan mengirimkan data ketinggian air
dengan hanya menampilkan satu angka dibelakang koma. Berikut ini adalah proses
pengiriman” dari Raspberry ke komputer dan data “ketinggian air” yang dideteksi
oleh sensor HCSR-04. Proses pengiriman data berjalan secara terus-menerus sesuai
dengan jeda waktu yang telah ditentukan pada program pengirim. Pada bagian ini,
data dari Raspberry Pi. Data yang diterima hanya berupa data ketinggian air,
sedangkan untuk data waktu, peneliti menggunakan data waktu yang diatur pada
database phpmyadmin.
50
Gambar 4.7 Penerimaan Data Di Komputer
Pesan “1 data tersimpan” merupakan tanda bahwa baris data yang berada diatas
Data yang telah diterima oleh komputer akan otomatis masuk kedalam
artinya nilai yang akan masuk ke tabel database totalnya ada 4 angka dengan 1
angkanya dibelakang koma. Bagian tersebut diatur pada saat pembuatan tabel di
51
Gambar 4.8 Data yang masuk kedalam database
Penulis memberikan dua kolom tambahan pada tabel database, yaitu kolom
Tanggal yang digunakan untuk mengisi tanggal secara otomatis sesuai dengan
tanggal pada komputer dan kolom Status yang digunakan untuk memberikan
keterangan pada tampilan di website. Artinya, keterangan pada kolom Status hanya
dapat ditampilkan pada tabel website dan tidak berisi keterangan apapun pada kolom
di database. Kolom Status diolah sedemikian rupa menggunakan program php dan
html pada notepad++ untuk dapat memberikan keterangan pada tabel website
52
4.3 Hasil Karakteristik Sensor HCSR-04
Sensor HCSR-04 dapat mengukur jarak antara objek dengan sensor. Objek
yang menjadi sasaran dalam penelitian ini adalah air. Sensor HCSR-04 mampu
ketinggian air yang diukur menggunakan HCSR-04 dan ketinggian air yang diukur
ketinggian air.
Tabel 4.1 Perbandingan Nilai Ketinggian Air Antara HCSR-04 dan Penggaris
No Alat Ukur (Penggaris) HCSR-04 Selisih
(cm) (cm) (cm)
1 3 3.3 0.3
2 6 6.8 0.8
3 9 9.5 0.5
4 12 12.2 0.2
5 15 14.2 0.8
6 18 18.0 0
7 21 20.9 0.1
8 24 23.8 0.2
Ʃ 108 108.7 -
53
Adapun hasil perbandingan data pada tabel 4.1 diatas dapat dilihat melalui
tampilan grafik dibawah ini
15
12
9
6
3
0
3 6 9 12 15 18 21 24
Alat Ukur Penggaris
pada tabel 4.1, didapatkan kesalahan literatur dari HCSR-04 yaitu sebesar 0.6%.
Berdasarkan nilai tersebut dapat diketahui bahwa nilai ketelitian sensor HCSR-04
adalah sebesar 99.4%. Dikarenakan nilai error yang didapat sangat kecil, sehingga
tidak diperlukannya nilai tambahan untuk kalibrasi pada program dan sensor ini
layak dijadikan sebagai pengukur ketinggian air. Terdapat 2 hal yang menyebabkan
error pada pembacaan ketinggian air oleh HCSR-04, yaitu karena adanya
54
4.3.2 Karakteristik HCSR-04 dalam Pembacaan Ketinggian Air Jika
tinggi jika sensor tersebut diarahkan pada penghalang yang memiliki posisi bidang
yang datar. Namun pada penelitian kali ini, penghalang yang digunakan oleh
penulis adalah air sehingga terdapat posisi bidang yang tidak datar atau disebut
untuk mengetahui ketepatan pembacaan dari sensor HCSR-04 ketika permukaan air
cara memberikan air ke dalam wadah pada ketinggian awal sebesar 11 cm,
kemudian data akan diambil secara bertahap ketika air dalam wadah diberikan
Tabel 4.2 Karakteristik HCSR-04 dalam Pembacaan Ketinggian Air Jika Diarahkan pada
Gelombang
Ketinggian Pengambilan Data Ketinggian Air Selisih
Normal (cm) (cm)
Data ke-1 11.2 1.2
Data ke-2 9.6 0.4
Data ke-3 9.1 0.9
Data ke-4 9.4 0.6
Data ke-5 8.0 2
10 cm
Data ke-6 10.4 0.4
Data ke-7 10.3 0.3
Data ke-8 9.7 0.3
Data ke-9 9.7 0.3
Data ke-10 9.8 0.2
55
Adapun hasil pengujian data pada tabel 4.2 diatas dapat dilihat melalui
10
9.5
9
8.5
8
7.5
7
Pengambilan Data
kondisi datar (normal), selanjutnya untuk data ke-1 hingga data ke-10 merupakan
data ketinggian air yang didapatkan ketika permukaan air tersebut bergelombang.
Berdasarkan pada tabel 4.2 yaitu hasil pengujian HCSR-04 dalam membaca
jarak pada bidang yang bergelombang, dapat dijelaskan bahwa HCSR-04 membaca
jarak dengan selisih maksimal 2 cm dan selisih minimal 0.2 cm. Selisih dengan
jarak yang cukup jauh ini didapatkan ketika HCSR-04 menuju titik pada permukaan
56
4.4 Hasil Karakteristik Motor Servo SG90
Motor servo SG90 dapat mengangkat beban 1.6 kg/cm dengan tegangan 4.8
V. Artinya, tegangan supplay harus diberikan sesuai dengan beban yang akan
diangkat oleh motor servo. Jika terjadi penambahan beban secara berlebihan, maka
akan mengakibatkan sinkronisasi motor servo atau motor tidak dapat berhenti pada
Untuk mengetahui kepresisian titik sudut yang diarahkan oleh motor servo,
maka penulis melakukan perbandingan sudut antara motor servo dengan busur.
Pengujian ini dilakukan untuk mengetahui tingkat ketepatan sudut dari gerak motor
servo. Berikut ini adalah tabel hasil pengujian perbandingan antara motor servo
dengan busur
57
Adapun hasil perbandingan data pada tabel 4.3 diatas dapat dilihat melalui
120
100
80
60
40
20
0
0 30 60 90 120 150 180
Busur
Gambar 4.11 Grafik Perbandingan Antara Busur dengan Motor Servo SG90
selisih sudut antara motor servo dengan busur adalah 00, Artinya motor servo
bekerja sesuai dengan titik sudut yang telah ditentukan. Kesesuaian perbandingan
ini juga dipengaruhi oleh beban yang diangkat oleh motor servo. Pada prototype
ini, penulis menggunakan pintu air dengan beban yang ringan yaitu kurang dari 100
gram, sehingga tidak adanya sinkronisasi motor dan motor dapat bekerja sesuai
58
4.5 Hasil Pengujian Kesesuaian Waktu Antara Data Yang Dikirim Dan
Diterima
kestabilan sinyal. Jika sinyalnya lemah, maka pengiriman data akan menjadi lebih
lambat, Namun bila sinyal kuat/penuh maka waktu antara pengeriman dan
dan diterima. Berikut ini adalah tabel hasil pengujian perbandingan antara waktu
Pada tabel 4.3 dapat dijelaskan bahwa antara waktu pengiriman data hingga
penerimaan data didapatkan jeda waktu rata-rata sebesar 2 detik dari 9 kali
percobaan. Respon waktu yang cepat ini terjadi karena peneliti menggunakan sinyal
59
handphone yang dekat dan cukup kuat sehingga kecepatan maksimal bisa
didapatkan.
artinya informasi yang ada didalam website tersebut dapat diperbaharui secara
berkala dalam jangka waktu yang telah ditentukan. Dengan kata lain, adanya
program yang berjalan untuk mengatur perubahan data yang ditampilkan dalam
60
Hal yang menjadikannya sebagai website dinamis adalah website tersebut
didesain secara otomatis untuk menampilkan informasi terbaru setiap waktu yang
telah ditentukan, tanpa adanya pengaturan manual pada program. Website dimuat
website. Nilai 1 pada query tersebut diatur agar website dapat merefresh halaman
menampilkan data terbaru yang masuk kedalam database tanpa harus merefresh
manual.
Pada program website, nilai pada kolom ketinggian air akan dijadikan acuan
untuk mengisi keterangan pada kolom status. Nilai tersebut nantinya akan dibagi
menjadi 4 kategori, yaitu kategori “SIAGA 3” jika nilai ketinggian air kurang dari
7 cm, “SIAGA 2” jika nilai ketinggian air kurang dari 14 cm, SIAGA 1 jika
ketinggian air kurang dari 21 cm dan “Pintu Air Dibuka” jika ketinggian air
Terdapat dua fitur tambahan yang ditampilkan dalam website tersebut yaitu
pengaturan tanggal dan kotak informasi. Fitur tanggal berguna untuk memudahkan
para pengguna website dalam mencari data seputar berndungan sesuai dengan
61
BAB V
KESIMPULAN DAN SARAN
5.1 KESIMPULAN
1. Telah berhasil dirancang sistem deteksi ketinggian air dan pintu air otomatis
dengan tingkat ketelitian sebesar 99.4% dan motor servo sebesar 00.
3. Sistem deteksi ketinggian air banjir dan pintu air otomatis ini memiliki
kecepatan waktu pengiriman data hingga penerimaan data dengan jeda rata-
rata sebesar 2 detik dari 9 kali percobaan. Kecepatan respon waktu yang
realtime.
5.2 SARAN
perlu dibuatkan cloud agar ketika koneksi terputus maka data tidak ada yang
hilang
penelitian kali ini karena kondisi cuaca seperti hujan sangat mempengaruhi
62
DAFTAR REFERENSI
[1] CNNindonesia, “Anies Baswedan: Banjir Jakarta Karena Air dan Sampah
Kiriman”. https://www.cnnindonesia.com/nasional/20190426114140-20-
389845/anies-banjir-jakarta-karena-air-dan-sampah-kiriman (diakses tanggal
10 januari 2020)
[2] Akhiruddin. “Rancang Bangun Alat Pendeteksi Ketinggian Air Sungai
Sebagai Peringatan Dini Banjir Berbasis Arduino Nano” journal of
electrical technology Vol.3, No.3, 2018.
[3] Pratomo, Dicka Yoga., Adel Silvia Handayani dan R.A. Halimatussa’diyah.
“Sistem Peringatan Dini Banjir Menggunakan Mikrokontroller Raspberry
Pi 3”, Seminar Nasional Inovasi Dan Aplikasi Teknologi Di Industri,
Pp.110-115 2019
[4] Hans F, Astria Firman dan Wowor Xaverius Najoan. “Sistem Informasi
Perpustakaan Online Berbasis Web”, E-Journal Teknik Elektro Dan
Komputer, Vol.5 No.2, Pp. 29-36, 2016.
[5] Lubis, Ashar Muda dan Lizalidiawati. “Rancang-Bangun Alat Penentuan
Kecepatan Bunyi Di Udara Berbasis Instrumentasi”, Jurnal Gradien Vol.1,
No.1, Pp.10-15, 2005.
[6] Surya, Yohanes. “Getaran Dan Gelombang”, Tangerang: Pt Kandel, 2014.
[7] Halliday, David & Robert Resnick. “Fisika Edisi Ketiga Jilid 1”, Jakarta:
Erlangga, 1998.
[8] Sukandi, Agus dan Budi Santoso. “Aplikasi Instrumentasi Ultrasonik Pada
Pengujian Sifat Mekanik Logam”, Jurnal Politeknologi, Vol.12, No.2,
Pp.119-125, 2013.
[9] Walingkas, Irene Saktini., Meicsy E.I. Najoan dan Brave Angkasa Sugiarso.
“Perpaduan Sensor Ultrasonic Dengan Mini Komputer Raspberry Pi
Sebagai Pemandu Robot Beroda”, E-Journal Teknik Elektro Dan
Komputer, Vol.8, No.3, Pp. 122-123, 2019.
63
[10] Bhatt, Mahesh Chandra., Dharmendra Sharma, & Ashish Chauhan. “Smart
Dustbin for Efficient Waste Management”, International Research Journal
Of Engineering And Technologi, Vol 06, Issue 07, Pp.967-969, 2019.
[11] Sharmila A., dkk. “Obstacle Detection Using Ultrasonic Sensor In Mav
(Micro Air Vehicle)”, International Research Journal Of Engineering And
Technologi, Vol 05, Issue 04, Pp.1964-1966, 2018.
[12] R, Unni & Pati U.C. “Pc Based Ultrasonic Intrusion Detection System”,
IEEE International Symposium On Power Electronics For Distributed
Generation Systems, Pp.942-947, 2018.
[13] Abdillah, Muhammad Izzan., Denny Darlis dan Rizki Ardianto P.
“perancangan dan implementasi perangkat pengukur jarak dengan sistem
VLC pada sepeda motor untuk komunikasi antar kendaraan”, E-Proceeding
of Applied Science, Vol.5, No.1, Pp.267-279, 2019.
[14] Ikal., Sumiati dan Harizal. “Rancang Bangun Ptototype Penanganan Dini
Dan Pendeteksi Kebocoran LPG Berbasis Mikrokontroller Melalui SMS”,
Jurnal Pengembangan Riset Dan Observasi Sistem Komputer, Vol.3, No.2,
Pp.26-32, 2016.
[15] Hidayat, M Reza., Christiono dan Budi Septiana Sapudin. “Perancangan
Sistem Keamanan Rumah Berbasis IoT Dengan NodeMCU ESP8266
Menggunakan Sensor PIR HC-SR501 Dan Sensor Smoke Detector”, Jurnal
Kilat, Vol.7, No.2, Pp.139-148, 2018.
[16] Raut, Mahesh., dkk. “Automatic Mini Cnc Machine For Pcb Drawing Using
Arduino”, International Research Journal Of Engineering And Technologi,
Vol 06, Issue 06, Pp.310-313, 2019.
[17] Lutifa, Ulinnuha dan Joko Slamet Saputro. “Perancangan Robot ARM
Gripper Berbasis Arduino Uno Menggunakan Antarmuka Labview”,
Barometer, Vol.3, No.2, Pp.138-141, 2018.
[18] Kurniawan, Asep. “Alat Bantu Jalan Sensorik Bagi Tunanetra”, Journal Of
Disability Studies, Vol.6, No.2, Pp. 285-312, 2019.
64
[19] Mujadin, Anwar Dan Dwi Astharini. “Ball On Plate Balancing System Pada
KIT Praktek PID Mata Kuliah Dasar Sistem Kendali”, Jurnal Al-Azhar
Indonesia Seri Sains Dan Teknologi, Vol.3, No.3, 2016.
[20] Ramli, Mardhan., Dringhuzen J Mamahit dan Janny O Wuwung. “Rancang
Bangun Sistem Pemantau Tamu Pada Smarthome Berbasis Raspberry Pi
3”. E-Journal Teknik Elektro Dan Komputer, Vol.7 No.1, Pp. 1-8, 2018.
[21] Sedayu, Agung., Elvan Yuniarti Dan Edi Sanjaya. “Rancang Bangun Home
Autamtion Berbasis Raspberry Pi 3 Model B Dengan Interface Aplikasi
Media Sosial Telegram Sebagai Sistem Kendali”. Al-Fiziya, Vol.1, No.2,
2018.
[22] Dharaska, Mayank., dkk. “IOT Based Surveillance Robotic Car Using
Raspberry Pi”, International Research Journal Of Engineering And
Technologi, Vol 05, Issue 03, Pp.422-425, 2017.
[23] Kadir, Abdul. 2001. “Dasar Raspberry Pi”. Yogyakarta: Andi
[24] Khrisnawan, Adhi. “Perancangan Sistem Keamanan Ruangan
Menggunakan Raspberry Pi”. E-Proceeding of Engineering, Vol.2, No.2,
Pp.3822-3828, 2015.
[25] Srinath, K.R. “Python – The Fastest Growing Programming Language”,
International Research Journal Of Engineering And Technologi, Vol 04,
Issue 12, Pp.354-357, 2017.
[26] Bogdanchikov.A., Zhaparoy .M & Suliyey .R “python to learn
programing”, IopScience, journal Of Physics : conference series 423,2013.
[27] Singh, Ankesh V., Vunod L Gupta & Anand Yadaf. “College Infrastructure
Management System”, International Research Journal Of Engineering And
Technologi, Vol 06, Issue 04, Pp. 4670-4674, 2019.
[28] Raharjo, Budi., Imam Heryanto Dan E. Rosdiana K. 2014 “Modul
Pemrograman Web Html, Php Dan Mysql”. Bandung: Modula.
[29] Rengkung, Roberto., Steven R. Sentinuwo dan Stanley Karouw.
“Pembangunan Sistem Informasi Repository Berbasis Teknologi Web
Component Studi Kasus GMIM Bukit Moria Winangun”, E-Journal Teknik
Elektro Dan Komputer, Vol.4, No.6, Pp.1-6, 2015.
65
[30] Song, Yuwu. 2004. “Building Better Web Sites: a how to do it manual for
librarians”. New York: Neal-Schuman.
[31] Barrie, Maria. W. H., Arie. S. M. Lumenta dan Anneke Wowor.
“Perancangan Aplikasi SMS GATEWAY Untuk Pembuatan Kartu
Perpustakaan Di Fakultas Teknik Unsrat”, E-Journal Teknik Elektro Dan
Komputer, Vol.4, No.1, Pp. 23-28, 2015.
[32] Warman, Indra Dan Rizki Ramdaniansyah. “Analisis Perbandingan Kinerja
Query Database Management System (DBMS) Antara Mysql 5.7.16 Dan
Mariadb 10.1”, Jurnal Teknik Informatika, Vol.6 No.1, Pp. 32-41 , 2018.
[33] Yaqin, M. Ainun., dkk. “Pengembangan Sistem Informasi Alumni Berbasis
Web Fakultas Sains Dan Teknologi Universitas Islam Negeri Maulana
Malik Ibrahim Malang” Jurnal Matics, Vol.4, No.1, Pp. 26-31, 2010.
[34] Haisani, Luwis .H., Marceau A. F. Haurissa dan Zulkarnaen Hatala. “Sistem
Informasi Data Jemaat Gpm Gidion Waiyari Ambon Dan Jemaat Gpm
Halong Anugerah Ambon”, Jurnal Simetrik, Vol.8, No.2, Pp.139-144, 2018.
[35] Makde, Gaurav., dkk. “Implementation Of Iot Based Smart Garbage And
Waste Collection System”, International Research Journal Of Engineering
And Technology, Vol 06, Issue 03, Pp.1847-1853, 2019.
[36] Al-Qorni, Wais., Anugrah Azhar dan Elvan Yuniarti. “Perancangan Sistem
Control Otomatis Berbasis Web Menggunakan Raspberry Pi 3 Pada
Smarthome”, Jurnal Al-Fiziya, Vol.1, No.2, 2018.
[37] Priyambodo, Modul Praktikum Pengolahan Sistem Digital, Jakarta: Pusat
Laboratoriun Terpadu, UIN Jakarta, 2006.
[38] Ernawati, Tati dan Jemi Endrawan. “Peningkatan Kinerja Jaringan
Komputer Dengan Border Gateway Protocol (Bgp) Dan Dynamic Routing”.
Khazanah Informatika: Jurnal Ilmu Komputer Dan Informatika, Vol.4,
No.1, Pp.35-41, 2018.
66
LAMPIRAN
import sys
import socket
import RPi.GPIO as GPIO
import pickle
import time
import datetime
host = "192.168.43.184"
port = 60000
s= socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host, port))
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(24, GPIO.IN)
def distance():
GPIO.output(18, True)
time.sleep(0.00001)
GPIO.output(18, False)
StartTime = time.time()
StopTime = time.time()
# save StartTime
while GPIO.input(24) == 0:
StartTime = time.time()
# save time of arrival
while GPIO.input(24) == 1:
StopTime = time.time()
TimeElapsed = StopTime - StartTime
distance = 29-(TimeElapsed * 34300) / 2
return distance
buzzer = 23
GPIO.setup(buzzer, GPIO.OUT)
servoPIN = 27
GPIO.setup(servoPIN, GPIO.OUT)
67
while True:
ts = time.time()
now = datetime.datetime.fromtimestamp(ts)
dist = distance()
print(now.strftime("%T"),"%.1f" %dist)
data_string = pickle.dumps((dist))
s.sendall(data_string)
time.sleep(119)
if dist >18 and dist <19:
GPIO.output(buzzer,GPIO.HIGH)
Time.sleep(2)
p.ChangeDutyCycle(2.5)
time.sleep(1)
GPIO.output(buzzer,GPIO.LOW)
elif dist >22:
GPIO.output(buzzer,GPIO.HIGH)
p.ChangeDutyCycle(12.5)
Time.sleep(7)
GPIO.output(buzzer,GPIO.LOW)
time.sleep(1)
else:
p.ChangeDutyCycle(1)
GPIO.output(buzzer,GPIO.LOW)
time.sleep(1)
time.sleep(110)
s.close()
print('connection closed')
68
Script program penerima data di Komputer
con = mysql.connector.connect(
host="localhost",
user="root",
database="Banjir")
69
Script Program untuk mengkoneksikan database PhpMyAdmin dengan website
diNotepad++. Nama tabel “koneksi.php”.
<?php
$conn= mysqli_connect('localhost','root','','banjir');
?>
<html>
<?php
$t = $data['Ketinggian_Air'];
if ($t <= 7.00)
{echo "<div <p style='text-align:center;
width:100%;height:25px; background-
color:#FFCCFF;'>SIAGA3</p></div>";}
elseif ($t <= 14.00)
{echo "<div <p style='text-align:center;
width:100%;height:25px; background-color:
#FF99CC;'>SIAGA 2</p></div>";}
elseif ($t <= 22.00)
{echo "<div <p style='text-align:center;
width:100%;height:25px; background-color:
#DC143C;'>SIAGA 1</p></div>";}
else
{echo "<div <p style='text-align:center; font-
size:120%;color:white;width:100%; height:65px;
background-color:#660000;'>Pintu Air <br>
Dibuka !!!</p></div>";}
?>
</html>
70
Script utama program website di Notepad++. Nama tabel “tinggiair.php”.
<html>
<head>
<meta http-equiv="refresh" content="1"/>
<!--<meta http-equiv="refresh" content="1"; url =
index.php>-->
<title>Data Ketinggian Air di Bendungan</title>
</head>
<body style="background-image:url('gambar3.jpg');">
<br/>
<h1 align="center" >Data Ketinggian Air di Bendungan
</h1>
<?php
include 'koneksi.php'; ?>
<br/>
<form method="get"; align="center";>
<label><b>PILIH TANGGAL</b></label>
<input type="date" name="Tanggal">
<input type="submit" value="FILTER">
</form>
<table border = "3px"; align="center" bgcolor =
"#f0f0f0">
<tr bgcolor="Black" style="color:white"
height="30px">
<th width="120px, align="center">
Tanggal</th>
<th width="120px" align="center">
Waktu</th>
<th width="150px" align="center">
KETINGGIAN AIR </th>
<th width="120px", align="center">
Status</th>
</tr>
71
<?php
if(isset($_GET['Tanggal'])){
$tgl = $_GET['Tanggal'];
$query = mysqli_query($conn,"select * from datakatulampa
where Tanggal='$tgl' LIMIT 15");
}else{
$query = mysqli_query($conn,"select * from datakatulampa
limit 15");
}
while($data = mysqli_fetch_array($query)){
?>
<tr height="30px">
<td width="105px"><?php echo $data['Tanggal']; ?></td>
<td width="105px"> <?php echo $data['Waktu']; ?></td>
<td align="center" ><b><?php echo $data['Ketinggian_Air'];
?></b></td>
<td><b align="center"><?php include 'status.php'; echo
$data['Status'];?></b></td>
</tr>
<?php } ?>
</table>
<table style="background-color:White; border: solid Tomato;">
<td width="330px", height="110px" ,align="center">
<b>Keterangan Status:</b><ul>
<li>0 cm ~ 7.00 cm = <b style="background-color: #FFCCFF;">
SIAGA 3 </b></li>
<li>7.01 cm ~ 14.00 cm = <b style="background-color:
#FF99CC;"> SIAGA 2 </b></li>
<li>14.01 cm ~ 22.00 cm = <b style="background-color:
#DC143C;"> SIAGA 1 </b></li>
<li><b>Lebih Dari 22.00 cm = <b style="background-color:
#660000; color:white;">Pintu Air Dibuka</b></li>
</ul></td>
</table>
</body
</html>
72