BAB 2 LANDASAN TEORI
Bab ini berisikan definisi serta teori-teori dari algoritma yang digunakan dalam pembuatan program aplikasi. Definisi serta teori-teori pendukung yang dipakai dalam pembuatan program aplikasi ini juga diuraikan dalam bab ini. 2.1
Teori Umum
2.1.1
Interaksi Manusia dan Komputer (IMK) Menurut Shneiderman (2010, p22), kinerja manusia dan pengalaman manusia
terhadap informasi dan komputer akan tetap menjadi topik penelitian dan pengembangan dalam beberapa tahun mendatang. Ilmu interaksi manusia dan komputer bermulai dari menggabungkan metode pengumpulan data dan kerangka eksperimental intelektual dengan alat yang kuat dan banyak digunakan dalam ilmu komputer. 2.1.2
Delapan Aturan Emas Terdapat
delapan
aturan
emas
dalam
merancang
antarmuka
menurut
Shneiderman (2010, pp88-89), yaitu: 1. Berusaha untuk konsisten Konsistensi dapat diterapkan dalam berbagai komponen. Misalnya konsistensi dalam urutan aksi untuk kegiatan yang mirip atau berulang-ulang. Peristilahan yang mirip harus diterapkan ke prompt, menus dan help screens. Konsistensi juga dapat diterapkan dalam penggunaan jenis huruf, tata letak, warna dan 8
9 penulisan. Terdapat pengecualian apabila aksi yang diimplementasikan bersifat “penting” dan membutuhkan perhatian user seperti delete atau warning. 2. Memenuhi kebutuhan universal User interface dirancang dengan memperhatikan kebutuhan user yang beragam. Keragaman ini dapat berupa umur dan kemahiran pemakaian sistem. Dengan mengetahui kebutuhan user, maka dapat melakukan penyesuaian terhadap sistem. Misalnya dengan memberikan shortcut bagi expert user. 3. Memberikan umpan balik yang informatif Untuk setiap tindakan user harus diterapkan sebuah umpan balik. Kegunaan agar user dapat mengetahui konsekuensi dari aksinya sendiri. Contohnya pada saat user menjalankan save document, jika komputer tidak member umpan balik yang jelas, maka user akan bingung apakah document telah tersimpang atau belum. 4. Desain dialog yang menghasilkan keadaan akhir Urutan aksi harus disusun dalam kelompok yang terdapat bagian awal, tengah dan bagian akhir. Umpan balik yang informatif setelah akhir dari dialog dapat memberi user rasa lega. Contoh pada waktu instalasi sebuah program ke dalam komputer adanya dialog awal sampai dialog akhir yang menyatakan bahwa instalasi telah sukses.
10 5. Mencegah kesalahan / memberikan penanganan kesalahan yang sederhana Merancang sebuah sistem di mana user tidak dapat melakukan kesalahan yang terlalu serius. Contoh pada saat pengisian text box umur, user tidak boleh memasuki alphabet selain angka. Jika user melakukan kesalahan, interface harus mampu mendeteksi kesalahan dan memberi umpan balik mengenai kesalahan user. 6. Memungkinkan pembalikan aksi (undo) yang mudah Aksi yang telah dilakukan user harus dapat dibalik. Fitur ini memberi user rasa lega jika secara tidak sengaja melakukan kesalahan. Contoh user dapat membalikan aksi seperti delete, jika dengan tidak sengaja menghapus file yang penting. 7. Mendukung pusat kendali internal Memberi perasaan kepada user bahwa dialah yang memegang kendali atas komputer dan bukanlah sebaliknya komputer yang memegang kendali. Dengan memberikan hak ke user untuk mengubah setting dan tata letak toolbar merupakan salah satu contoh. 8. Mengurangi beban ingatan jangka pendek Manusia memiliki ingatan yang terbatas dalam pencernaan informasi. Jadi tampilan layar kepada user harus dibuat sesederhana mungkin, untuk mengurangi beban ingatan user.
11 2.1.3
Software Engineering
Menurut Pressman (2008, p12) dalam rangka membangun sebuah perangkat lunak yang siap memenuhi tantangan abad ke 21, ada beberapa realitas yang harus diperhatikan: •
Perangkat lunak telah menjadi bagian hampir disetiap aspek kehidupan dan konsekuensinya, jumlah orang yang tertarik pada feature dan fungsi yang disediakan oleh aplikasi tertentu meningkat drastik
•
Permintaan kebutuhan akan teknologi informasi oleh individu, bisnis, dan pemerintah berkembang pesat setiap tahunnya. Banyak perusahaan kini membuat kembali program komputer yang pernah dibangun sebelumnya. Perangkat lunak yang canggih kini ditanamkan ke dalam segalanya, mulai dari peralatan elektronik, perangkat medis, hingga ke dalam senjata. Kompleksitas dari sistem berbasis kompiter ini menuntut perhatian terhadap interaksi dari semua elemen.
•
Individu, bisnis, dan pemerintah semakin bergantung pada perangkat lunak untuk pengambilan keputusan strategis maupun taktis serta untuk operasi dan kontrol sehari – hari. Perangkat lunak yang mengalami kegagalan dapat menyebabkan orang – orang dan perusahaan dapat mengalami ketidaknyamanan baik sepele maupun fatal. Hal ini menunjukan bahwa perangkat lunak harus memiliki kualitas yang baik.
•
Sebagai imbas dari aplikasi yang berkembang, kemungkinan bahwa pengguna pun akan berkembang. Permintaan untuk adaptasi dan perkembangan pun juga akan tumbuh. Ini menunjukan bahwa perangkat lunak harus dipelihara IEEE telah merumuskan difinisi yang lebih komprehensif untuk Software Engineering yaitu penerapan
pendekatan
sistematis,
disiplin,
pendekatan
pengembang, operasi, dan pemeliharaan perangkat lunak.
kuantitatif
untuk
12
2.1.4
Model Waterfall Menurut Pressman (2008, p39) waterfall model terkadang disebut classic life
cycle,
menunjukkan
sesuatu
yang
sistematis,
pendekatan
sekuensial
untuk
pengembangan software yang dimulai dengan spesifikasi pelanggan, persyaratan dan kemajuan melalui planning, modelling, dan deployment, sampai akhirnya software selesai.
Gambar 2.1 Model Waterfall, Sumber: Pressman(2008, p39) Berikut adalah penjelasan dari tahapan – tahapan tersebut: 1. Communication Sebelum setiap pekerjaan teknis bisa dimulai, sangat penting untuk berkomunikasi dan berkolaborasi dengan pelanggan (dan stakeholder lainnya). Tujuannya adalah untuk memahami tujuan stakeholder untuk proyek dan untuk mengumpulkan persyaratan yang membantu mendefinisikan fitur software dan fungsinya.
13 2. Planning Sebuah software project plan adalah sebuah perjalanan yang rumit, dan aktivitas perencanaan menciptakan “Map” yang membantu tim untuk menyelesaikan perjalanan tersebut membuat perjalanan. Map disebut software project plan yang menjelaskan pekerjaan rekayasa perangkat lunak dengan menjelaskan tugas teknik yang harus dilakukan, risiko yang mungkin, sumber daya yang akan dibutuhkan, hasil produk yang akan diproduksi, dan jadwal pekerjaan. 3. Modelling Seorang software engineer melakukan hal yang sama dengan menciptakan model-model untuk lebih memahami persyaratan perangkat lunak dan desain yang diharapkan dapat mencapai kebutuhan tersebut. 4. Construction Kegiatan ini menggabungkan generasi kode (manual salah satu atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode. 5. Deployment Perangkat lunak (sebagai entitas lengkap atau seperti penambahan sebagian secara lengkap) yang disampaikan kepada pelanggan yang mengevaluasi produk dan memberikan umpan balik berdasarkan evaluasi tersebut.
14 2.1.5 Unified Modeling Language Menurut Whitten & Bentley (2007, p371), UML (Unified Modelling Language) adalah sebuah kumpulan dari konvensi permodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek.
2.1.5.1 Use Case Diagram Menurut Whitten & Bentley (2007, p246), Use Case Diagram adalah diagram yang menggambarkan interaksi antara sistem dengan hal-hal eksternal dari sistem dan user. Dengan kata lain, secara grafis menjelaskan siapa yang akan mempergunakan sistem dan dengan cara apa user diharapkan untuk berinteraksi dengan sistem.
Tabel 2.1 Notasi Use Case Diagram, Sumber: Whitten & Bentley (2007, p384) No
Simbol
1
Aktor
Gambar
Keterangan Aktor adalah segala sesuatu yang perlu berinteraksi dengan system untuk pertukaran informasi. Aktor dapat berupa manusia, organisasi, sistem informasi yang lain, dan perangkat eksternal. Label dari peran yang dilakukan actor diletakkan diatas simbol
15 2
Use Case
Use Case adalah fungsi dalam sistem yang merepresentasikan tujuan dari sistem dan mendeskripsikan aktivitas dan interaksi user dengan sistem untuk mencapai tujuan tersebut
3
Hubungan
Menggambarkan hubungan antara dua simbol pada use case diagram
2.1.5.2 Activity Diagram Menurut Whitten & Bentley (2007, p390), Activity Diagram adalah diagram yang dipergunakan untuk menggambarkan alur dari proses bisnis secara grafis, langkahlangkah dari use case dan logika dari karakteristik objek.
16
Tabel 2.2 Notasi dalam Activity Diagram, Sumber: Whitten & Bentley (2007, p392) Simbol
Nama Simbol
Penjelasan
Initial State
Merepresentasikan dimulainya alur kerja suatu sistem dalam activity diagram
Action State
Sebuah state yang menggambarkan eksekusi dari aksi atomic.
Transition between
Mengindikasikan bahwa suatu objek
activities
dari state pertama akan menampilkan aksi-aksi tertentu dan memasuki state kedua ketika peristiwa tertentu terjadi dan kondisi telah terpenuhi
Decision Point
Menentukan kapan alur dalam aktifitas menjadi bercabang
Synchronization bars
Menspesifikasikan dua atau lebih aktivitas yang dapat dilakukan secara parallel
Final State
Merepresentasikan diakhirinya alur kerja suatu sistem dalam activity
17 2.1.5.3 Class Diagram Menurut Whitten & Bentley (2007, p400) Class Diagram adalah penggambaran grafis dan deskripsi dari class dan objek, beserta hubungannya satu sama lain. Menurut Whitten & Bentley (2007, p400) hubungan antar class terdiri dari 3 hubungan: 1.
Asosiasi, hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Hubungan ini diperlukan agar sebuah class dapat menyampaikan pesan kepada class lainnya.
2.
Generalisasi dan Spesialisasi, merupakan hubungan yang menyatakan mengandung supertype class ataupun subtype class. Supertype class jika mengandung atribut dan behavior yang dapat diwariskan kepada class lain. Dikatakan subtype class jika memiliki atribut dan behavior yang unik dan mewarisi atribut dan behavior dari supertype class.
3.
Agregasi, hubungan yang menyatakan bagian dari objek lainnya, dapat didefinisikan seperti objek a mengandung objek b dan objek b bagian dari objek a. hubungan asimetris, artinya tidak berlaku sebaliknya.
Notasi hubungan antar Class: Tabel 2.3 Notasi pada Class Diagram, Sumber Whitten & Bentley (2007, p401) Simbol
Penjelasan Class Sebuah deskripsi dari seperangkat objek yang berbagi atribut, operasi, dan relasi
18 yang sama. Class terbagi atas tiga bagian, yaitu nama class pada bagian atas, atribut class pada bagian tengah, dan operasi pada bagian bawah Association Merupakan hubungan structural antar class yang saling berelasi Aggregation Merupakan bentuk spesial dari hubungan asosiasi yang menspesifikasikan semua hubungan antara kumpulan (the whole) dan sebuah bagian (the part). Agregasi digambarkan dengan wajik tidak terisi Multiplicity Menggambarkan jumlah objek yang berpatisipasi dalam hubungan antar Class
Generalization Merupakan sebuah relasi spesialisasi/generalisasi dimana suatu class dapat lebih general atau lebih spesifik dari class lainnya
19 2.1.5.4 State Transition Diagram Menurut Whitten & Bentley (2007, p663), state transition diagram digunakan untuk memodelkan siklus hidup dari sebuah obyek. Diagram ini menggambarkan statestate yang berbeda yang dapat dimiliki oleh sebuah obyek, event-event yang dapat menyebabkan state dari obyek berubah pada waktu tertentu, dan sejumlah peraturan yang mengatur transisi obyek dari state yang satu ke state yang lainnya. Tabel 2.4 Notasi State Transition Diagram, Sumber: Whitten & Bentley (2007, p664) Lambang
Pengertian
Penjelasan Kondisi awal dari sebuah
Initial Object State
objek selama masa hidupnya Kondisi akhir dari sebuah
End Object State
objek selama masa hidupnya Kejadian yang membuat
State Transition Event
suatu perubahan pada objek state Aktifitas yang dilakukan
Activity
oleh objek setelah menerima transisi
20 2.1.5.5 Sequence Diagram Menurut Whitten & Bentley (2007, p659), Sequence Diagram adalah sebuah diagram UML yang memodelkan logika dari sebuah use case dengan menggambarkan bagaimana objek berinteraksi satu dengan yang lain melalui pesan. Menurut Whiiten & Bentley (2007, p394), notasi yg ada di dalam sequence diagram, yaitu: Tabel 2.5 Notasi Sequence Diagram, Sumber Whitten & Bentley (2007, pp394) Simbol
Penjelasan Object Lifeline Merupakan sebuah garis yang merepresentasikan adanya sebuah objek dalam jangka waktu tertentu Message, return, callback message Penyampaian pesan dari satu objek ke objek lain atau ke diri sendiri
21
Activation Menggambarkan periode waktu ketika pemrosesan terjadi dalam objek tersebut
2.1.6
Database Menurut Connolly & Begg (2010, p65), database adalah kumpulan data yang
saling berhubungan secara logic dan dapat diakses oleh beberapa user dan departemen secara bersamaan. Pada database data-data terintegrasi satu sama lain dengan duplikasi data yang minimal. 2.1.6.1 Database Management System (DBMS) Menurut Connolly & Begg (2010, p66), DBMS adalah software yang berinteraksi dengan software aplikasi milik user dan database. DBMS memungkinkan user untuk menetapkan, menciptakan, memelihara, dan mengontrol akses ke database. Pada umumnya DBMS menyediakan beberapa fasilitas diantaranya DDL ( Data Definition Language) untuk menetapkan dan menspesifikasikan data dan DML ( Data Manipulation Language) untuk memungkinkan user melakukan insert, update, delete, dan retrieve dari database dan menyediakan control akses ke database.
22 2.1.6.2 Entity Relationship Diagram Entity Relationship Diagram digunakan untuk menggambarkan struktur logikal database dalam bentuk diagram. ERD merupakan cara yang sederhana untuk memahami berbagai komponen dalam desain database. 2.1.6.2.1 Entitas Menurut Connolly & Begg (2010, p372), entitas adalah konsep dasar dari ERD, yang merepresentasikan sekumpulan objek (orang, tempat, barang, konsep, event) dengan muatan yang sama di dalam database. Entitas didefinisikan mempunyai keberadaan yang independen oleh sebuah perusahaan dan perorangan. 2.1.6.2.2 Relationship Menurut Connolly & Begg (2010, p374), relationship adalah sekumpulan hubungan yang berarti antara satu atau lebih entitas, dimana setiap tipe relationship diberi nama yang menggambarkan fungsinya. Sedangkan relationship occurance adalah hubungan yang dapat diidentifikasi secara unik. 2.1.6.2.3 Atribut Menurut Connolly & Begg (2010, p379), atribut adalah sebuah sifat dari entitas atau relationship. Sebagai contoh, entitas staff
mungkin dapat menjelaskan atribut
sebagai berikut: noStaff, nama, posisi, dan gaji. Setiap atribut menyimpan nilai yang menjelaskan setiap entry occurance dan menggambarkan bagian utama dari data yang disimpan di dalam database.
23 2.2
Teori Khusus
2.2.1
Presipitasi / Hujan
2.2.1.1 Pengertian Menurut Raghunath (2006, p3), hujan adalah salah satu bentuk dari presipitasi, atau turunnya cairan dari angkasa seperti hujan, es, salju, embun ataupun kabut. Hujan terbentuk apabila titik air yang terpisah jatuh ke bumi dari awan. Tidak semua air hujan sampai ke permukaan bumi, sebagian menguap ketika jatuh melalui udara kering, sejenis presipitasi yang dikenali sebagai virga. Hujan merupakan salah satu komponen input dalam suatu proses dan menjadi faktor pengontrol yang mudah diamati dalam siklus hidrologi pada suatu kawasan dalam kerangka satu sistem hidrologi dan mempengaruhi proses yang terjadi didalamnya.
2.2.1.2 Curah Hujan Menurut Yusuf (2005, pp31-33) klasifikasi tipe curah hujan berdasarkan atas perbandingan rata-rata jumlah bulan basah dan rata-rata jumlah bulan kering. Kriteria untuk menentukan bulan basah dan kering berdasarkan klasifikasi dari Mohr, yaitu: o Bulan basah yaitu suatu bulan yang curah hujannya lebih dari 100 mm. Curah hujan lebih besar dar penguapan. o Bulan lembab yaitu suatu bulan yang curah hujannya lebih besar dari 60 mm tetapi kurang dari 100 mm. Curah hujan kurang lebih seimbang dengan penguapan. o Bulan kering yaitu suatu bulan dengan curah hujan kurang dari 60 mm. Curah hujan lebih kecil dari penguapan
24 Penggolongan tipe curah hujan berdasarkan nilai Q yaitu: Q = Rata - rata jumlah bulan kering X 100% Rata – rata jumlah bulan basah
Berdasarkan besar nilai Q tersebut, tipe hujan di Indonesia dibagi menjadi 8 golongan yaitu: o
Tipe A 0,000 < Q < 0,143 Sangat basah
o
Tipe B 0,143 < Q < 0,333 Basah
o
Tipe C 0,333 < Q < 0,600 Agak basah
o
Tipe D 0,600 < Q < 1,000 Sedang
o
Tipe E 1,000 < Q < 1,670 Agak kering
o
Tipe F 1,670 < Q < 3,000 Kering
o
Tipe G 3,000 < Q < 7,000 Sangat kering
o
Tipe H 7,000 < Q <
Luar biasa kering
2.2.1.3 Penakar Hujan Menurut (Peraturan Kepala Badan Meteorologi dan Geofisika, 2006, p35) pos pengamatan hujan biasa adalah tempat atau lokasi pengamatan hujan yang terdiri dari penakar hujan tipe observatorium (OBS) untuk mengukur jumlah curah hujan selama 24 jam di suatu tempat yang dilakukan dengan cara mengukur langsung pada gelas ukur. Penakar hujan tipe observatorium adalah penakar hujan tipe kolektir yang menggunakan gelas ukur untuk mengukur air hujan. Penakar hujan ini adalah merupakan penakar hujan yang paling banyak digunakan di Indonesia dan merupakan “standar” dinegara kita.
25 Menurut (Peraturan Kepala Badan Meteorologi dan Geofisika, 2006, p36) pengamatan curah hujan dengan OBS biasa dilakukan setiap hari pada pukul 07.00 waktu setempat (ws) walaupun tidak ada hujan. Pembacaan yang dilakukan menunjukkan hujan yang terjadi sejak tanggal yang sebelumnya. Misalnya: pengukuran dilakukan pada tanggal 14 Januari jam 07.00 ws, jadi dicatat pada tanggal 14 menunjukkan jumlah curah hujan yang terjadi pada 13 Januari setelah 07.00ws sampai pada tanggal 14 jam 07.00 ws (pada saat pengukuran). Batas permukaan air pada gelas ukur dibaca sesuai garis skala yang ada dan menyatakan jumlah curah hujan dalam satuan milimeter. Curah hujan merupakan ketinggian air hujan yang terkumpul dalam tempat yang datar, tidak menguap, tidak meresap dan tidak mengalir. Curah hujan satu milimeter artinya dalam luasan satu meter persegi pada tempat yang datar tertampung air setinggi satu milimeter atau tertampung air satu liter.
Gambar 2.2 Penakar Hujan, Sumber (Peraturan Kepala Badan Meteorologi dan Geofisika, 2006, p36)
26 Keterangan gambar: 1.
Corong penakar (luas 100cm2)
2.
Tempat penampungan air hujan
3.
Kran air
4.
Kaki kayu yang disanggahkan ke dalam penakar
5.
Pondasi atau kaki kayu
6.
Pondasi beton
Menurut Raghunath (2006, p20), terdapat alat penakar lain bernama alat pengukur hujan Tipping Bucket. Terdiri dari silinder penerima berdiameter 30cm dengan corong dalam. Tepat di bawah corong terdapat sepasang tipping bucket yang berputar seperti ketika salah satu bucket menerima curah hujan sebesar 0,25 mm dan mengalir ke tangki yang berada di bawah, sementara bucket yang lainnya bersiap mengambil posisi, dan proses ini akan berulang. Tipping bucket yang terletak pada panel sirkuit listrik menyebabkan pena bergerak pada table yang dibungkus drum yang berputar searah jarum jam. Tipe ini tidak dapat merekam salju.
Gambar 2.3 Alat Pengukur Hujan Tipping Bucket, Sumber: Raghunath (2006, p20)
27 2.2.2
Daerah Aliran Sungai (DAS) Menurut Kartodihardjo (2008), daerah aliran sungai merupakan suatu
megasistem kompleks yang dibangun atas system fisik (physical systems), system biologis (biological systems) dan system manusia (human systems). Setiap system dan sub-sub system didalamnya saling berinteraksi. Dalam proses ini peranan tiap-tiap komponen dan hubungan antar komponen sangat menentukan kualitas ekosistem DAS. Tiap-tiap komponen memiliki sifat yang khas dan keberadaannya tidak berdiri sendiri, melainkan berhubungan dengan komponen lainnya membentuk kesatuan system ekologis (ekosistem). Gangguan terhadap salah satu komponen ekosistem akan dirasakan oleh komponen lainnya dengan sifat dampak yang berantai. Keseimbangan ekosistem akan terjamin apabila kondisi hubungan timbal balik antar komponen berjalan dengan baik dan optimal.
2.2.3
Logika Fuzzy
2.2.3.1 Pengertian Logika Fuzzy Menurut Sri Kusuma Dewi (2010, p1) logika Fuzzy merupakan salah satu komponen pembentuk soft computing. Logika Fuzzy pertama kali diperkenalkan oleh Prof. Lotfi A. Zadeh pada tahun 1965. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada teori himpunan fuzzy, peranan derahat keanggotaan sebagai penentu keberadaan elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan atau derajat keanggotaan atau membership function menjadi cirri utama dari penalaran dengan logika fuzzy tersebut.
28 Dalam banyak hal, logika fuzzy digunakan sebagai suatu cara untuk memetakan permasalahan dari input menuju ke output yang diharapkan. Beberapa contoh yang dapat diambil antara lain: 1. Manajer pergudangan mengatakan pada manajer produksi seberapa banyak persediaan barang pada akhir minggu ini, kemudian manajer produksi akan menetapkan jumlah barang yang harus diproduksi esok hari. 2. Seorang pegawai melakukan tugasnya dengan kinerja yang sangat baik, kemudian atasan akan memberikan reward yang sesuai dengan kinerja pegawai tersebut. Logika fuzzy dapat dianggap sebagai kotak hitam yang menghubungkan antara input menuju ke ruang output. Kotak hitam tersebut berisi cara atau metode yang dapat digunakan untuk mengolah data input menjadi output dalam bentuk informasi yang baik.
2.2.3.2 Alasan digunakannya Logika Fuzzy Menurut Sri Kusuma Dewi (2010, p2), ada beberapa alasan mengapa orang menggunakan logika fuzzy, antara lain: 1.
Konsep logika fuzzy mudah dimengerti. Karena logika fuzzy menggunakan dasar teori himpunan, maka konsep matematis yang mendasari penalaran fuzzy tersebut cukup mudah untuk dimengerti.
2.
Logika fuzzy sangat fleksibel, artinya mampu beradaptasi dengan perubahanperubahan, dan ketidakpastian yang menyertai permasalahan.
3.
Logika fuzzy memiliki toleransi terhadap data yang tidak tepat. Jika diberikan sekelompok data yang cukup homogen, dan kemudian ada beberapa data yang “eksklusif”, maka logika fuzzy memiliki kemampuan untuk menangani data ekslisif tersebut.
29 4.
Logika fuzzy mampu memodelkan fungsi-fungsi nonlinear yang sangat kompleks.
5.
Logika fuzzy dapat membangun dan mengaplikasikan pengalaman-pengalaman para pakar secara langsung tanpa harus melalui proses pelatihan. Dalam hal ini, sering dikenal dengan nama Fuzzy Expert Systems menjadi bagian terpenting.
6.
Logika fuzzy dapat bekerjasama dengan teknik-teknik kendali secara konvensional. Hal ini umumnya terjadi pada aplikasi di bidang teknik mesin maupun teknik elektro.
Logika fuzzy didasarkan pada bahasa alami. Logika fuzzy menggunakan bahasa seharihari sehingga mudah dimengerti. 2.2.3.3 Himpunan Fuzzy Menurut Sri Kusuma Dewi (2010, p6) apabila pada himpunan crisp, nilai keanggotaan hanya ada dua kemungkinan yaitu nol atau satu, pada himpunan fuzzy nilai keanggotaan terletak pada rentang nol sampai satu. Apabila x memiliki nilai keanggotaan fuzzy µA(x) = 0 berarti x tidak menjadi anggota himpunan A, demikian pula apabila x memiliki nilai keanggotaan fuzzy µA(x) = 1 berarti x menjadi anggota penuh pada himpunan A. Menurut Sri Kusuma Dewi (2010, p6) terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas menimbulkan kerancuan. Keduanya memiliki nilai pada interval [0,1], namun interpretasi nilainya sangat berbeda antara kedua kasus tersebut. Keanggotaan fuzzy memberikan suatu ukuran terhadap pendapat atau keputusan,
30 sedangkan probabilitas mengindikasikan proporsi terhadap keseringan suatu hasil bernilai bernar dalam jangka panjang. Menurut Sri Kusuma Dewi (2010, p6) himpunan fuzzy memiliki 2 atribut, yaitu: 1.
Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami.
2. Numeris, yaitu suatu nilai (angka) yang menunjukkan ukuran dari suatu variabel. Beberapa hal yang perlu diketahui dalam memahami sistem fuzzy, yaitu: a.
Variabel Fuzzy Variabel fuzzy merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy
b.
Himpunan Fuzzy Himpunan fuzzy merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy.
c.
Semesta Pembicaraan Semesta pembicaraan adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat
31 berupa bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. d.
Domain Domain himpunan fuzzy adalah keseluruhan nilai yang diizinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif.
2.2.3.4 Fungsi Keanggotaan Menurut Sri Kusuma Dewi (2003, p160), Fungsi keanggotaan (membership function) adalah suatu kurva yang menunjukkan pemetaan titik-titik input data ke dalam nilai keanggotaannya (sering juga disebut dengan derajat keanggotaan) yang memiliki interval antara 0 sampai 1. Salah satu cara yang dapat digunakan untuk mendapatkan nilai keanggotaan adalah dengan melalui pendekatan fungsi. Ada beberapa fungsi yang bisa digunakan 2.2.3.4.1
Representasi Linear
Menurut Sri Kusuma Dewi (2003, p160) pada representasi linear, pemetaan input ke derajat keanggotaannya digambarkan sebagai suatu garis lurus. Bentuk ini paling sederhana dan menjadi pilihan yang baik untuk mendekati suatu konsep yang kurang jelas.
32 Ada dua keadaan himpunan fuzzy yang linear. Pertama, kenaikan himpunan dimulai pada nilai domain yang memiliki derajat keanggotaan nol [0] bergerak ke kanan menuju ke nilai domain yang memiliki derajat keanggotaan lebih tinggi.
Gambar 2.4 Linear Naik, Sumber Sri Kusuma Dewi (2003, p160) Fungsi Keanggotaan:
Kedua, merupakan kebalikan yang pertama. Garis lurus dimulai dari nilai domain dengan derajat keanggotaan tertinggi pada sisi kiri, kemudian bergerak menurun ke nilai domain yang memiliki derajat keanggotaan lebih rendah.
Gambar 2.5 Linear Turun, Sumber Sri Kusuma Dewi (2003, p161)
33 Fungsi Keanggotaan:
2.2.3.4.2
Representasi Kurva Segitiga
Menurut Sri Kusuma Dewi (2003, p162) kurva Segitiga pada dasaranya merupakan gabungan antara dua garis (linear)
Gambar 2.6 Kurva Segitiga, Sumber Sri Kusuma Dewi (2003, p162) Fungsi Keanggotaan:
34 2.2.3.4.3
Representasi Kurva Trapesium
Menurut Sri Kusuma Dewi (2003, p163) kurva Trapesium pada dasarnya seperti bentuk segitiga, hanya saja ada beberapa titik yang memiliki nilai keanggotaan 1
Gambar 2.7 Kurva Trapesium, Sumber Sri Kusuma Dewi (2003, p164) Fungsi Keanggotaan:
2.2.3.4.4
Representasi Kurva Bentuk Bahu
Menurut Sri Kusuma Dewi (2003, p165) daerah yang terletak di tengah-tengah suatu variable yang di representasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik dan turun (misalkan: DINGIN bergerak ke SEJUK bergerak ke HANGAT dan bergerak ke PANAS). Tetapi terkadang salah satu sisi dari variable tersebut tidak mengalami perubahan. Sebagai contoh, apabila telah mencapai kondisi PANAS, kenaikan temperature akan tetap berada pada kondisi PANAS. Himpunan fuzzy ‘bahu’, bukan segitiga, digunakan untuk mengakhiri variable suatu daerah fuzzy. Bahu kiri bergerak dari benar ke salah, demikian juga bahu kanan bergerak dari salah ke benar
35
Gambar 2.8 Daerah ‘bahu’ pada variable TEMPERATUR, Sumber Sri Kusuma Dewi (2003, p165) 2.2.3.4.5
Representasi Kurva-S
Menurut Sri Kusuma Dewi (2003, p165) kurva PERTUMBUHAN dan PENYUSUTAN merupakan kurva-S atau sigmoid yang berhubungan dengan kenaikan dan penurunan permukaan secara tak linear. Kurva-S untuk PERTUMBUHAN akan bergerak dari sisi paling kiri (nilai keanggotaan = 0) ke sisi paling kanan (nilai keanggotaan = 1). Fungsi keanggotaannya akan tertumpu pada 50% nilai keanggotaanya yang sering disebut dengan titik infleksi
36
Gambar 2.9 Himpunan fuzzy dengan kurva-S : PERTUMBUHAN, Sumber Sri Kusuma Dewi (2003, p166) Fungsi Keanggotaan:
Kurva-S untuk PENYUSUTAN akan bergerak dari sisi paling kanan (nilai keanggotaan = 1) ke sisi paling kiri (nilai keanggotaan =0)
37
Gambar 2.10 Himpunan Fuzzy dengan kurva-S: PENYUSUTAN, Sumber: Sri Kusuma Dewi (2003, p166) Fungsi Keanggotaan:
2.2.3.4.6
Representasi Kurva Bentuk Lonceng (Bell Curve)
Menurut Sri Kusuma Dewi (2003, p169) untuk merepresentasikan bilangan fuzzy, biasanya digunakan kurva berbentuk lonceng. Kurva berbentuk lonceng ini terbagi atas 3 kelas, yaitu: himpunan fuzzy PI, beta, dan Gauss. Perbedaan ketiga kurva ini terletak pada gradiennya.
38 •
Kurva PI Kurva PI berbentuk lonceng dengan derajat keanggotaan 1 terletak pad apusat dengan domain, dan lebar kurva
Gambar 2.11 Karakteristik Fungsional kurva PI, Sumber: Sri Kusuma Dewi (2003, p169) Fungsi Keanggotaan:
39 •
Kurva BETA Seperti halnya kurva PI, kurva BETA juga berbentuk lonceng namun lebih rapat. Kurva ini juga didefinisikan dengan 2 parameter, yaitu nilai pada domain yang menunjukkan pusat kurva, dan setengah lebar kurva
Gambar 2.12 Karakteristik fungsional kurva BETA, Sumber: Sri Kusuma Dewi (2003, p171)
40 Fungsi Keanggotaan:
Salah satu perbedaan mencolok kurva BETA dari kurva PI adalah, fungsi keanggotaannya akan mendekati nol hanya jika nilai ( β ) sangat besar. •
Kurva GAUSS Jika kurva PI dan kurva BETA menggunakan 2 parameter (Y) dan (β), kurva GAUSS juga menggunakan (Y) untuk menunjukkan nilai domain pada pusat kurva, dan (k) yang menunjukkan lebar kurva.
41
Gambar 2.13 Karakteristik fungsional kurva GAUSS, Sumber: Sri Kusuma Dewi (2003, p173) Fungsi Keanggotaan:
42 2.2.3.5 Metode Mamdani Menurut Sri Kusuma Dewi (2010, p37), Metode Mamdani sering dikenal sebagai Metode Max-Min. Metode ini diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan: 1. Pembentukan himpunan fuzzy Pada Metode Mamdani, baik variable input maupun variable output dibagi menjadi satu atau lebih himpunan fuzzy 2. Aplikasi fungsi implikasi Pada Metode Mamdani, fungsi implikasi yang digunakan adalah Min. 3. Komposisi Aturan Menurut Sri Kusuma Dewi (2010, p38) tidak seperti penalaran monoton, apabila sistem terdiri-dari beberapa aturan, maka inferensi diperoleh dari kumpulan dan korelasi antaraturan. Ada 3 metode yang digunakan dalam melakukan inferensi sistem fuzzy, yaitu : a.
Metode Max (Maximum) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikannya ke output dengan menggunakan operator OR (union). Jika semua proposisi telah dievaluasi, maka output akan berisi suatu himpunan fuzzy yang merefleksikan konstribusi dari tiap-tiap proposisi. Secara umum dapat dituliskan:
43 µ sf(xi) = max(µ sf(xi), µ kf(xi)) dengan: µ sf(xi) = nilai keanggotaan solusi fuzzy sampai aturan ke-i; µ kf(xi) = nilai kenaggotaan konsekuen fuzzy aturan ke-i; Misalkan ada 3 aturan (proposisi) sebagai berikut: [R1] IF Biaya Produksi RENDAH AND Permintaan NAIK THEN Produksi Barang BERTAMBAH; [R2] IF Biaya Produksi STANDAR THEN Produksi NORMAL; [R3] IF Biaya Produksi TINGGI AND Permintaan TURUN THEN Produksi Barang BERKURANG; Proses inferensi dengan menggunakan metode Max dalam melakukan komposisi aturan seperti terlihat pada Gambar 2.4. Apabila digunakan fungsi implikasi MIN, maka metode komposisi ini sering disebut dengan nama MAX-MIN atau MIN-MAX atau MAMDANI.
44
Gambar 2.14 Komposisi Aturan Fuzzy : Metode MAX, Sumber: Sri Kusumadewi (2010, p39) b.
Metode Additive (Sum) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sum terhadap semua output daerah fuzzy. Secara umum dituliskan: µ sf(xi) = min (1, µ sf(xi) + µ kf(xi)) dengan: µ sf(xi) = nilai keanggotaan solusi fuzzy sampai aturan ke-i;
45 µ kf(xi) = nilai keanggotaan konsekuen fuzzy aturan ke-i; c.
Metode Probabilistik OR (probor) Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah fuzzy. Secara umum dituliskan: µ sf(xi) = (µ sf(xi) + µ kf(xi)) – (µ sf(xi)* µ kf(xi)) dengan: µsf(xi) = nilai keanggotaan solusi fuzzy sampai aturan ke-i; µ kf(xi) = nilai keanggotaan konsekuen fuzzy aturan ke-i;
4.
Penegasan (defuzzy) Menurut Sri Kusuma Dewi (2010, p40) input dari proses defuzzifikasi adalah
suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy, sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crisp tertentu sebagai output seperti terlihat pada Gambar 2.5
46
Proses Defuzzifikasi Daerah fuzzy ‘A’
Output Daerah fuzzy ‘B’
Daerah fuzzy ‘D’
Daerah fuzzy ‘C’
Nilai yang diharapkan
Gambar 2.15 Proses Defuzzifikasi, Sumber: Sri Kusumadewi (2010, p40) Ada beberapa metode defuzzifikasi pada komposisi aturan MAMDANI, antara lain: a.
Metode Centroid Pada metode ini, solusi crisp diperoleh dengan cara mengambil titik pusat (z*) daerah fuzzy. Secara umum dirumuskan:
47
untuk variable kontinu, atau
untuk variable diskret.
b.
Metode Bisektor Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai keanggotaan setengah dari jumlah total nilai keanggotaan pada daerah fuzzy. Secara umum dituliskan: zp
c.
sedemikian hingga
Metode Mean of Maximum (MOM) Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai rata-rata domain yang memiliki nilai keanggotaan maksimum.
d.
Metode Largest of Maximum (LOM) Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki nilai keanggotaan maksimum.
48 e.
Metode Smallest of Maximum (SOM) pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai keanggotaan maksimum.