Flowchart Fungsi Fungsi Keanggotaan( Mengingatkan Kembali)

Slides:



Advertisements
Presentasi serupa
KONSEP BAHASA PEMROGRAMAN
Advertisements

Matakuliah : Algoritma & Struktur Data Versi Materi
Algoritma Genetik  Setiap mahluk hidup selalu mengembangkan dirinya un tuk berusaha bertahan diri guna menyesuaikan dengan tuk berusaha bertahan diri.
YUSRON SUGIARTO, STP., MP., MSc
*Operator - ARITMATIKA
LOGIKA FUZZY.
Cara Penilaian Fitness
Algoritma (Struktur, Tipe Data, Input/Output)
Notasi Algoritma.
LOGIKA FUZZY .
BAB II SANDI BINER 2.1 Sandi 8421
CONTOH PENERAPAN LOGIKA FUZZY Fuzzy tsukamoto, mamdani, sugeno
Fuzzy Clustering Materi Kuliah (Pertemuan 13 & 14) LOGIKA FUZZY
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
Kuliah Sistem Fuzzy Pertemuan 5 “Sistem Inferensi Fuzzy”
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
PROCEDURE AND FUNCTION
Chapter 3 PEMROGRAMAN TERSTRUKTUR
{Pertemuan 4 Struktur Kondisi IF}
CS1023 Pemrograman Komputer
Flowchart dan Pseudocode
Logika fuzzy.
{Pertemuan 4 Struktur Kondisi IF}
Algoritma dan Struktur Data 1 pertemuan 9
{Pertemuan 5 Struktur Kondisi IF - lanjutan}
KECERDASAN BUATAN LOGIKA FUZZY (Fuzzy Logic) Edy Mulyanto.
LOGIKA FUZZY (Lanjutan)
FUZIFIKASI ( Lanjutan )
LOGIKA FUZZY Oleh I Joko Dewanto
LOGIKA FUZZY ABDULAH PERDAMAIAN
FUZZY INFERENCE SYSTEMS
FUZZY INFERENCE SYSTEMS
{Pertemuan 4 Struktur Kondisi IF}
Gerbang Logika NAND, NOR, XOR, XNOR
Pertemuan 9 Logika Fuzzy.
CARA KERJA SISTEM PAKAR
04.1 Hari-4.
FUZZY INFERENCE SYSTEM (FIS) - MAMDANI
Introduction 03 using to Algorithm C / C++ teknik dasar Algoritma.
Pseudocode – Tipe Data, Variabel, dan Operator
GERBANG LOGIKA A.Tabel Kebenaran
Sistem Inferensi Fuzzy
FUZZY INFERENCE SYSTEM (FIS) - TSUKAMOTO
<KECERDASAN BUATAN>
Pemrograman Terstruktur
TEL 2112 Dasar Komputer & Pemograman Prosedur
Pertemuan 9 Logika Fuzzy.
Algoritma dan Pemrograman (Pertemuan 04)
G.Gerbang X-OR dan Gerbang X-NOR
Oleh : Yusuf Nurrachman, ST, MMSI
*Operator - ARITMATIKA
Perhitungan Membership
METODE FIS Pertemuan Ke-5.
Penyusun: Tri Nurwati (dari segala sumber :)
KECERDASAN BUATAN PERTEMUAN 8.
HEMDANI RAHENDRA HERLIANTO
Sistem Inferensi Fuzzy
Operasi Himpunan Fuzzy
Type, Variabel, Konstanta
FUZZY INFERENCE SYSTEM (FIS) - TSUKAMOTO
Pemrograman Terstruktur
1. MEMAHAMI KONSEP GERBANG LOGIKA
CCM110 Matematika Diskrit Pertemuan-11, Fuzzy Inference System
Nested if 164.
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
Operator Himpunan Fuzzy
Logika Fuzzy Dr. Mesterjon,S.Kom, M.Kom.
GERBANG LOGIKA.
Notasi Algoritmik, Tipe Dasar, Nilai, Ekspresi dan Input/Output
KOMENTAR Komentar dipakai untuk memberikan penjelasan atau keterangan di dalam baris program. Teks yang ditulis sebagai komentar tidak akan dikompilasi.
Transcript presentasi:

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))

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

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))

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))

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%

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

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 )

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 ) = 1 - 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 : 0.3. 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

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 0.0 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)

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

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

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

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.

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), 1.0 - tingkat_Sulit) tingkat_diam = MIN ( 1.0 – tingkat_dekat), tingkat_Tidak Luka) tingkat_lari = MIN ( MIN ( ( 1.0 – tingkat_Diluar Jarak), ( 1.0 - tingkat_Tidak Luka)), ( 1.0 - 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

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 150.0 Segitiga : 155.0, 160.0, 170 Golongan : 169.0, 175.0 Pendek 1.0 0.0 0.0 Tinggi (cm) 169

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 : 60.0. 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 = 169.0. 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

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.

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