Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Flowchart Fungsi Fungsi Keanggotaan( Mengingatkan Kembali)

Presentasi serupa


Presentasi berjudul: "Flowchart Fungsi Fungsi Keanggotaan( Mengingatkan Kembali)"— Transcript presentasi:

1 Flowchart Fungsi Fungsi Keanggotaan( Mengingatkan Kembali)
Fungsi Keanggotaan Golongan FuzzyGolongan( nilai, X0, X1) /* Fungsi FuzzyGolongan mengem- balikan nilai type double. Begitu juga parameter -2 formal fungsi dan variabel lokal bertype dou- ble. */ fungsi = 0 X = nilai fungsi = 0 fungsi = 0 X < = X0 Fungsi = 1 X > = X1 return fungsi fungsi = ( X / ( X1 – X0)) - ( X0 / ( X1 – X0))

2 Flowchart Fungsi Fungsi Keanggotaan
Fungsi Keanggotaan Golongan Terbalik FuzzyGolonganTerbalik( nilai, X0, X1) /* Fungsi FuzzyGolongan mengembalikan nilai type dou- ble. Begitu juga parameter -2 formal fungsi dan variabel lokal bertype double. */ /* Fungsi FuzzyGolonganTerbalik mengembalikan nilai type dou- ble. Begitu juga parameter -2 formal fungsi dan variabel lokal bertype double. */ fungsi = 0 X = nilai fungsi = 0 fungsi = 1 X < = X0 fungsi = 0 X > = X1 fungsi = ( - X / ( X1 – X0)) + ( X1 / ( X1 – X0)) return fungsi

3 Flowchart Fungsi Fungsi Keanggotaan
Fungsi Keanggotaan Segitiga / * Fungsi FuzzySegitiga mengembalikan nilai type dou- ble. Begitu juga parameter -2 formal fungsi dan variabel lokal bertype double. */ FuzzySegitiga( nilai, X0, X1,X2) fungsi = 0 X = nilai X < = X0 fungsi = 0 fungsi = 0 return fungsi X = = X1 fungsi = 1 fungsi = ( X / ( X1 – X0)) – ( X0 / ( X1 - X0)) ( X > X0 ) && ( X < X1) fungsi = (- X / ( X2 – X1)) + (X2 / ( X2 – X1))

4 Flowchart Fungsi Fungsi Keanggotaan
Fungsi Keanggotaan Trapesium / * Fungsi FuzzyTrapesium mengembalikan nilai type dou- ble. Begitu juga parameter -2 formal fungsi dan variabel lokal bertype double. */ FuzzyTrapesium( nilai, X0, X1,X2,X3) fungsi = 0 X = nilai X < = X0 fungsi = 0 return fungsi ( X >= X1) && ( X < = X2) fungsi = 1 fungsi = ( X / ( X1 – X0)) – ( X0 / ( X1 - X0)) ( X > X0 ) && ( X < X1) fungsi = (- X / ( X3 – X2)) + (X3 / ( X3 – X2))

5 Kumpulan Himpunan Fuzzy
Umumnya user menginginkan menentukan tingkat suatu masukan tidak pa- da satu himpunan saja, tetapi dari beberapa himpunan jadi satu, dimana ang gotanya satu sama lain merupakan anggota himpunan kwalitatip. Kumpulan Himpunan ini disebut : Himpunan-2 Fuzzy. Dengan kumpulan him punan semacam ini, ki- ta dapat memperkira kan suatu keanggota an nilai input tertentu dalam masing-2 tiga himpunan tersebut, apakah kurang berat, berat ideal , atau kelebihan berat. Kurang Berat Kelebihan Berat Berat ideal 1.0 0.75 0.15 Berat berat Kalau ditentukan suatu berat seseoreng , ternyata orang ini Kurang Berat pada tingkat 0, Ideal pada tingkat 0.75 , Kelebihan Berat pada tingkat 0.15, dari ini disipulkan : berat orang tersebut sangat ideal, yakni ke- idealanya pada tingkat 75%

6 Kumpulan Himpunan Fuzzy (lanjutan)
Membentuk kumpulan himpunan Fuzzy untuk input variabel yang sudah ditetapkan, biasanya dicoba coba untuk disesuaikan Berapa banyaknya Himpunan Fuzzy dalam suatu pengkatagorian tidak ada ketentuan, tetapi praktisi menyarankan menggunakan tujuh himpunan Fuzzy Dari himpunan yang berdekatan selalu ada bagian yang overlap ( tumpang tindih ). Hal ini memang tentu terjadi, demi untuk transisi yang baik. Umumnya antar himpunan yang berdekatan yang overlap kecil dari 2.5%. JK K AK T AKN KN JKN 1.0 Overlap antara himpunan KN dan JKN, utk tran sisi katagori ARAH 0.0 Tujuh Himpunan Fuzzy JK : Jauh Kekiri ; K : Kiri ; AK : Agak Kekiri ; T : Tengah ; AKN : Agak Kekanan ; KN : Kanan ; JKN : Jauh Kekanan

7 ATURAN FUZZY Setelah memfuzzikan semua variabel input untuk suatu ma-
salah, apa yang akan kita kerjakan berikutnya adalah : Membentuk Suatu Himpunan Aturan, Menggabungkan input Kedalam Beberapa Bentuk Logika, Untuk Menghasilkan Be- berapa Output. Dalam aturan if… then, if A then B, maka bagian : If A disebut : Antecedent atau premise ( persyratan ) then B disebut : Akibat atau kesimpulan Tujuan kita adalah : Menggabungkan variabel input dengan cara logika untuk membentuk persyaratan, yang akan menghasilkan kesimpulan. Kesimpulan itu secara effektif akan menjadi tingkat keang- gotaan dalam beberapa output fungsi. Axioma Fuzzy. Apabila kita akan menuliskan aturan logika terhadap variabel input , digunakan operator boolean. Beberapa bentuk aturan fuzzy adalah : Disjunction ( tidak bergabung ) Conjunction ( menggabung ) Negate ( menidakkan )

8 ATURAN FUZZY ( lanjutan)
Axioma Fuzzy ( lanjutan ). Contoh aturan Disjunction : Truth ( A OR B ) = MAX ( Truth ( A ) , Truth ( B ) ) Contoh aturan Conjunction : Truth ( A AND B ) = MIN ( Truth ( A ) , Truth ( B )) Contoh aturan Negate : Truth ( NOT A ) = Truth ( A ) Truth (A), Truth (B), adalah Tingkat keanggotaan A atau B dalam Him- punan Fuzzy, dan nilainya berupa bilangan pecah antara 0.0 dan 1.0 Contoh pemakaian aturan-2 : Ditentukan : Seseorang memiliki kelebihan berat pada tingkat : 0.7 dan tingginya pada tingkat : Dengan aturan diatas didapat : ( Kelebihan berat AND Tinggi ) = MIN (0.7 , 0.3 ) = 0.3 ( Kelebihan berat OR Tinggi ) = MAX (0.7, 0.3) = 0.7 NOT ( Kelebihan berat ) = 1.0 – 0.3 = 0.7 NOT ( Tinggi ) = 1.0 – 0.7 = 0.3 NOT ( Kelebihan berat AND Tinggi ) = 1.0 – MIN ( 0.7, 0.3 ) = 1.0 – 0.3 = 0.7

9 ATURAN FUZZY ( lanjutan)
Axioma Fuzzy ( lanjutan ). Algoritma Operasi Logika Dapat diperlihatkan sbb : FuzzyAND ( A , B ) / * Parameter A dan B bertype double. Fungsi -2 tersebut mengembalikan ni- lai bernilai double Nilai dari A atau B adalah nilai Tingkat Keanggotaan antara s/d 1.0 Kalau dikode dg C++ , fungsi-2 nya : max ( A, B) ; min ( A, B ) dengan File header : stdlib.h * / return min ( A , B) FuzzyOR ( A , B) Return max ( A,B) FuzzyNOT ( A ) return ( 1.0 – A)

10 Sebagai contoh : Ada dua ka- rakter, Penyerang ( dikendali-
Kurang Jarak Tepat Jarak Diluar Jarak Sebagai contoh : Ada dua ka- rakter, Penyerang ( dikendali- kan komputer ) dan Pemain. Input variabelnya adalah : Jangkauan jarak tembak Penye rang, Kondisi luka Penyerang, dan Peluang Pemain Dikalah- kan. Output tindakannya antara la in Penyerang melarikan diri, Penyerang menyerang, atau Penyerang tidak berbuat apa apa. Kita singkat input variabel- nya sbb: Jangkauan Jarak Tembak menjadi : Jarak, Kondisi Luka jadi Kondisi Peluang Mengalahkan menjadi Peluang 1.0 Jangkauan Jarak Tembak 0.0 Berat Tidak Luka Gawat Parah Ringan 1.0 Kondisi Luka 0.0 Agak Sulit Mudah Sulit Mudah Sekali 1.0 Peluang Mengalah kan 0.0

11 Sebagai contoh : Ada dua ka- rakter, Penyerang ( dikendali-
Kurang Jarak Tepat Jarak Diluar Jarak Sebagai contoh : Ada dua ka- rakter, Penyerang ( dikendali- kan komputer ) dan Pemain. Input variabelnya adalah : Jangkauan jarak tembak Penye rang, Kondisi luka Penyerang, dan Peluang Pemain Dikalah- kan. Output tindakannya antara la in Penyerang melarikan diri, Penyerang menyerang, atau Penyerang tidak berbuat apa apa. Kita singkat input variabel- nya sbb: Jangkauan Jarak Tembak menjadi : Jarak, Kondisi Luka jadi Kondisi Peluang Mengalahkan menjadi Peluang 1.0 Jangkauan Jarak Tembak 0.0 Berat Tidak Luka Gawat Parah Ringan 1.0 Kondisi Luka 0.0 Agak Sulit Mudah Sulit Mudah Sekali 1.0 Peluang Mengalah kan 0.0

12 Kita singkat input variabel- nya sbb: Jangkauan Jarak Tembak 1.0
Kurang Jarak Tepat Jarak Diluar Jarak Kita singkat input variabel- nya sbb: Jangkauan Jarak Tembak menjadi : Jarak, Kondisi Luka jadi Kondisi Peluang Mengalahkan menjadi Peluang Setiap output-nya juga dicari ni lai Tingkatnya. Dalam contoh ini anggaplah : menyerang dg tingkat 0.2 Tidak Berbuat , tingkat 0.4 Melarikan diri , tingkat 0.7 Untuk output ini kita singkat sbb Menyrang jadi serang Tidak berbuat apa-2 jadi diam. Melarikan diri jadi lari 1.0 Jarak 0.0 Berat Tidak Luka Gawat Parah Ringan 1.0 Kon disi 0.0 Agak Sulit Mudah Sulit Mudah Sekali 1.0 0.0 Peluang

13 If ( ( dekat AND Tidak Luka ) AND NOT Sulit ) then serang
Kurang Jarak ( dekat ) Tepat Jarak Diluar Jarak Agak Sulit Mudah Sekali Mudah Sulit 1.0 1.0 Jarak 0.0 Berat Tidak Luka Peluang Gawat Parah Ringan 0.0 1.0 Tingkat Output serang 0.2, diam 0.4, lari 0.7 Aturan main- nya sbb : Kon disi 0.0 If ( ( dekat AND Tidak Luka ) AND NOT Sulit ) then serang if ( ( NOT dekat ) AND Tidak Luka ) then diam If ( NOT Diluar Jarak AND NOT Tidak Luka ) AND ( NOT Mudah Sekali) then lari.

14 Aturan main-nya sbb: If ( ( dekat AND Tidak Luka ) AND NOT Sulit ) then serang if ( ( NOT dekat ) AND Tidak Luka ) then diam If ( NOT Diluar Jarak AND NOT Tidak Luka ) AND ( NOT Mudah Sekali) then lari. Atas dasar aturan main diatas , maka untuk mencari Tingkat outputnya dapat dicari menurut aturan Fuzzy sbb: tingkat_serang = MIN ( MIN ( tingkat_Dekat, tingkat_Tidak Luka), tingkat_Sulit) tingkat_diam = MIN ( 1.0 – tingkat_dekat), tingkat_Tidak Luka) tingkat_lari = MIN ( MIN ( ( 1.0 – tingkat_Diluar Jarak), ( tingkat_Tidak Luka)), ( tingkat_Mudah Sekali)) Kalau anggapan diatas ( tidak dihitung ) , dipakai maka, keputusannya tingkat_serang = 0.2 , tingkat_diam = 0.4, tingkat_lari = 0.7 Kesim pulannya tindakan yg diambil : lari, karena tingkatnya tinggi = 0.7

15 Soal Lab( Algoritma Dan Tindakannya lihat slide berikutnya)
Carilah nilai logika Fuzzy dari berat dan tinggi berikut ini Kurang Berat Kelebihan Berat Berat ideal Batas-2 fungsi Fuzzy Berat : Golongan terbalik : 40.0 dan 50.5 Segitiga : 55.0, 57.0, 59.0 Golongan : 56.0, 70.5 1.0 0.0 Berat ( kg) 60.0 Tinggi Ba nget TINGGI ideal Batas-2 fungsi Fuzzy Tinggi Golongan terbalik : 110.0 dan Segitiga : , 160.0, 170 Golongan : , 175.0 Pendek 1.0 0.0 0.0 Tinggi (cm) 169

16 Algoritma Dan Tindakan dari Soal Lab Slide Sebelumnya
Pasanglah fungsi-2 golongan terbalik, segitiga, dan golongan se- belum fungsi main(); Untuk kumpulan himpunan fungsi berat : carilah nilai Tingkat : kurang berat, tingkat berat ideal, dan tingkat kelebihan berat, un- tuk nilai : Katakan Tingkat-2 tsb disimpan dalam variabel B1, B2, dan B3. Lakukan hal yang sama terhadap kumpulan himpunan tinggi. Sebut Tingkat-2 tinggi tersebut disimpan dalam variabel T1, T2 dan T3, untuk : pendek, tinggi ideal, dan tinggi banget, dg nilai tinggi = Kalau diketahui aturan tindakan sbb : Kalau ( orangnya pendek, dan kurang berat) maka tindakanya : diet kalau ( orangnya tinggi ideal, dan kurang berat) maka : perawatan. kalau( orangnya tinggi ideal, dan kelebihan berat) maka: disuruh O.R kalau( orangnya berat ideal atau tinggi ideal ) : diminta O.R senam. Bila aturan diatas dipakai untuk menerima pekerja tindakan mana yg harus dipilih dalam seleksi. Untuk menjawab ini carilah tingkat tindakan yang maksimum

17 DEFUZZIFIKASI Defuzzifikasi diperlukan apabila anda ingin mendapatkan suatu ni- lai pecah ( variabel input ) dari suatu sistem Fuzzy. Sebagaimana disebutkan, bahwa hasil suatu aturan berupa nilai tingkat keanggotaan tindakan atau tingkat keanggotaan kesimpulan Sebagai misal : Katakanlah kita tidak hanya menentukan tindakan tindakan yang sudah dipastikan, yakni : lari,serang atau diam, teta- pi juga ingin mendapatkan output, yang dapat menentukan : kecepa tan penyerang untuk mengambil suatu tindakan . Contoh : Apabila output tindakan adalah lari, apakah penyerang itu jalan cepat-2 atau lari cepat-2, dan kalau itu yang penyerang laku- kan, sampai seberapa cepat penyerang itu lari ? Untuk mendapatkan nilai pecah, yang tadinya merupakan variabel input, kita perlu mengumpulkan output kekuatan, meski bagaimana pun bentuknya, dan kita juga perlu menentukan fungsi-2 keanggo – taan tindakan.

18 DEFUZZIFIKASI(lanjutan)
Anggap kita sudah memiliki fungsi keanggotaan output sbb : Tingkat Lari Diam Serang 1.0 0.0 Tindakan Anggap pula Tingkat Keanggotaan Serang = 0.2, Diam = 0.4, Lari = 0.7


Download ppt "Flowchart Fungsi Fungsi Keanggotaan( Mengingatkan Kembali)"

Presentasi serupa


Iklan oleh Google