PERANCANGAN SISTEM PREDIKSI
KEMUNGKINAN BANJIR DI DAERAH JAKARTA
PUSAT DENGAN LOGIKA FUZZY
Maria Edwardus Herman Tri Rahmanto
Binus University, Jakarta, DKI Jakarta, Indonesia,no telp: 085782082594, email: Jamie_poton@yahoo.com
Chiedryan Dennisleo
Binus University, Jakarta, DKI Jakarta, Indonesia, no telp: 085693358147, email: cuteelak47@yahoo.com
Tri Djoko Wahjono
Dosen Pembimbing
ABSTRAK
Flooding is one of the biggest enemy for most people in Indonesia, especially Jakarta, erratic rainfall cause people can not predict the occurrence of rain. The purpose of this thesis is to design a computer-based applications to see the percentage of occurrence of floods in the Central Jakarta using Fuzzy logic. Application was made to provide information for people who travel frequently using a motor vehicle in the area of Central Jakarta, the application is expected to provide a reasonably accurate information on the percentage of occurrence of floods in Central Jakarta. At the stage of data collection, there are two methods, namely interviews and library research methods. And at the design stage are database design and screen design. While implementing applications using C + +. The results of this design include an application that will display menus to enter data in the desired in predicting the likelihood of flooding in Central Jakarta. Conclusion, the implementation of Fuzzy logic can help predict the likelihood of flooding in the area of Central Jakarta.
Keyword
Banjir adalah salah satu musuh terbesar bagi sebagian besar masyarakat di Indonesia khususnya Jakarta Pusat, curah hujan yang tidak menentu menyebabkan masyarakat tidak bisa memprediksi terjadinya hujan. Tujuan skripsi ini adalah merancang sebuah aplikasi berbasis computer untuk melihat persentase terjadinya banjir di bagian Jakarta Pusat dengan menggunakan logika Fuzzy. Aplikasi tersebut dibuat untuk memberikan informasi untuk orang-orang yang sering berpergian menggunakan kendaraan bermotor di daerah Jakarta Pusat, aplikasi ini diharapkan mampu memberikan informasi yang cukup akurat terhadap persentase terjadinya banjir di Jakarta Pusat. Pada tahap pengumpulan data, terdapat dua metode yaitu metode wawancara dan metode studi pustaka. Dan pada tahap perancangan terdapat perancangan basis data, dan perancangan layar. Sedangkan pengimplementasian aplikasi dengan menggunakan C++. Hasil perancangan ini mencakup aplikasi yang akan menampilkan menu-menu untuk menginput data-data yang di inginkan dalam memprediksikan kemungkinan terjadinya banjir di Jakarta Pusat. Simpulannya, pengimplementasian logika Fuzzy dapat untuk membantu memprediksi kemungkinan banjir di daerah Jakarta Pusat.
Kata Kunci
Prediksi, Banjir, Fuzzy
1
PENDAHULUAN
Latar belakang dari skripsi ini adalah dengna cuaca yang kurang menentu, hujan yang tiba-tiba sangat deras, atau hujan sedang dengan waktu yang cukup lama, atau hujan di semua bagian Indonesia terutama di daerah sekitar Jakarta. Seringkali menyebabkan masyarakat yang ada atau tinggal di Jakarta mengalami banjir secara tiba-tiba. Menurut Sri Kusuma Dewi (2010, p2) logika fuzzy mudah dimengerti. Karena logika fuzzy menggunakan dasar teori himpunan, maka konsep matematis yang mendasari penalaran fuzzy tersebut cukup mudah untuk dimengerti. Logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan perubahan-perubahan, dan ketidakpastian yang menyertai permasalahan.
Sistem ini akan memprediksikan dari curah hujan, debit air sungai, dan lama terjadinya hujan. Sistem ini akan memberikan informasi kepada masyarakat yang berada di daerah Jakarta Pusat persentase akan terjadinya banjir sehingga masyarakat dapat bersiap-siap untuk menghadapi banjir.
Ruang lingkup dari skripsi ini adalah curah hujan di daerah Jakarta Pusat, debit air sungai di daerah Jakarta Pusat, menggunakan logika Fuzzy dalam implementasinya, menggunakan C++ untuk implementasi aplikasi.
Tujuan dari adanya pembuatan aplikasi ini adalah merancang aplikasi yang dapat memprediksikan kemungkinan terjadinya banjir di daerah Jakarta Pusat serta mengimplementasikan Logika Fuzzy pada aplikasi prediksi banjir di daerah Jakarta Pusat. Serta manfaat dari pembuatan system ini adalah masyarakat dapat mempersiapkan diri sebelum
terjadinya banjir, menambah wawasan mengenai logika fuzzy dan cara mengimplementasikan dalam aplikasi yang dikembangkan, dan dapat digunakan untuk referensi
2
METODOLOGI
Dalam pembuatan skripsi ini, penulis menggunakan 2 tahap penelitian:
a. Tahap Pengumpulan Data
Metode pengumpulan data yang penulis gunakan untuk membuat skripsi ini adalah:
1. Metode Studi Pustaka
Pengumpulan data dengan mencari sumber-sumber informasi baik dari buku-buku,
maupun sumber-sumber dari internet yang berkaitan dengan skripsi ini.
2. Metode Wawancara
Wawancara dilakukan dengan Bapak Rd. Nursyamsi Kurnia Utama,ST selaku pakar
pada bidang ini untuk mendapatkan gambaran dan pemahaman mengenai kebutuhan
skripsi ini
b. Tahap Perancangan Aplikasi
Dalam pengembangan piranti lunak di butuhkan tahapan-tahapan pengembangan
yang sesuai dengan sistem yang pada umumnya digunakan yang disebut SDLC (System
Development Life Cycle).
Pembuatan solusi yang tepat harus melibatkan pihak pengembang perangkat
lunak terkait agar didapatkan suatu solusi yang tepat. Pada saat ini telah dikenal beberapa
model pengembangan sistem, antara lain waterfall, prototyping, spiral, incremental, dan
fourth generation techniques.
Penulis menggunakan model waterfall karena merupakan salah satu model
dan bersifat linier. Model tersebut memerlukan pendekatan yang sistematis dan
sekuensial dalam pengembangan sistem perangkat lunak.
Tahap-tahap pada model waterfall:
1. Rekayasa Sistem
Rekayasa sistem yaitu menentukan kebutuhan sistem secara keseluruhan, antara lain
dengan menentukan komponen-komponen sistem, atribut komponen, dan hubungan
antar komponen.
2. Analisis Sistem
Analisis sistem yaitu mencari dan menentukan criteria aplikasi yang tepat untuk
memenuhi kebutuhan sistem
3. Desain Sistem
Desain sistem yaitu mendefinisikan hasil analisis dengan merancang modul aplikasi
perancangan yang dilakukan pada tiga bagian, yaitu struktur data, Entity Relationship
Diagram (ERD) dan kamus data.
4. Pemrograman
Pemrograman merupakan pengimplementasian rancangan atau desain dengan
menuliskan kode program sesuai dengan bahasa yang dipilih.
5. Uji Coba
Uji Coba yaitu melakukan pengujian program aplikasiyang telah selesai dibuat
dengan memperhatikan konsep logika untuk mengetahui kinerja aplikasi apakah
sesuai dengan kebutuhan sistem dan melakukan pencegahan terjadinya kesalahan
6. Pemeliharaan
Pemeliharaan memungkinkan terjadinya perubahan data, lingkungan sistem, dan
kebutuhan penggunaan agar aplikasi tetap dapat dikembangkan sesuai perubahan
yang terjadi.
3
HASIL DAN BAHASAN
Analisa permasalahannya adalah Sistem pendeteksi banjir yang ada saat ini masih kurang
mampu memberikan informasi khususnya bagi masyarakat awam.
Sistem tersebut hanya berupa bentuk data yang membutuhkan pembacaan oleh seorang
ahli sehingga masyarakat awam akan cukup sulit untuk memahami informasi yang diberikan
oleh sistem tersebut sehingga kadang terjadinya kesalahpahaman informasi oleh masyarakat
awam.
Kelebihan dari sistem yang sudah ada adalah mampu memberikan informasi detail
kepada para ahli. Namun kekurangan dari sistem ini adalah kurang dapat dimengerti oleh
masyarakat awam, sehingga masyarakat awam tidak mampu untuk memahami informasi yang
digambarkan oleh sistem tersebut.
Oleh karena itu, diperlukan sebuah sistem baru yang dapat memberikan informasi yang
mampu memberikan informasi yang lebih dapat dimengerti oleh masyarakat yang ingin
mengetahui kemungkinan atau persentase terjadinya banjir di daerah Jakarta Pusat.
Usulan Pemecahan masalah dari skripsi ini adalah Berdasarkan hasil analisis sistem di
atas, maka akan dirancang sebuah aplikasi yang menyediakan informasi persentase terjadinya
Flowchart proses prediksi kemungkinan banjir dapat dilihat di bawah ini.
flowchart dari algoritma perhitungan persentase akan terjadinya banjir. Penjelasan algoritma
tersebut adalah:
a. Aplikasi dibuka dan kemudian meminta input, input tersebut memasuki proses menjadi
term fuzzifikasi
b. Term fuzzifikasi tersebut digunakan oleh rule didalam perhitungan data untuk
menghasilkan daerah yang kemudian akan melalui proses defuzzifikasi.
c. Proses defuzzifikasi selesai maka akan menampilkan messages box persentase
Pada proses input user akan memasukan variable curah hujan, lama hujan, serta debit
sungai. Hasil wawancara dengan pakar yaitu pegawai menurut perhitungan BMKG mengenai
curah hujan, lama hujan, dan debit sungai. Hasil survei itu yang digunakan sebagai rule dari
logika fuzzy yang digunakan dan dapat disimpulkan sebagai berikut:
• Curah Hujan 0-25mm gerimis 25-75mm hujan sedang 76-100mm deras • Lama Hujan 0-30menit sebentar
30-60menit cukup lama
60-90menit lama
90-120menit lama sekali
• Debit Sungai
0-4m3/s rendah
5-7m3/s sedang
8-10m3/s tinggi
Fungsi implikasi untuk setiap aturan. Karena menggunakan Metode MAMDANI, maka
fungsi implikasi yang digunakan adalah fungsi MIN.
[R1] IF deras AND lamasekali AND tinggi
THEN banjirbesar
α-predikat1 = µDERAS ∩ µ LAMASEKALI ∩ µTINGGI
[R2] IF deras AND lamasekali AND sedang
THEN banjirbesar
α-predikat2 = µDERAS ∩ µ LAMASEKALI ∩ µSEDANG
= min(µDERAS[ ], µLAMASEKALI[ ], µSEDANG[ ])
[R3] IF deras AND lamasekali AND rendah
THEN banjir
α-predikat3 = µDERAS ∩ µ LAMASEKALI ∩ µRENDAH
= min(µDERAS[ ], µLAMASEKALI[ ], µRENDAH[ ])
[R4] IF deras AND lama AND tinggi
THEN banjirbesar
α-predikat4 = µDERAS ∩ µ LAMA ∩ µTINGGI
= min(µDERAS[ ], µLAMA[ ], µTINGGI[ ])
[R5] IF deras AND lama AND sedang
THEN banjirbesar
α-predikat5 = µDERAS ∩ µ LAMA ∩ µSEDANG
= min(µDERAS[ ], µLAMA [ ], µSEDANG[ ])
[R6] IF deras AND lama AND rendah
THEN banjir
α-predikat6 = µDERAS ∩ µ LAMA ∩ µRENDAH
[R7] IF deras AND cukuplama AND tinggi
THEN banjirbesar
α-predikat7 = µDERAS ∩ µCUKUPLAMA ∩ µTINGGI
= min(µDERAS[ ], µCUKUPLAMA[ ], µTINGGI[ ])
[R8] IF deras AND cukuplama AND sedang
THEN banjir
α-predikat8 = µDERAS ∩ µCUKUPLAMA ∩ µSEDANG
= min(µDERAS[ ], µCUKUPLAMA[ ], µSEDANG[ ])
[R9] IF deras AND cukuplama AND rendah
THEN banjir
α-predikat9 = µDERAS ∩ µCUKUPLAMA ∩ µRENDAH
= min(µDERAS[ ], µCUKUPLAMA[ ], µRENDAH[ ])
[R10] IF deras AND sebentar AND tinggi
THEN banjirbesar
α-predikat10 = µDERAS ∩ µSEBENTAR ∩ µTINGGI
[R11] IF deras AND sebentar AND sedang
THEN banjir
α-predikat11 = µDERAS ∩ µSEBENTAR ∩ µSEDANG
= min(µDERAS[ ], µSEBENTAR[ ], µSEDANG[ ])
[R12] IF deras AND sebentar AND rendah
THEN tidakbanjir
α-predikat12 = µDERAS ∩ µSEBENTAR ∩ µRENDAH
= min(µDERAS[ ], µSEBENTAR[ ], µRENDAH[ ])
[R13] IF sedang AND lamasekali AND tinggi
THEN banjirbesar
α-predikat13 = µSEDANG ∩ µ LAMASEKALI ∩ µTINGGI
= min(µSEDANG[ ], µLAMASEKALI[ ], µTINGGI[ ])
[R14] IF sedang AND lamasekali AND sedang
THEN banjirbesar
α-predikat14 = µSEDANG ∩ µ LAMASEKALI ∩ µSEDANG
[R15] IF sedang AND lamasekali AND rendah
THEN tidakbanjir
α-predikat15 = µSEDANG ∩ µ LAMASEKALI ∩ µRENDAH
= min(µSEDANG[ ], µLAMASEKALI[ ], µRENDAH[ ])
[R16] IF sedang AND lama AND tinggi
THEN banjirbesar
α-predikat16 = µSEDANG ∩ µ LAMA ∩ µTINGGI
= min(µSEDANG[ ], µLAMA [ ], µTINGGI[ ])
[R17] IF sedang AND lama AND sedang
THEN banjir
α-predikat17 = µSEDANG ∩ µ LAMA ∩ µSEDANG
= min(µSEDANG[ ], µLAMA [ ], µSEDANG[ ])
[R18] IF sedang AND lama AND rendah
THEN banjir
α-predikat18 = µSEDANG ∩ µ LAMA ∩ µRENDAH
[R19] IF sedang AND cukuplama AND tinggi
THEN banjir
α-predikat19 = µSEDANG ∩ µCUKUPLAMA ∩ µTINGGI
= min(µSEDANG[ ], µCUKUPLAMA[ ], µTINGGI[ ])
[R20] IF sedang AND cukuplama AND sedang
THEN tidakbanjir
α-predikat20 = µSEDANG ∩ µCUKUPLAMA ∩ µSEDANG
= min(µSEDANG[ ], µCUKUPLAMA[ ], µSEDANG[ ])
[R21] IF sedang AND cukuplama AND rendah
THEN tidakbanjir
α-predikat21 = µSEDANG ∩ µCUKUPLAMA ∩ µRENDAH
= min(µSEDANG[ ], µCUKUPLAMA[ ], µRENDAH[ ])
[R22] IF sedang AND sebentar AND tinggi
THEN banjir
α-predikat22 = µSEDANG ∩ µSEBENTAR ∩ µTINGGI
[R23] IF sedang AND sebentar AND sedang
THEN tidakbanjir
α-predikat23 = µSEDANG ∩ µSEBENTAR ∩ µSEDANG
= min(µSEDANG[ ], µSEBENTAR[ ], µSEDANG[ ])
[R24] IF sedang AND sebentar AND rendah
THEN tidakbanjir
α-predikat24 = µSEDANG ∩ µSEBENTAR ∩ µRENDAH
= min(µSEDANG[ ], µSEBENTAR[ ], µRENDAH[ ])
[R25] IF gerimis AND lamasekali AND tinggi
THEN banjir
α-predikat25 = µGERIMIS ∩ µ LAMASEKALI ∩ µTINGGI
= min(µGERIMIS[ ], µLAMASEKALI[ ], µTINGGI[ ])
[R26] IF gerimis AND lamasekali AND sedang
THEN tidakbanjir
α-predikat26 = µGERIMIS ∩ µ LAMASEKALI ∩ µSEDANG
[R27] IF gerimis AND lamasekali AND rendah
THEN tidakbanjir
α-predikat27 = µGERIMIS ∩ µ LAMASEKALI ∩ µRENDAH
= min(µGERIMIS[ ], µLAMASEKALI[ ], µRENDAH[ ])
[R28] IF gerimis AND lama AND tinggi
THEN banjir
α-predikat28 = µGERIMIS ∩ µ LAMA ∩ µTINGGI
= min(µGERIMIS[ ], µLAMA [ ], µTINGGI[ ])
[R29] IF gerimis AND lama AND sedang
THEN tidakbanjir
α-predikat29 = µGERIMIS ∩ µ LAMA ∩ µSEDANG
= min(µGERIMIS[ ], µLAMASEKALI[ ], µSEDANG[ ])
[R30] IF gerimis AND lama AND rendah
THEN tidakbanjir
α-predikat30 = µGERIMIS ∩ µ LAMA ∩ µRENDAH
[R31] IF gerimis AND cukuplama AND tinggi
THEN tidakbanjir
α-predikat31 = µGERIMIS ∩ µCUKUPLAMA ∩ µTINGGI
= min(µGERIMIS[ ], µCUKUPLAMA [ ], µTINGGI[ ])
[R32] IF gerimis AND cukuplama AND sedang
THEN tidakbanjir
α-predikat32 = µGERIMIS ∩ µCUKUPLAMA ∩ µSEDANG
= min(µGERIMIS[ ], µCUKUPLAMA [ ], µSEDANG[ ])
[R33] IF gerimis AND cukuplama AND rendah
THEN tidakbanjir
α-predikat33 = µGERIMIS ∩ µCUKUPLAMA ∩ µRENDAH
= min(µGERIMIS[ ], µCUKUPLAMA [ ], µRENDAH[ ])
[R34] IF gerimis AND sebentar AND tinggi
THEN banjir
α-predikat34 = µGERIMIS ∩ µSEBENTAR ∩ µTINGGI
[R35] IF gerimis AND sebentar AND sedang
THEN tidakbanjir
α-predikat35 = µGERIMIS ∩ µSEBENTAR ∩ µSEDANG
= min(µGERIMIS[ ], µSEBENTAR [ ], µSEDANG[ ])
[R36] IF gerimis AND sebentar AND rendah
THEN tidakbanjir
α-predikat30 = µGERIMIS ∩ µSEBENTAR ∩ µRENDAH
= min(µGERIMIS[ ], µSEBENTAR [ ], µRENDAH[ ])
Di dalam Sistem Inference Fuzzy dapat diketahui langkah-langkah untuk mendapatkan hasil
akhir dari program. Contoh Kasus: diketahui inputan Curah Hujan = 20, Debit Sungai = 4, Lama
Hujan = 60.
• Representasi Kurva
Curah Hujan 20 = GERIMIS[20] = (25-20)/(25-10)
= 0,34
Debit Sungai 4 = RENDAH[4] = (5-4)/(5-3)
= 0,5
Lama Hujan 60 = LAMA[60] = (60-50)/(65-50)
• Fungsi Implikasi
Pada Metode Mamdani fungsi yang digunakan adalah MIN
[R30] IF gerimis AND rendah AND lama
THEN tidakbanjir
α-predikat1 = µGERIMIS ∩ µ LAMA ∩ µRENDAH
= min(µGERIMIS[20], µLAMA [60], µRENDAH[4])
= min(0,34 ; 0,67 ; 0,5)
= 0,34
[R33] IF gerimis AND rendah AND cukuplama
THEN tidakbanjir
α-predikat2 = µGERIMIS ∩ µCUKUPLAMA ∩ µRENDAH
= min(µGERIMIS[20], µCUKUPLAMA [60], µRENDAH[4])
= min(0,34 ; 0 ; 0,5)
• Komposisi Antar Aturan
Dari hasil aplikasi fungsi implikasi dari tiap aturan, Metode MAMDANI pada umumnya
digunakan metode MAX untuk melakukan komposisi antar semua aturan.
Gambar 4.1 Daerah Hasil
(a – 0)/100 = 0,34 - - - > a = 34
µ[z] = { 0,34; z ≤ 34}
• Penegasan (Defuzzifikasi)
Metode penegasan yang akan digunakan adalah metode centroid. Untuk itu
menghitung dahulu momen untuk daerah tersebut
M= = 196,52
Luas Daerah:
Titik Pusat yang diperoleh:
z = = 17
Prosedur penggunaan, sistem aplikasi ini dibuat menggunakan bahasa pemograman C++
dengan penambahan librari FFLLAPI.h. Aplikasi ini ditujukan untuk device yang menggunakan
sistem operasi Windows XP atau Windows 7. Untuk menjalankan aplikasi ini user hanya perlu
menginstalasi atau menyalin aplikasi ini yang ada dalam bentuk .exe ke dalam PC atau Personal
Computer. Setelah instalasi atau penyalinan data sukses maka akan muncul icon sistem aplikasi
prediksi banjir pada PC baik di desktop atau dimana, tergantung user atau pengguna
menempatkannya dimana.
Gambar Menjalankan aplikasi Sistem Prediksi Banjir
Gambar 4.2 menampilkan halaman desktop pada device yang berupa PC setelah dilakukan
instalasi aplikasi Sistem Prediksi Banjir. Ketika icon diklik 2 kali, maka aplikasi akan berjalan.
4
SIMPULAN DAN SARAN
Simpulan dari skripsi ini dari pengamatan dan implementasi program yang dilakukan,
penulis menyimpulkan, aplikasi ini dapat memprediksi terjadinya banjir di daerah Jakarta Pusat
serta aplikasi ini mengimplikasikan logika Fuzzy yang dapat membantu memprediksi
Saran yang kami dapatkan dari hasil pengerjaan skripsi ini adalah dengan perkembangan
yang ada pada saat ini, sebaiknya dapat mengembangkan aplikasi ini melalui device mobile dan
masih perlu banyaknya tahap pengembangan agar semakin bisa menjadi sebuah aplikasi yang
akan sangat berguna bagi masyarakat. Diharapkan ada yang bisa mampu untuk menyempurnakan
aplikasi yang akan terus berguna untuk masyarakat untuk masa depan.
5
DAFTAR PUSTAKA
Peraturan Kepala Badan Meteorologi dan Geofisika tentang Tata Cara Tetap Pelaksanaan Pengamatan dan Pelaporan Data Hidrometeorologi, SK.37/KT.104/KB/BMG-06 (2006).
Aisjah, & S, A. (2012). Aplikasi Sistem Logika Fuzzy Pada Peramalan Cuaca Di Indonesia Studi Kasus: Cuaca Kota Surabaya.
Aisyah, Siti, A., A, I., Lelono, & Bambang. (2012). Prediktor Cuaca Berbasis Logika Fuzzy Untuk Kebutuhan Penerbangan Di Bandara Juanda Surabaya.
Badan Meteorologi, Klimatologi, dan Geofisika | BMKG. (n.d.). Retrieved May 12, 2012, from
BMKG: http://www.bmkg.go.id/BMKG_Pusat/Depan.bmkg
Connolly, T. M., & Begg, C. E. (2010). Database System A Pratical Approach to Design,
Implementation, and Management Fifth Edition. Boston: Pearson Education International.
Fitriyah, & Hurriyatul. (2009). Prediksi Hujan Di Surabaya Dengan Pendekatan Logika Fuzzy.
Kementerian Pekerjaan Umum | Republik Indonesia [PU Net]. (n.d.). Retrieved May 15, 2012,
from PU-net: http://www.pu.go.id/
Kusumadewi, S., & Purnomo, H. (2010). Aplikasi Logika Fuzzy Untuk Pendukung Keputusan
Edisi 2. Yogyakarta: Graha Ilmu.
Pressman, R. S. (2008). Software Engineering A Practitioner's Approach Seventh Edition. New York: Mc Graw Hill.
Raghunath, H. M. (2006). Hydrology Principles Analysis Design Revised Second Edition. New Delhi: New Age International.
Shneiderman, B., & Plaisant, C. (2010). Designing the User Interface Strategies for Effective
Sri Kusumadewi, (2003). Artificial Intelligence (Teknik dan Aplikasinya), edisi pertama. Penerbit Graha Ilmu, Jakarta.
Whitten, J. L., & Bentley, L. D. (2007). System Analysis and Design Methods Seventh Edition. New York: Mc Graw Hill.
Yusuf, Y. (2005). Anatomi Banjir Kota Pantai Perspektif Geografi. Surakarta: Pustaka Cakrta
Surakarta.
6
RIWAYAT PENULIS
Maria Edwardus Herman Tri Rahmanto lahir di kota Semarang pada 17 November 1988.
Menamatkan Pendidikan S1 di Bina Nusantara dalam bidang Teknik Informatika pada tahun
2012. Chiedryan Dennisleo lahir di kota Tangerang pada 9 Agustus 1990. Menamatkan