9 BAB II LANDASAN TEORI
2.1. Landasan Teori
Setelah peneliti melakukan telaah terhadap beberapa penelitian, ada beberapa yang memiliki keterkaitan dengan penelitian yang peneliti lakukan :
Penelitian yang pertama yang berhasil peneliti temukan adalah penelitian yang dilakukan oleh Arief Rosyidie (2013) yang berjudul “Banjir : Fakta dan Dampaknya, Serta Pengaruh dari Perubahan Guna Lahan”. Tujuan dari penelitian ini adalah mengetahui fakta, dampak dan pengaruh banjir dari perubahan guna lahan. Sampel diambil dari 458 DAS (Daerah Aliran Sungai) yang ada di Indonesia, sebanyak 282 DAS dalam kondisi kritis (yang terdiri dari 222 DAS kritis dan 60 DAS termasuk kritis berat) dan 176 berpotensi kritis yang diakibatkan terutama oleh alih fungsi lahan. Diantara berbagai faktor penyebab terjadinya banjir, faktor perubahan guna lahan atau tata ruang merupakan penyebab utama terjadinya banjir di beberapa daerah.
Hasil penelitian menunjukan bahwa fakta, dampak dan pengaruh banjir dari perubahan guna lahan sangat besar. Jika kecenderungan masyarakat melakukan perubahan guna lahan dengan terus mengubah area hutan menjadi area pembangunan maka banjir akan lebih sering terjadi bahkan mempunyai intensitas yang lebih tinggi dan semakin besar. Perencanaan tata ruang wilayah dan kota serta upaya kerjasama dari berbagai pihak diharapkan dapat berkontribusi dalam pengelolaan bencana banjir khususnya memperkecil kemungkinan dampak negatif dari banjir. Dari kesimpulan hasil penelitian diatas penulis mempunyai satu ide untuk mengantisipasi terjadinya banjir secara dini sehingga dampak banjir akan dapat di minimalisir.
Penelitian yang kedua yang berhasil peneliti temukan adalah penelitian yang dilakukan oleh Bima Budi Hermawan (2018) yang berjudul “Rancang Bangun Deteksi Ketinggian Air Sungai dengan Arduino-uno untuk Mendeteksi Peringatan Banjir”. Tujuan dari penelitian ini yaitu merancang dan membuat
pendeteksi ketinggian air sungai dengan suara peringatan dini, sehingga bila akan terjadi banjir masyarakat dapat segera mengungsi dan menyelamatkan diri.
Hasil penelitian dilakukan terhadap 10 responden untuk mengisi kuesioner yang sudah dibuat, respon dari para responden berkesimpulan alat yang dibuat dapat di terima dan menyelesaikan masalah banjir. Alat ini juga dapat berfungsi sesuai baik serta memberikan informasi dilokasi melalui suara dan lampu peringatan sehingga memenuhi kebutuhan penjaga pintu air untuk dapat memberikan peringatan dini kepada masyarakat apabila akan terjadi banjir.
Penelitian yang ketiga yang berhasil peneliti temukan adalah penelitian yang dilakukan oleh Odhy Anugrah Agusta (2019) yang berjudul “Kendali Jarak Jauh Perangkat Elektronik dengan Nodemcu ESP8266 menggunakan telegram bot”. Tujuan dari penelitian ini yaitu penulis dapat membuat kendali jarak jauh perangkat elektronik dengan nodemcu esp8266 menggunakan telegram bot sehingga dapat digunakan untuk melakukan monitoring serta pengendalian peralatan rumah dari jarak jauh memudahkan dan dapat di akses langsung dimanapun dan kapanpun oleh pemilik rumah. Sasaran utama pembuatan penelitian ini yaitu kepada seluruh masyarakat yang dimana aktifitas sehari – harinya tidak lepas dari perangkat elektronik seperti lampu, kipas, pompa air dsb.
Hasil dari penelitian ini yaitu dari kuisioner yang dibagikan kepada 10 responden alat ini sangat memenuhi kebutuhan dari pengguna dikarenakan para pengguna dapat melakukan monitoring dan pengendalian terhadap perangkat elektronik yang ada di rumah kapanpun dan dari manapun hanya menggunakan aplikasi telegram yang sekarang sudah banyak di gunakan pengguna, hal tersebut sangat membantu para pengguna.
Dari ketiga penelitian diatas penulis ingin mengambil beberapa bagian yaitu pada penelitian pertama dampak dari banjir sangat besar sehingga dibutuhkan suatu alat yang dapat meminimalisir dan mendeteksi secara dini terjadinya banjir, pada penelitian kedua penulis ingin mengembangkan
penelitian yang sudah ada yaitu membuat alat untuk mendeteksi ketinggian air yang bertujuan untuk mendeteksi peringatan banjir. Kemudian yang terakhir di penelitian ke tiga penulis menemukan beberapa kelebihan dari mikrokontroller nodemcu yang sudah dilengkapi dengan shield wifi untuk dapat terhubung ke internet disamping itu juga kompatibel dengan telegram bot yang apabila di kembangkan lagi dan dipadukan dengan penelitian kedua maka akan menciptakan suatu alat yang sangat berguna bagi masyarakat. Perpaduan dari penelitian kedua dan ketiga menurut penulis mampu menjadi sebuah alat yang sangat informatif untuk masyarakat disamping itu dampak dari banjir seperti yang di jelaskan pada penelitian pertama juga mampu di antisipasi lebih dini dengan alat tersebut.
2.2. Definisi Banjir
Menurut Rosyidie (2013) Banjir dapat berupa genangan pada lahan yang biasanya kering seperti pada lahan pertanian, permukiman, pusat kota. Banjir dapat juga terjadi karena debit/volume air yang mengalir pada suatu sungai atau saluran drainase melebihi atau diatas kapasitas pengalirannya. Luapan air biasanya tidak menjadi persoalan bila tidak menimbulkan kerugian, korban meninggal atau luka-2, tidak merendam permukiman dalam waktu lama, tidak menimbulkan persoalan lain bagi kehidupan sehari-hari. Bila genangan air terjadi cukup tinggi, dalam waktu lama, dan sering maka hal tersebut akan mengganggu kegiatan manusia. Dalam sepuluh tahun terakhir ini, luas area dan frekuensi banjir semakin bertambah dengan kerugian yang makin besar.
Bagi Indonesia, khususnya propinsi Jawa Barat, banjir merupakan bencana yang paling sering terjadi, terutama pada saat musim hujan. Banyak petani di pantura yang hanya bisa pasrah menyaksikan lahan pertanian dan perikanannya hancur diterjang banjir. Ketinggian air ada yang mencapai lebih dari satu meter. Banjir tidak hanya menggenangi daerah perdesaan tetapi juga kawasan perkotaan.
2.3. Pengertian NodeMCU
Menurut Kurniawan (2015) NodeMCU pada dasarnya adalah pengembangan dari ESP8266 dengan firmware berbasis e-Lua. Pada
NodeMcu dilengkapi dengan micro usb port yang berfungsi untuk
pemrograman maupun power supply. Selain itu juga pada NodeMCU di lengkapi dengan tombol push button yaitu tombol reset dan flash. NodeMCU menggunakan bahasa pemrograman Lua yang merupakan package dari
esp8266. Bahasa Lua memiliki logika dan susunan pemrograman yang sama
dengan C hanya berbeda syntax. Selain dengan bahasa Lua, NodeMCU juga
support dengan sofware Arduino IDE dengan melakukan sedikit perubahan board manager pada Arduino IDE.
NodeMCU memiliki fitur open-source, interaktif, mudah diprogram,
biaya terjangkau, sederhana, cerdas, dan adanya koneksi melalui WiFi yang sudah tersedia. Memiliki advanced API (Application Programming Interface) untuk IO (Input Output) perangkat keras yang dapat secara signifikan mengurangi pekerjaan yang tidak berguna untuk mengkonfigurasi dan memanipulasi perangkat keras. Mempunyai code seperti arduino, tetapi secara interaktif dalam skrip lua. Disamping itu API untuk aplikasi jaringan memfasilitasi pengembang menuliskan skrip yang berjalan pada MCU berukuran 5 mm * 5 mm dalam gaya NodeJS sehingga dapat memudahkan serta mempercepat pengembangan aplikasi IoT ( Internet of Things) yang akan dibuat.
Pengembangan kit NodeMCU ini didasarkan pada modul ESP8266, yang mengintegrasikan GPIO, PWM (Pulse Width Modulation), IIC, 1-Wire dan ADC (Analog to Digital Converter) semua dalam satu board.
NodeMCU berukuran panjang 4.83cm, lebar 2.54cm, dan berat 7 gram. Board ini sudah dilengkapi dengan fitur WiFi dan Firmware yang bersifat opensource.
Gambar 2.1 Board NodeMCU Sumber : Kurniawan A, 2015
Gambar 2.2 Skematik Posisi Pin NodeMCU Sumber : Kurniawan A, 2015
Penjelasan fungsi Pin NodeMCU : 1. RST : berfungsi mereset modul
2. ADC: Analog Digital Converter. Rentang tegangan masukan 0-1v, dengan skup nilai digital 0-1024
3. EN: Chip Enable, Active High
4. IO16 :GPIO16, dapat digunakan untuk membangunkan chipset dari mode deep sleep
5. IO14 : GPIO14; HSPI_CLK 6. IO12 : GPIO12: HSPI_MISO
7. IO13: GPIO13; HSPI_MOSI; UART0_CTS
2.4. Aplikasi Arduino IDE ( Integrated Developtment Environment )
Menurut https://www.arduino.cc software arduino yang digunakan adalah driver dan IDE, walaupun masih ada beberapa software lain yang sangat berguna selama pengembangan arduino. Integrated Development
Environment (IDE), suatu program khusus untuk suatu komputer agar dapat
membuat suatu rancangan atau sketsa program untuk papan arduino. IDE
arduino merupakan software yang sangat canggih ditulis dengan
menggunakan java. IDE arduino terdiri dari :
1. Editor Program Sebuah window yang memungkinkan pengguna menulis dan mengedit program dalam bahasa processing.
2. Compiler Berfungsi untuk kompilasi sketch tanpa unggah ke board bisa dipakai untuk pengecekan kesalahan kode syntax sketch. Sebuah modul yang mengubah kode program menjadi kode biner bagaimanapun sebuah mikrokontroler tidak akan bisa memahami bahasa processing.
3. Uploader Berfungsi untuk mengunggah hasil kompilasi sketch ke board target. Pesan error akan terlihat jika board belum terpasang atau alamat
port COM belum terkonfigurasi dengan benar. Sebuah modul yang
memuat kode biner dari komputer ke dalam memory didalam papan
arduino.
Berikut ini adalah contoh tampilan IDE Arduino dengan sebuah sketch yang sedang diedit :
Gambar 2.3. Tampilan Sketch Arduino IDE 2.5. Sensor Ultrasonik
Menurut Arsada (2017) Sensor ultrasonik adalah sensor yang bekerja berdasarkan prinsip pantulan gelombang suara dan digunakan untuk mendeteksi keberadaan suatu objek atau benda tertentu didepan frekuensi kerja pada daerah diatas gelombang suara dari 20 kHz hingga 2 MHz. Sensor ultrasonik terdiri dari dari dua unit, yaitu unit pemancar dan unit penerima struktur unit pemancar dan penerima. Sangatlah sederhana sebuah kristal
piezoelectric dihubungkan dengan mekanik jangkar dan hanya dihubungkan
dengan diafragma penggetar tegangan bolak-balik yang memiliki frekuensi kerja 20 kHz hingga 2 MHz. Struktur atom dari Kristal piezoelectric menyebabkan berkontraksi mengembang atau menyusut, sebuah polaritas tegangan yang diberikan dan ini disebut dengan efek piezoelectric pada sensor ultrasonik.
Pantulan gelombang ultrasonik terjadi bila ada objek tertentu dan pantulan gelombang ultrasonik akan diterima kembali oleh unit sensor penerima. Selanjutnya unit sensor penerima akan menyebabkan diafragma
penggetar akan bergetar dan efek piezoelectric menghasilkan sebuah tegangan bolak-balik dengan frekuensi yang sama. Untuk lebih jelas tentang prinsip kerja dari sensor ultrasonik dapat dilihat prinsip dari sensor ultrasonik pada gambar 2.4 berikut ini :
Gambar 2.4. Prinsip Kerja Sensor Ultrasonik
Besar amplitudo sebuah sinyal elektrik yang dihasilkan sensor penerima tergantung dari jauh dekatnya sebuah objek yang akan dideteksi serta kualitas dari sensor pemancar dan sensor penerima. Proses sensoring yang dilakukan pada sensor ini menggunakan metode pantulan untuk menghitung jarak antara sensor dengan objek sasaran. Prinsip pemantulan dari sensor ulrasonik dapat dilihat pada gambar 2.5 berikut ini:
Gambar 2.5. Prinsip Pemantulan Ultrasonik 2.6. Telegram
Menurut cokrojoyo (2017) Telegram menyediakan 2 bentuk API, API yang pertama adalah klien IM (Instant Message) Telegram, yang berarti semua orang dapat menjadi pengembang klien IM Telegram jika diinginkan. Ini berarti jika seseorang ingin mengembangkan Telegram versi mereka sendiri mereka tidak harus memulai semua dari awal lagi. Telegram menyediakan
source code yang mereka gunakan saat ini. Tipe API yang kedua adalah Telegram Bot API. API jenis kedua ini memungkinkan siapa saja untuk
membuat bot yang akan membalas semua penggunanya jika mengirimkan pesan perintah yang dapat diterima oleh Bot tersebut. Layanan ini masih hanya tersedia bagi pengguna yang menggunakan aplikasi Telegram saja. Sehingga pengguna yang ingin menggunakan Bot harus terlebih dahulu memiliki akun
Telegram. Bot juga dapat dikembangkan oleh siapa saja.
Bot adalah aplikasi pihak ketiga yang berjalan di dalam Telegram. Pengguna dapat berinteraksi dengan bot dengan mengirimi mereka
pesan, perintah, dan permintaan sebaris. Anda mengontrol bot Anda menggunakan permintaan HTTPS (HyperText Transport Protocol Secure) ke API bot. Bot API adalah antarmuka berbasis HTTP yang dibuat untuk pengembang yang tertarik membangun bot untuk telegram. API ini memungkinkan pengguna untuk menghubungkan bot ke sistem telegram.
Telegram bots adalah akun khusus yang tidak memerlukan nomor telepon
tambahan untuk mengatur. Akun ini berfungsi sebagai antarmuka untuk kode yang berjalan di suatu tempat di server pengguna.
Untuk menggunakan ini, pengguna tidak perlu tahu tentang bagaimana
protokol enkripsi MTProto telegram bekerja, server perantara telegram akan
menangani semua enkripsi dan komunikasi dengan API telegram untuk pengguna. Pengguna berkomunikasi dengan server ini melalui antarmuka
HTTPS sederhana yang menawarkan versi sederhana dari telegram API.
Ada beberapa metode yang dapat digunakan untuk merancang sebuah
Bot di Telegram. Beberapa diantaranya adalah : sendMessage, forwardMessage, sendPhoto, sendAudio, sendDocument, sendSticker, sendVideo, sendVoice, sendLocation, sendVenue, getUserProfilePhotos, sendChatAction, sendContact, unbanChatMember, kickChatMember, getFile, leaveChat, getChat, getChatAdministrator, getChatMember.
Bot juga dapat menggunakan custom keyboard untuk penggunanya. Hal
ini akan mempermudah interaksi antara bot dan penggunanya. Semua dasar pengiriman data yang digunakan oleh server Telegram akan menggunakan
JSON, sehingga pengembang bot harus juga menggunakan bentuk data JSON. Bot Telegram tidak terbatas oleh bahasa pemrograman. Hampir semua bahasa
pemrograman bisa digunakan untuk merancang suatu bot. Telegram juga menyediakan contoh bot yang menggunakan berbagai bahasa pemrograman. Fungsi dari telegram bot bermacam – macam tergantung dari kebutuhan masyarakat. Seperti sebagai alat untuk melakukan monitoring, alat untuk mengendalikan perintah tertentu serta bisa juga dijadikan sebagai alarm atau pengingat sesuatu. Selain itu aplikasi telegram juga sangat fleksibel karena dapat diakses melalui hampir semua perangkat baik android, ios maupun
windows bahkan telegram juga memiliki telegram web yang dapat di akses
melalui browser. 2.7. Pengertian Buzzer
Menurut Efrianto (2016) Buzzer adalah sebuah komponen yang memiliki fungsi mengubah arus listrik menjadi suara. Dan pada dasarnya prinsip kerja buzzer hampir sama dengan speaker. Buzzer terdiri dari sebuah diafragma yang memilikii kumparan. Ketika kumparan tersebut dialiri arus listrik sehingga menjadi electromagnet, kumparan akan tertarik kedalam atau keluar tergantung dari polaritas magnetnya. Karena kumparan dipasang pada diafragma maka setiap getaran diafragma secara bolak – balik sehingga membuat udara bergetar dan menghasilkan suara. Buzzer.
Gambar 2.6. Buzzer 2.8. Pengertian Relay
Menurut Wicaksono (2017) Relay adalah saklar elektrik yang menggunakan elektromagnet untuk memindahkan saklar dari posisi off ke posisi on. Daya yang dibutuhkan relatif kecil dari untuk mengaktifkan relay tetapi relay dapat mengendalikan sesuatu yang membutuhkan daya lebih besar. Terdapat beberapa jenis konfigurasi relay misalnya SPST dan SPDT yang ditunjukkan gambar 3. Single Pole Single Throw (SPST) merupakan
konfigurasi yang paling sederhana, dimana relay dengan konfigurasi ini hanya memiliki dua kontak. Single Pole Double Throw (SPDT) memiliki tiga kontak. Kontak biasanya diberi label Common (COM), Normally Open (NO),dan
Normally Close (NC). Pada Normally Close (NC), kontak NC akan terhubung
ke kontak COM ketika coil tidak diberi daya. Pada Normally Open (NO), kontak akan terputus ketika tidak ada daya yang diberikan pada coil. Ketika daya diberikan, maka Common (COM) akan terhubung dengan kontak NO dan kontak NC dibiarkan mengambang (floating).
Gambar 2.7. Konfigurasi Relay SPST dan Relay SPDT. 2.9. Pengertian Flowchart
Flowchart adalah adalah suatu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses secara mendetail dan hubungan antara suatu proses (instruksi) dengan proses lainnya dalam suatu program. Menurut Krismiaji (2010), flowchart adalah teknik analisis yang digunakan untuk menjelaskan aspek-aspek informasi secara jelas, tepat dan logis. Flowchart menggunakan serangkaian simbol standar untuk menguraikan prosedur pengolahan transaksi yang digunakan oleh sebuah perusahaan, sekaligus menguraikan alur data dalam sebuah sistem.
Tabel 2.1 Tabel komponen simbol flowchart Sumber : Krismiaji, 2010
No Nama Simbol Keterangan
1 Flow Direction Symbol
Simbol yang digunakan untuk menghubungkan antar simbol. Simbol ini disebut juga
connecting line.
2 Connector Symbol
Simbol yang digunakan untuk keluar – masuk atau penyambungan proses pada halaman yang berbeda.
3 Connector Symbol
Simbol yang digunakan untuk keluar – masuk atau penyambungan proses pada halaman yang sama.
4 Processing symbol
Simbol yang menunjukkan pengolahan yang dilakukan oleh komputer.
5 Decision symbol Simbol pemilihan proses berdasarkan kondisi yang ada. 6 Disk and
On-line storage symbol
Simbol yang menyatukan
input yang berasal dari disk
atau disimpan ke disk.
7. Display symbol Simbol yang menyatakan peralatan output yang digunakan yaitu layar, plotter dan sebagainya.
8. Input-Output symbol
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya.
9. Manual input symbol
Simbol untuk pemasukan data secara manual on-linekeyboard.
10. Manual operation symbol
Simbol yang menunjukkan pengolahan yang tidak dilakukan oleh komputer. 11. Predefine
procces symbol
Simbol untuk pelaksanaan suatu bagian subprogram/
procedure.
12. Preparation symbol
Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan di dalam storage. 13. Communication
link
Simbol yang menyatakan transmisi data dari suatu lokasi ke lokasi lain.
14. Terminator symbol
Simbol yang digunakan untuk permulaan (start) atau akhir (stop) dari suatu kegiatan. 15. Keying
operation
Simbol yang menyatakan segala jenis operasi yang
diproses dengan
menggunakan suatu mesin yang mempunyai keyboard. 16. Offline storage Menunjukkan bahwa data
dalam simbol ini akan disimpan ke suatu media tertentu.
17. Punched card Simbol yang menyatakan
input berasal dari kartu atau output di tulis ke kartu.
18. Magnetic tape Simbol yang menyatakan
input berasal dari pita magnetis atau output disimpan ke pita magnetis.
19. Document Simbol yang mencetak keluaran (output) dalam bentuk dokumen (cetak melalui printer).
2.10. Pengujian Sistem
2.10.1. Pengujian sistem waktu nyata (real-time)
Menurut Pressman(2012), Pengujian sistem waktu nyata meliputi yang pertama adalah pengujian tugas, yaitu setiap tugas diuji secara individual dengan pengujian statis konvensional. Pengujian ini dilakukan hanya untuk menemukan kesalahan dalam logika atau sintaks program. Urutan acara tidak masalah karena pengujian tugas tidak berurusan dengan batasan waktu dan sifat waktu acara. Kedua adalah pengujian perilaku yaitu dengan menggunakan model sistem yang dirancang dengan bantuan alat pengujian otomatis, dimungkinkan untuk mensimulasikan perilaku sistem waktu nyata dan dampak peristiwa eksternal bersamaan pada perilakunya. Ketiga adalah pengujian Intertask yaitu setelah pengujian dengan tugas individu dilakukan, maka tugas seharusnya bebas dari kesalahan dalam pengkodean dan bidang perilaku. Kendala terkait waktu diuji dengan pengujian intertask. Untuk mengungkapkan kesalahan dalam komunikasi, tugas asinkron diuji dengan laju data variabel dan payload berbeda. Keempat adalah pengjian sistem dalam pengujian ini, perangkat lunak dan perangkat keras terintegrasi dan berbagai pengujian sistem dilakukan untuk menemukan kesalahan.