Anda di halaman 1dari 70

LOGIKA FUZZY

ABOUT
REPRESENTASI PENGETAHUAN
INFERENSI
PENALARAN
REFERENSI
• www.mathwork.com
• Sri kusumadewi, Artificial Intelligent (teknik
dan aplikasinya), Penerbit Karya Ilmu.
• Penerapan Soft Computing dengan MATLAB,
Prabowo Pudjo Widodo, Rahmadya Trias
Handyanto, Penerbit Rekayasa Sains.
• http://commons.wikimedia.org/wiki/Fuzzy_op
erator
About
• Ditemukan oleh Lotfi A Zadeh
• Pada hampir semua kasus, kita dapat
menghasilkan suatu solusi tanpa
menggunakan logika fuzzy, namun
menggunakan fuzzy akan lebih cepat dan
murah
• Konsep tentang logika fuzzy sudah ada pada
diri kita sejak lama
Keunggulan
• Mempunyai toleransi terhadap data-data yang
tidak tepat
• Mampu memodelkan fungsi nonlinear yang
sangat kompleks
• Dapat membangun dan mengaplikasikan
pengalaman – pengalaman para pakar secara
langsung, tanpa harus melalui proses pelatihan.
• Dapat bekerjasama dengan teknik-teknik
pengendalian secara konvensional
• Logika fuzzy didasarkan pada bahasa alami.
Contoh
• Seorang tamu akan memberikan tip kepada
pelayan restoran sesuai dengan kepuasan
terhadap servis dan makanan yang disajikan.
• Saya akan mengatur suhu AC sehingga cukup
sejuk buat saya.
• Penumpang mengatakan kepada sopir untuk
lebih cepat, lalu sopir mengatur kecepatan
taxi.
Aplikasi fuzzy
• Pemasaran, pemodelan fuzzy untuk sistem
pemasaran yang kompleks
• Psikologi, menganalisis kelakuan masyarakat.
• Prediksi cuaca
• Kereta bawah tanah Sendai mengontrol
pemberhentian otomatis pada area tertentu.
• dll
• Pada himpunan tegas (crisp), nilai
keanggotaan suatu sistem x dalam suatu
himpunan A memiliki dua kemungkinan, yaitu
0 dan 1
• 1 berarti x anggota A
• 0 berarti x bukan anggota A
Contoh pada variabel umur
• Misalkan umur dibagi 3 kategori:
– MUDA umur < 35 tahun
– PAROBAYA 35<= umur <=55 tahun
– TUA umur > 55 tahun
• Apabila seseorang berusia 34 tahun, maka ia
dikatakan MUDA (µmuda[34] = 1)
• Apabila seseorang berusia 35 tahun, maka ia
dikatakan TIDAK MUDA (µmuda[34] = 0)
• Dari sini bisa dikatakan bahwa pemakaian
himpunan crisp untuk menyatakan umur menjadi
tidak adil.
Himpunan Fuzzy
• Himpunan fuzzy bisa digunakan untuk
mengantisipasi hal tersebut. Seseorang dapat
masuk ke dalam 2 himpunan yang berbeda
MUDA dan PAROBAYA, PAROBAYA dan TUA.
• Seberapa besar eksistensinya dalam himpunan
tersebut dapat dilihat pada nilai
keanggotaannya.
HIMPUNAN FUZZY UNTUK VARIABEL UMUR

µ[x]

0,25

25 35 40 45 55 65
Artinya:
• Bila umur = 40 tahun, maka masuk ke
himpunan MUDA, dengan µMUDA[40] = 0,25
• Dan masuk ke himpunan PAROBAYA dengan
µPAROBAYA[40]= 0,5.
• Himpunan fuzzy mempunyai dua atribut :
– Linguistik : MUDA, PAROBAYA, TUA.
– numeris : 25,45,50
Sistem fuzzy
1. Variabel Fuzzy
contoh: UMUR, TEMPERATUR, PERMINTAAN
2. Himpunan Fuzzy
himpunan fuzzy merupakan suatu grup yang
mewakili suatu kondisi, atau kedaan tertentu
dalam suatu variabel fuzzy
3. Semesta pembiacaraan (mis: umur: 0 -
takhingga)
4. Domain: nilai dalam semesta pembicaraan yang
diijinkan untuk dioperasikan. Ex: MUDA = [0 45],
PAROBAYA = [35 55]
REPRESENTASI PENGETAHUAN
FUZZY
Representasi linear (naik dan turun)

Dimulai dari nilai domain Sebaliknya


dengan derajad
keanggotaan 0, bergerak ke
kanan menuju nilai domain
dengan derajad
keanggotaan lebih tinggi
Representasi segitiga
0; x<=a atau x>=c

µ[x] = (x-a) / (b-a); a<=x<=b

(c-x) / (c-b); b<=x<=c

Gabungan 2 garis linear,


Representasi trapesium
Representasi Bahu

1. Himpunan Fuzzy bahu, bukan segitiga, digunakan untuk mengakhiri variabel suatu daerah
fuzzy. Bahu kiri bergerak dari benar ke salah, bahu kanan bergerak dari salah ke benar.
2. Terkadang salah satu sisi dan variabel tersebut tidak mengalami perubahan.
3. Contohnya, kalau temperatur sudah bergerak ke PANAS, maka akan terus PANAS.
4. Kurva ini untuk merepresentasikan daerah yang terletah ditengah – tengah suatu variabel
yang direpresentasikan dalam bentuk segitiga, pada sisi kanan dan kirinya akan naik turun.
Representasi sigmoid
Pertumbuhan Penyusutan

0,5

α β ɣ
1 ;x<= α
1-2((x- α) / (ɣ- α))2 ;α<=x<= β
S(x: α,β,ɣ) = 2((ɣ-x)/ (ɣ- α))2 ;β<=x<= ɣ
0 ;x>=ɣ
0 ;x<= α
2((x- α )/(ɣ- α))2 ;α<=x<= β
S(x: α,β,ɣ) = 1-2((ɣ-x) / (ɣ- α))2 ;β<=x<= ɣ
1 ;x>=ɣ
Contoh pertumbuhan
µTUA = 1 – 2((60-50) / (60-35))2
= 1 – 2(10/25)2
= 0,68
TUA
1

0,68

0,5

0 35 50 60
Representasi kurva bentuk lonceng

Derajad keanggotaan 1 Derajad keanggotaan 1


Untuk nilai Untuk yg dekat dengan
dekat dengan pusat pusat lonceng antara (b,c)
lonceng antara (b,c). dengan beberapa
anggota bernilai 1.
• Ada 3 macam himpunan lonceng: PI, BETA, GAUSS
PI: pusat domain (gamma), lebar kurva (beta)
Operator HIMPUNAN
• 3 tipe dasar Zadeh :
– Interseksi
– Union
– Komplemen
• Karena himpunan fuzzy tidak dapat dibagi dengan
tepat seperti himpunan crisp, maka operasi –
operasi ini diaplikasikan pada tingkat
keanggotaan.
• Selain operasi dasar zadeh ada operasi non zadeh
dan pengganti yang lebih halus lagi
Suatu Elemen dikatakan Anggota
himpunan Fuzzy bila:

• Berada pada domain himpunan tersebut


• Nilai kebenaran kanggotaannya >= 0
• Berada diatas ambang α-cut yang berlaku
UNION DASAR ZADEH

IF x is A THEN z is C
IF y is B THEN z is C

IF x is A OR y is B THEN z is C
KOMPLEMEN DASAR ZADEH
µA’ = 1 - µA[x]
INTERSEKSI NON ZADEH DAN PENGGANTI
• µ A irisan B = µA*B = gAND (µA[x], µB[y],k]

• Fungsi g adalah operator kias (k = tipe operasi aljabar)


=> mean, product, bounded sum, YAGER, SUGENO
Operator dan HEDGE secara linguistik
Korespondensi nilai linguistik dengan variabel
linguistik bisa berupa kata – kata yang
menyangatkan atau melemahkan suatu nilai
linguistik:

• SANGAT ( mis: x sangat TINGGI)


• AGAK
• PADA UMUMNYA
Operator HEDGE
• Sangat
µsangat a[x] = (µA[x])^n dengan n>1
• Agak
µagak A[x] = (µA[x]) ^(1/n) dengan n>1
• Pada Umumnya (mengurangi nilai fungsi kebenaran
diatas [0,5] dan menaikkan semua nilai kebenaran
dibawah [0,5].

0,5 (µtinggi [x])^ ½ ; µtinggi [x] >=0,5


µ PADAUMUMNYA TINGGI[X] =
1 – 0,5(µtinggi[x]1/2 ; µtinggi[x] <= 0,5
Salah satu software Logika Samar
Fitur Utama
• Fuzzy Logic Desain app untuk membangun sistem inferensi fuzzy dan
melihat dan menganalisis hasil
• Fungsi keanggotaan untuk menciptakan sistem inferensi fuzzy.
• Dukungan untuk logika AND, OR, dan NOT dalam aturan user-defined
• Sistem inferensi fuzzy Standar Mamdani dan Sugeno
• Fungsi keanggotaan otomatis membentuk melalui teknik pembelajaran
pengelompokan neuroadaptive dan FUZZY
• Kemampuan untuk menanamkan sistem inferensi fuzzy dalam model
Simulink
• Kemampuan untuk menghasilkan kode C embeddable atau mesin
inferensi executable Fuzzy
• Menyeimbangkan kutub chart bergerak. Sistem, yang mirip dengan
pendulum terbalik, menggunakan Controller blok Fuzzy dalam Simulink
untuk menyeimbangkan kutub.
Desain APP
Fungsi Keanggotaan
1. Trimf : fungsi ini berguna untuk membuat fungsi
keanggotaan dengan kurva segitiga
2. Trapmf: fungsi ini berguna untuk membuat fungsi
kanggotaan dengan kurva trapesium.
3. Gbellmf: fungsi ini berguna untuk membuat
fungsi keanggotaan dengan kurva trapesium.
4. Gaussmf: fungsi ini berguna untuk membuat
fungsi keanggotaan dengan kurva lonceng – gauss
5. Gauss2mf: merupakan kombinasi antara 2 kurva.
Kurva pertama disebelah kiri, dan daerah tengah
merupakan kumpulan anggota dengan derajad
keanggotaan 1 yang direpresentasikan dengan
garis datar. Parameter: sig1, c1, sig2, c2.
6. Pimf: grafik lonceng fungsi π, dengan parameter
a,b,c,d, dimana kurva kiri dengan lebar a – b,
kurva kanan c – d. dan garis lurus antara b – c
untuk anggota dengan derajad keanggotaan = 1.
f(x;a,b,c,d) = smf(x;a,b)*zmf(x,c,d)
7. Sigmf: fungsi ini berguna untuk membuat fungsi
keanggotaan dengan kurva sigmoid. Parameter =
a,c.
8. Smf : fungsi ini berguna untuk membuat fungsi
keanggotaan sigmoid denganparamater a,b, dimana a
terletak pada titik infleksi, dan b terletak pada puncak
kurva sigmoid menaik ini.
9. Zmf : fungsi ini berguna untuk membuat fungsi
keanggotaan sigmoid menurun.
10. Dsigmf: fungsi ini berguna untuk membuat fungsi
keanggotaan dengan kurva lonceng gabungan dua
kurva sigmoid dengan selisih = f1(x:a1,c1) – f2(x:a2,c2)
11. Psigmf: fungsi ini berguna untuk membuat fungsi
keanggotaan dengan kurva lonceng gabungan dua
kurva sigmoid dengan selisih = f1(x:a1,c1) * f2(x:a2,c2)
logika AND, OR, dan NOT
Sistem inferensi fuzzy Standar
Mamdani dan Sugeno
Input dari proses defuzzyfikasi adalah himpunan
fuzzy yang diperoleh dari aturan – aturan fuzzy ,
sedangkan outputnya adalah bilangan pada
domain pada himpunan fuzzy.
• MAMDANI:
• SUGENO
TAHAPAN MAMDANI
• Pemebentukan himpunan fuzzy
• Aplikasi fungsi implikasi
• Komposisi aturan
• Penegasan (defuzzyfikasi)
KOMPOSISI ATURAN MAMDANI
• METODE MAX
• METODE ADDITIVE (SUM)
• METODE PROBABILISTIK OR (PROBOR)
DEFUZZYFIKASI MAMDANI
• CENTROID: solusi diambil di titik pusat (z*)
• BISEKTOR: mengambil nilai pada domain fuzzy
dengan nilai separo dari jumlah total nilai
keanggotaan.
• MEAN OF MAXIMUM: mengambil nilai rata-rata
dari nilai keanggotaan maksimum.
• LARGEST OF MINIMUM: mengambil nilai terbesar
dari nilai keanggotaan maksimum.
• SMALLEST OF MAXIMUM: mengambil nilai
terkecil dari domain dengan nilai maksimum.
SUGENO
Output sistem tidak berupa himpunan fuzzy,
melainkan berupa konstanta atau persamaan
linear.
1. Orde-nol : min /max
2. Orde-satu :* product

Apabila komposisi aturan menggunakan


SUGENO, maka defuzzifikasi dilakukan dengan
cara mencari nilai rata-ratanya.
Contoh
• Rancangan Fuzzy Inference System untuk
kasus penentuan bonus pegawai restoran
berdasarkan pelayanan dan masakan yang
disajikan.
• Menggunakan rule MAMDANI dan logika yang
tepat
Output
Rule EDITOR
VIEW SURFACE
VIEW RULES
Memanggil kembali
Mengevaluasi

Hasil defuzzifikasi dengan variabel OUT, adalah 7.4928 yang jika dibandingkan dengan
skala 10 masih dibilang buruk. Karena itu perlu pelatihan menggunakan ANFIS
ANFIS
ADAPTIVE FUZZY INFERENCE SYSTEM (ANFIS)
• ANFIS membentuk rule dengan proses
pembelajaran.
• Teknik yang digunakan bisa berupa propagasi
balik saja, atau digabung dengan metode
kuadrat terkecil (least square)
• Fungsi keanggotaan sama dengan FIS
• Keberhasilan sistem ditentukan oleh data yang
menjadi sumber pembelajaran.
• Data yang dimasukkan kedalam editor ANFIS
adalah matriks masukan dan target sekaligus.
Misal
• Bila kita merancang ANFIS dengan dua masukan
dengan satu keluaran, maka data yang masukkan
ke editor ANFIS harus berupa matriks dengan tiga
kolom.
• Kolom pertama merupakan data input pertama,
• Kolom kedua merupakan data input kedua,
• Kolom ketiga merupakan target yang sesuai
keinginan kita.
• Jumlah baris merupakan jumlah data yang akan
dilatih, makin lengkap makin baik.
Pada kasus pemberian TIPS
• Jalankan program MATLAB
• Ketik ANFISEDIT. Tapi sebelumnya pastikan
kita bekerja pada folder yang sama dengan
data yang akan di latih.
• Buatlah matrik data yang akan dilatih. Contoh:
train_data =
000
101
011
213
224
123
303
314
325
415
145
516
527
538
549
5 5 10
• Klik tombol rado worksp yang artinya kita akan
mengambil data dari workspace command
window.
• klik Load data
• Ketik train_data
• OK
• Bila data berasal dari excel, maka copas ke
notepad kemudian disimpan dalam bentuk
DAT.
• Klik train NOW
• Pilih grid partition -> generate FIS
• Pilih gbellmf tentang tipe fungsi keanggotaan.
• Klik OK
• Bila klik structure akan terpampang informasi
neuron pada anfis
• Untuk memperjelas FIS hasil training, buka FIS
hasil training dengan mengetik pada
command window = fuzzy [namafile]
• Kemudian kita uji dengan nilai, ketik
fis=readfis(‘namafile’)
• Out=evalfis([1,1],fis)
Praktek
Train Data
Hasil train data
Memasukkan MF dari tiap input
Training error
Klik test NOW
Klik structure
Uji fuzzy inference System
Uji dengan nilai
Artinya, hasil FIS ini sudah
mendekati nilai yang kita
inginkan, dengan kata lain =
akurat.

Anda mungkin juga menyukai