Anda di halaman 1dari 100

FUZZY LOGIC

Logika Samar

2/21/2020 yustia.hapsari@gmail.com 1
Prof.Lotfi A.Zadeh
Berkeley University 1965
Paper: “Fuzzy Set”

2/21/2020 yustia.hapsari@gmail.com 2
LOGIKA SAMAR
VS
LOGIKA TRADISIONAL
Istilah Dasar

2/21/2020 yustia.hapsari@gmail.com 3
Teori Dasar

Crisp Logic
 Crisp logic is concerned with absolutes-true or
false, there is no in-between.
 Contoh:
Rule:
If the temperature is higher than 80F, it is hot; otherwise,
it is not hot.
Kasus:
 Temperature = 100F Hot
 Temperature = 80.1F Hot
 Temperature = 79.9F Not hot
 Temperature = 50F Not hot

2/21/2020 yustia.hapsari@gmail.com 4
Fungsi Keanggotaan untuk crisp logic

True

HOT
False

0
80F Temperature

If temperature >= 80F, it is hot (1 or true);


If temperature < 80F, it is not hot (0 or false).
 Fungsi keanggotaan dari crisp logic gagal membedakan antar
member pada himpunan yang sama
 Ada problem-problem yang terlalu kompleks untuk didefinisikan
secara tepat
2/21/2020 yustia.hapsari@gmail.com 5
Bahasa Alami

Contoh:
Budi tinggi -- apa yg dimaksud tinggi?
Budi sangat tinggi -- apa bedanya dengan
tinggi?

Bahasa alami tidak mudah ditranslasikan


ke nilai absolut 0 and 1.

2/21/2020 yustia.hapsari@gmail.com 6
Fuzzy Logic

• Logical system yang mengikuti cara penalaran manusia yang


cenderung menggunakan ‘pendekatan’ dan bukan ‘eksak’
Sebuah pendekatan terhadap ketidakpastian yang mengkombinasikan
nilai real [0…1] dan operasi logika

Keuntungan Fuzzy:
• Mudah dimengerti
• Pemodelan matematik sederhana
• Toleransi data-data yang tidak tepat
• Dapat memodelkan fungsi-fungsi non liner yang kompleks
• Mengaplikasikan pengalaman tanpa proses pelatihan
• Didasarkan pada bahasa alami
2/21/2020 yustia.hapsari@gmail.com 7
Fuzzy vs Probabilitas

• Fuzzy  Probabilitas
• - Probabilitas berkaitan dengan ketidakmenentuan
dan kemungkinan
- Logika Fuzzy berkaitan dengan ambiguitas dan
ketidakjelasan
• Contoh 1:
Billy memiliki 10 jari kaki. Probabilitas Billy memiliki 9 jari kaki
adalah 0. Keanggotaan Fuzzy Billy pada himpunan orang
dengan 9 jari kaki  0

2/21/2020 yustia.hapsari@gmail.com 8
Fuzzy vs Probabilitas

 Contoh Kasus :
Ada seorang ilmuwan disekap di sebuah gudang
penyimpanan obat kimia. Karena sangat kehausan
maka ia mencari keberadaan air. Ilmuwan tersebut
hanya menemukan dua peti yang masing-masing peti
berisi 50 botol air mineral.
Pada peti pertama terdapat tulisan ‘Peringatan: 1
dari 50 botol ini berisi cairan kimia mematikan
yang warna dan rasanya sama dengan air mineral.
Anda akan mati seketika jika meminumnya’.

2/21/2020 yustia.hapsari@gmail.com 9
Fuzzy vs Probabilitas

Pada peti kedua terdapat tulisan ‘Peringatan: satu


plastik cairan kimia mematikan telah dicampurkan
ke dalam 50 botol ini secara tidak merata. Anda
tidak akan mati jika hanya meminum satu botol,
tetapi Anda akan mati jika meminum 50 botol
tersebut’.
Karena dehidrasi berat, ilmuwan tersebut
membutuhkan satu botol air mineral agar tetap
bertahan hidup. Jika Anda sebagai ilmuwan, Anda
akan mengambil sebotol minuman dari peti yang
mana?
2/21/2020 yustia.hapsari@gmail.com 10
Contoh: “Muda”

 Contoh:
Ann 28 tahun, 0.8 pd himp “Muda”
Bob 35 tahun, 0.1 pd himp “Muda”
Charlie 23 tahun, 1.0 pd himp “Muda”

 Tidak seperti statistik dan probabilitas, derajat tidak


menggambarkan probabilitas objek tersebut pada
himpunan, tetapi menggambarkan taraf/tingkat
keanggotaan objek pada himpunan

2/21/2020 yustia.hapsari@gmail.com 11
Fuzzy Set
Contoh:
Misalkan, x = {5, 10, 20, 30, 40, 50, 60, 70,
80} adalah crisp set Usia dalam satuan
tahun.
Balita, Dewasa, Muda, dan Tua adalah
empat fuzzy set yang merupakan subset
dari x.

2/21/2020 yustia.hapsari@gmail.com 12
Fuzzy Set
 Pada tabel tersebut terdapat 4 buah fuzzy
set dengan anggota dan derajat
keanggotaannya sebagai berikut:
Balita = {}
Dewasa = {20, 30, 40, 50, 60, 70, 80}, di mana
derajat keanggotaannya dinyatakan oleh Dewasa
= {0.8, 1, 1, 1, 1, 1, 1}.
Muda = {5, 10, 20, 30, 40, 50}, di mana derajat
keanggotaannya dinyatakan oleh muda = {1, 1,
0.8, 0.5, 0.2, 0.1}.
Tua = {20, 30, 40, 50, 60, 70, 80}, di mana
derajat keanggotaannya dinyatakan oleh Tua =
2/21/2020
{0.1, 0.2, 0.4,yustia.hapsari@gmail.com
0.6, 0.8, 1, 1}. 13
Fungsi Keanggotaan Logika Fuzzy

Fuzzy values
DOM
Degree of
Membership
Young Middle Old
1

0.5

0
25 40 55 Age

Nilai Fuzzy berasosiasi dengan derajat keanggotaan pada himpunan

2/21/2020 yustia.hapsari@gmail.com 14
Crisp set vs. Fuzzy set

A traditional crisp set A fuzzy set


2/21/2020 yustia.hapsari@gmail.com 15
Crisp set vs. Fuzzy set

2/21/2020 yustia.hapsari@gmail.com 16
Contoh: Crisp Set

Orang dengan tinggi 150cm maka ia


tergolong sedang (sedang[150]=1)
tinggi >= 185
sangat tinggi
Orang dengan tinggi 150cm maka ia
tergolong tidak tinggi (tinggi[150]=0)
185
tinggi Orang dengan tinggi 165cm kurang 2mm
165 <= tinggi < 185
maka ia tergolong tidak tinggi
165
(tinggi[165-2mm]=0)
145 <= tinggi < 165 sedang

145

120 <= tinggi < 145 pendek

120

tinggi < 120 sangat pendek

2/21/2020 yustia.hapsari@gmail.com 17
Contoh: Himpunan Fuzzy

tinggi >= 180


sangat tinggi

185

tinggi
160 <= tinggi < 185
165

140 <= tinggi < 165 sedang

145

115 <= tinggi < 145 pendek


120

tinggi < 120 sangat pendek

2/21/2020 yustia.hapsari@gmail.com 18
Istilah-Istilah
• Fuzzification: definisi dari himpunan fuzzy dan
penentuan derajat keanggotaan dari crisp input
pada sebuah himpunan fuzzy

• Inferensi: evaluasi kaidah/aturan/rule fuzzy


untuk menghasilkan output dari tiap rule

• Composisi: agregasi atau kombinasi dari


keluaran semua rule

• Defuzzification: perhitungan crisp output

2/21/2020 yustia.hapsari@gmail.com 19
Fuzzyfication (1)

Sangat Sangat
pendek Pendek Sedang Tinggi tinggi
1.0

115 120 140 145 160 165 180 185

 = [sp, p, s, t, st]

2/21/2020 yustia.hapsari@gmail.com 20
Fuzzyfication (2)

Sangat Sangat
pendek Pendek Sedang Tinggi tinggi
1.0

0.58
0.42

115 120 140 145 160 163 165 180 185

[163]= [0, 0, 0.42, 0.58, 0]


atau
sedang[163] = 0.42, tinggi[163] = 0.58
2/21/2020 yustia.hapsari@gmail.com 21
Membership Function
Himpunan Fuzzy
• Variabel Fuzzy
Variabel dalam suatu sistem fuzzy. Contoh : berat badan, tinggi badan, dsb
• Himpunan Fuzzy (Fuzzy set)
Himpunan fuzzy yang mewakili suatu kondisi pada suatu variabel fuzzy.
Contoh :
Variabel suhu terbagi menjadi 3 himpunan fuzzy, yaitu : panas, hangat, dingin.
Variabel nilai terbagi menjadi : tinggi, sedang, rendah

• Himpunan fuzzy memiliki 2 atribut, yaitu :


- Linguistik, yaitu penamaan suatu group yang mewakili suatu kondisi, misalnya
panas, hangat, dingin
- Numeris, yaitu ukuran dari suatu variabel seperti : 17,19, 21, 33, dst

• Himpunan Semesta
keseluruhan nilai yang boleh dioperasikan dalam suatu variabel fuzzy.
Contoh:
Semesta untuk variabel berat badan : [1, 150]
Semesta untuk variabel suhu : [0,100].
• Domain
Domain himpunan fuzzy adalah keseluruhan nilai yang diijinkan dalam Semesta dan boleh
dioperasikan dalam suatu himpunan fuzzy.
Contoh : DINGIN = [0,60]
HANGAT = [50,80]
2/21/2020 yustia.hapsari@gmail.com 22
PANAS = [80, +)
Fungsi Keanggotaan: Fungsi Linier

1.0 1.0

 

0 a b 0 a b
Domain Domain

Linier Naik Linier Turun

[x]= 0; x  a
[x]= (b-x)/(b-a); a  x  b
(x-a)/(b-a); a  x  b
0; x  b
1; x  b

2/21/2020 yustia.hapsari@gmail.com 23
Fungsi Keanggotaan: Segitiga

1.0

0 a b c
Segitiga
[x] = 0; x  a atau x  c
(x-a)/(b-a); a  x  b
(c-x)/(c-b); b  x  c

2/21/2020 yustia.hapsari@gmail.com 24
Fungsi Keanggotaan: Trapesium

1.0

0 a b c d
Trapesium

[x]= 0; x  a atau x  d
(x-a)/(b-a); a  x  b
1; b  x  c
(d-x)/(d-c); c  x  d

2/21/2020 yustia.hapsari@gmail.com 25
Fungsi Keanggotaan: Sigmoid

1.0

0 a b c
Sigmoid

[x;a,b,c]sigmoid = 0; x  a
2 ((x - a)/(c - a))2; a  x  b
1 - 2((c - x)/(c - a))2; b  x  c
1; x  c

2/21/2020 yustia.hapsari@gmail.com 26
Fungsi Keanggotaan: Phi

1.0

c-b c-b/2 c c+b/2 c+b


0
Phi

[x;a,b,c]phi = [x;c-b,c-b/2,c]sigmoid; x  c
[x;c,c+b/2,c+b]sigmoid; x > c

2/21/2020 yustia.hapsari@gmail.com 27
Operasi Fuzzy
OR (Union) – AND (Intersection)

 Fuzzy union (): union dari 2 himpunan adalah maksimum dari tiap
pasang elemen element pada kedua himpunan
 Contoh:
 A = {1.0, 0.20, 0.75}
 B = {0.2, 0.45, 0.50}
 A  B = {MAX(1.0, 0.2), MAX(0.20, 0.45), MAX(0.75, 0.50)}
= {1.0, 0.45, 0.75}
 Fuzzy intersection (): irisan dari 2 himpunan fuzzy adalah
minimum dari tiap pasang elemen pada kedua himpunan.
 contoh.
 A  B = {MIN(1.0, 0.2), MIN(0.20, 0.45), MIN(0.75, 0.50)} = {0.2,
0.20, 0.50}

2/21/2020 yustia.hapsari@gmail.com 28
Complement

 Komplemen dari variabel fuzzy dengan derajat


keanggotaan=x adalah (1-x).
 Komplemen ( _c): komplemen dari himpunan fuzzy
terdisi dari semua komplemen elemen.
 Contoh
Ac = {1 – 1.0, 1 – 0.2, 1 – 0.75} = {0.0, 0.8, 0.25}

2/21/2020 yustia.hapsari@gmail.com 29
Contoh

Nilai keanggotaan sebagai hasil dari operasi 2 himpunan: fire strength atau a-
predikat
Misalkan nilai keanggotaan IP 3.2 pada himpunan
AND
IPtinggi adalah 0.7 dan nilai keanggotaan 8 semester
pada himpunan LulusCepat adalah 0.8 maka a-predikat
AB [x] = min(A[x], B[x]) untuk IPtinggi dan LulusCepat:

IPtinggiLulusCepat = min(IPtinggi[3.2], LulusCepat[8])


= min(0.7,0.8) = 0.7
OR

AB [x] = max(A[x], B[x]) a-predikat untuk IPtinggi atau LulusCepat:

IPtinggiLulusCepat = max(IPtinggi[3.2], LulusCepat[8])


= max(0.7,0.8) = 0.8
NOT (Complement)

A’[x] = 1 - A[x] a-predikat untuk BUKAN IPtinggi :

IPtinggi‘ = 1 - IPtinggi[3.2] = 1 - 0.7 = 0.3


2/21/2020 yustia.hapsari@gmail.com 30
Fuzzy Expert Systems

 Pengantar
 Model Fuzzy Mamdani
 Model Fuzzy Sugeno
 Model Fuzzy Tsukamoto

2/21/2020 yustia.hapsari@gmail.com 31
Pengantar
Operasi dari sistem pakar fuzzy tergantung dari
eksekusi 4 fungsi utama:

• Fuzzifikasi dari variabel input


• Inferensi / evaluasi rules
• Komposisi / agregasi
• Defuzzifikasi

2/21/2020 yustia.hapsari@gmail.com 32
Istilah-Istilah
• Fuzzification: definisi dari himpunan fuzzy dan
penentuan derajat keanggotaan dari crisp input
pada sebuah himpunan fuzzy

• Inferensi: evaluasi kaidah/aturan/rule fuzzy


untuk menghasilkan output dari tiap rule

• Composisi: agregasi atau kombinasi dari


keluaran semua rule

• Defuzzification: perhitungan crisp output

2/21/2020 yustia.hapsari@gmail.com 33
Inference

Inference: melakukan penalaran


menggunakan fuzzy input dan fuzzy rules
yang telah ditentukan sehingga
menghasilkan fuzzy output.
Secara sintaks, suatu fuzzy rule (aturan
fuzzy) dituliskan sebagai:
IF antecendent THEN consequent
Terdapat dua model aturan fuzzy yang
digunakan secara luas dalam berbagai
2/21/2020 yustia.hapsari@gmail.com 34
aplikasi, yaitu:
Inference

Model Mamdani
Pada model ini, aturan fuzzy didefinisikan
sebagai:
IF x1 is A1 AND …AND xn is An THEN y is B

di mana A1, …, An, dan B adalah nilai-nilai


linguistik (atau fuzzy set) dan “x1 is A1”
menyatakan bahwa nilai x1 adalah anggota
fuzzy set A1.

2/21/2020 yustia.hapsari@gmail.com 35
Inference
 Model Sugeno
Model ini dikenal juga sebagai Takagi-Sugeno-
Kang (TSK) model, yaitu suatu varian dari
Model Mamdani.
Model ini menggunakan aturan yang
berbentuk:
IF x1 is A1 AND…AND xn is An THEN
y=f(x1,…,xn)

di mana f bisa sembarang fungsi dari variabel-


variabel input yang nilainya berada dalam
interval variabel output. Biasanya, fungsi ini
dibatasi dengan menyatakan f sebagai
kombinasi linier dari variabel-variabel input:
2/21/2020
f(x1,…,xn) = w0 + w1x1 + …+wnxn
yustia.hapsari@gmail.com 36
Defuzzification
 Defuzzification: mengubah fuzzy output menjadi crisp
value berdasarkan fungsi keanggotaan yang telah
ditentukan.
 Terdapat berbagai metode defuzzification yang telah
berhasil diaplikasikan untuk berbagai macam masalah,
di sini dibahas 5 metode di antaranya, yaitu:
Centroid method
Height method
First (or Last) of Maxima
Mean-Max method
Weighted Average
2/21/2020 yustia.hapsari@gmail.com 37
Defuzzification
 Centroid method:
 Metode ini disebut juga sebagai Center of Area atau Center of
Gravity.
 Metode ini menghitung nilai crisp menggunakan rumus:

di mana y* suatu nilai crisp.

 Fungsi integration dapat diganti dengan fungsi summation jika y


bernilai diskrit, sehingga menjadi:

di mana y* adalah nilai crisp dan R(y) adalah derajat


keanggotaan dari y.
2/21/2020 yustia.hapsari@gmail.com 38
Defuzzification

Height method
Metode ini dikenal sebagai prinsip
keanggotaan maksimum karena metode ini
secara sederhana memilih nilai crisp yang
memiliki derajat keanggotaan maksimum.
Oleh karena itu, metode ini hanya bisa dipakai
untuk fungsi keanggotaan yang memiliki
derajat keanggotaan 1 pada suatu nilai crisp
tunggal dan dan 0 pada semua nilai crisp yang
lain.
Fungsi seperti ini sering disebut sebagai
2/21/2020
singleton. yustia.hapsari@gmail.com 39
Defuzzification

First (or Last) of Maxima


Metode ini juga merupakan generalisasi dari
height method untuk kasus di mana fungsi
keanggotaan output memiliki lebih dari satu nilai
maksimum.
Sehingga nilai crisp yang digunakan adalah
salah satu dari nilai yang dihasilkan dari
maksimum pertama atau maksimum terakhir
(tergantung pada aplikasi yang akan dibangun).

2/21/2020 yustia.hapsari@gmail.com 40
Defuzzification

Mean-Max Method
Metode ini disebut juga sebagai Middle of
Maxima.
Merupakan generalisasi dari height method
untuk kasus di mana terdapat lebih dari satu
nilai crisp yang memiliki derajat keanggotaan
maksimum.
Sehingga y* didefinisikan sebagai titik tengah
antara nilai crisp terkecil dan nilai crisp terbesar

2/21/2020 yustia.hapsari@gmail.com 41
Defuzzification

Weighted Average
Metode ini mengambil nilai rata-rata dengan
menggunakan pembobotan berupa derajat
keanggotaan. Sehingga y* didefinisikan
sebagai:

di mana y adalah nilai crisp dan (y) adalah


derajat keanggotan dari nilai crisp y.
2/21/2020 yustia.hapsari@gmail.com 42
Studi kasus
 Teori tentang fuzzy set dan fuzzy logic banyak
digunakan untuk membangun sistem berbasis
aturan fuzzy untuk masalah kontrol, seperti
masalah sprinkler control system (sistem kontrol
penyiram air).
 Misalkan nilai crisp yang diterima oleh sensor
suhu adalah 370 C dan nilai crisp yang diterima
sensor kelembaban adalah 12%.
 Berapa lama durasi penyiraman yang harus
dilakukan?
2/21/2020 yustia.hapsari@gmail.com 43
Proses fuzzification
Misalkan, untuk suhu udara kita
menggunakan fungsi keanggotaan
trapesium dengan lima variabel
linguistik: Cold, Cool, Normal, Warm,
dan Hot

2/21/2020 yustia.hapsari@gmail.com 44
Dengan fungsi ini, maka crisp input
suhu 370 C dikonversi ke nilai fuzzy
dengan cara:
Suhu 370 C berada pada nilai linguistik Warm
dan Hot.
Semantik atau derajat keanggotaan untuk Warm
dihitung menggunakan rumus:
-(x-d)/(d-c), c< x  d
di mana c=36, dan d=39.
Sehingga derajat keanggotaan Warm=
-(37-39)/(39-36)=2/3
Derajat keanggotaan untuk Hot dihitung
menggunakan rumus (x-a)/(b-a), a < x < b, di
mana a=36, dan b=39.
2/21/2020
Sehingga yustia.hapsari@gmail.com
derajat keanggotaan untuk 45

Hot=(37-36)/(39-36)=1/3.
Misalkan, kita juga menggunakan
fungsi keanggotaan trapesium untuk
kelembaban tanah.

2/21/2020 yustia.hapsari@gmail.com 46
 Dengan fungsi ini, maka crisp input kelembaban 12%
dikonversi menjadi nilai fuzzy dengan cara berikut ini:
 Kelembaban 12% berada pada nilai linguistik Dry dan
Moist.
 Semantik atau derajat keanggotaan untuk Dry dihitung
menggunakan rumus:
 -(x-d)/(d-c), c < x  d
di mana c=10, dan d=20.
 Sehingga derajat keanggotaan untuk Dry adalah
-(12-20)/(20-10)=4/5.
 Derajat keanggotaan untuk Moist dihitung dengan
menggunakan rumus:
 (x-a)/(b-a), a < x < b
di mana a=10, dan b=20.
 Sehingga derajat keanggotaan Moist=(12-10)/(20-
10)=1/5.
2/21/2020 yustia.hapsari@gmail.com 47
Jadi, proses fuzzification
menghasilkan empat fuzzy input:
Suhu Udara = Warm (2/3) dan Hot(1/3)
Kelembaban tanah = Dry (4/5) dan
Moist(1/5).

2/21/2020 yustia.hapsari@gmail.com 48
Proses Inferensi
 Terdapat berbagai macam cara dalam menentukan aturan
fuzzy.
 Misalkan, untuk durasi penyiraman digunakan fungsi
keanggotaan trapesium dengan tiga nilai linguistik: Short,
Medium, dan Long.

2/21/2020 yustia.hapsari@gmail.com 49
Misalkan aturan fuzzy didefinisikan
sebagai berikut:

2/21/2020 yustia.hapsari@gmail.com 50
Dengan definisi aturan fuzzy tersebut,
didapatkan 3x5=15 aturan fuzzy, yaitu:
IF Suhu=Cold AND Kelembaban=Dry
THEN Durasi=Long
.
.
.
IF Suhu=Hot AND Kelembaban=wet THEN
Durasi=Short
Di sini akan dibahas penggunaan
inferensi menggunakan model
2/21/2020
Mandani dan Model Sugeno.
yustia.hapsari@gmail.com 51
Proses Inferensi menggunakan Model
Mamdani
 Jika menggunakan Model Mamdani, dapat digunakan dua
cara inferensi, yaitu clipping (alpha-cut) atau scaling.
 Metode yang paling umum digunakan adalah clipping
karena mudah diimplementasikan dan bila diagregasikan
dengan fungsi lain akan menghasilkan bentuk yang mudah
di-defuzzification.

2/21/2020 yustia.hapsari@gmail.com 52
Dari empat data fuzzy input tersebut,
Warm (2/3), Hot(1/3), Dry(4/5), dan
Moist(1/5), didapatkan empat aturan
(dari 15 aturan) yang dapat
diaplikasikan:
IF Suhu is Warm AND Kelembaban is Dry
THEN Durasi is Long
IF Suhu is Warm AND Kelembaban is
Moist THEN Durasi is Medium
IF Suhu is Hot AND Kelembaban is Dry
THEN Durasi is Long
IF Suhu is Hot AND Kelembaban is Moist
2/21/2020 yustia.hapsari@gmail.com 53
THEN Durasi is Medium
 Dari empat aturan fuzzy dan empat fuzzy input
tersebut, maka proses inferensi yang terjadi adalah
seperti di bawah ini.
 Gunakan aturan Conjunction () dengan memilih
derajat keanggotaan minimum dari nilai-nilai
linguistik yang dihubungkan oleh  dan lakukan
clipping pada fungsi keanggotaan trapesium untuk
Durasi Penyiraman, sehingga diperoleh:
IF Suhu is Warm (2/3) AND Kelembaban is Dry
(4/5) THEN Durasi is Long (2/3)
IF Suhu is Warm (2/3) AND Kelembaban is Moist
(1/5) THEN Durasi is Medium (1/5)
IF Suhu is Hot (1/3) AND Kelembaban is Dry
(4/5) THEN Durasi is Long (1/3)
IF Suhu is Hot (1/3) AND Kelembaban is Moist
2/21/2020
(1/5) THEN Durasi is Medium (1/5)
yustia.hapsari@gmail.com 54
 Gunakan aturan Disjunction () dengan
memilih derajat keanggotaan maksimum
dari nilai-nilai linguistik yang dihubungkan
oleh .
 Dari ‘Durasi is Long (2/3)  Durasi is Long
(1/3)’ dihasilkan ‘Durasi is Long (2/3)’.
 Sedangkan dari ‘Durasi is Medium (1/5) 
‘Durasi is Medium (1/5) dihasilkan ‘Durasi is
Medium (1/5) ‘
 Dengan demikian diperoleh dua pernyataan:
Durasi is Long (2/3), dan
2/21/2020
Durasi is Medium (1/5)
yustia.hapsari@gmail.com 55
 Proses inferensi menggunakan Model Mamdani menggunakan
proses clipping menghasilkan dua area abu-abu seperti gambar
berikut:

2/21/2020 yustia.hapsari@gmail.com 56
Proses Inference menggunakan Model
Sugeno

 Model Sugeno menggunakan fungsi keanggotaan yang lebih


sederhana dibandingkan Model Mamdani.
 Fungsi keanggotaan tersebut adalah Singleton, yaitu fungsi
keanggotaan yang memiliki derajat keanggotaan 1 pada suatu
nilai crisp tunggal dan 0 pada semua nilai crisp yang lain.
 Misalkan fungsi Singleton untuk Durasi Penyiraman
didefinisikan seperti gambar berikut:

2/21/2020 yustia.hapsari@gmail.com 57
2/21/2020 yustia.hapsari@gmail.com 58
Proses Defuzzification
Sebelum defuzzification, harus
dilakukan proses composition, yaitu
agregasi hasil clipping dari semua
aturan fuzzy sehingga didapatkan satu
fuzzy set tunggal.

2/21/2020 yustia.hapsari@gmail.com 59
Proses Defuzzification menggunakan
Model Mamdani

Proses composition dari dua fuzzy set,


Durasi is Medium (1/5) dan Durasi is
Long (2/3) menghasilkan satu fuzzy
set tunggal seperti berikut:

2/21/2020 yustia.hapsari@gmail.com 60
 Misalkan digunakan Centroid method untuk
proses defuzzification.
 Titik-titik pada area abu-abu ditentukan
secara acak sehingga akan didapatkan satu
titik pusat area (center of area atau center of
gravity).
 Misalkan titik-titik sembarang tersebut
adalah: 24, 28, 32, 36, 40, 48, 60, 70, 80,
90.

2/21/2020 yustia.hapsari@gmail.com 61
 Dengan menggunakan titik-titik tersebut dan
persamaan:

diperoleh hasil sebagai berikut:

 Jadi, dengan menggunakan Model Mamdani,


untuk Suhu Udara 370 C dan Kelembaban
Tanah 12%, sprinkle akan secara otomatis
menyiramkan air selama 60,97 menit.
2/21/2020 yustia.hapsari@gmail.com 62
Proses defuzzification dengan menggunakan
Model Sugeno
Proses composition dari dua fuzzy set,
Durasi is Medium (1/5) dan Durasi is
Long (2/3), menghasilkan satu fuzzy
set tunggal yang ditunjukkan pada
gambar berikut:

2/21/2020 yustia.hapsari@gmail.com 63
 Jika untuk proses defuzzification digunakan Height Method,
maka dari dua fuzzy set, Medium (1/5) dan Long (2/3),
dipilih nilai maksimumnya yaitu Long (2/3).
 Karena nilai crisp untuk Long adalah 60, maka proses
defuzzification menghasilkan nilai crisp sebesar 60.
 Dengan demikian, Durasi Penyiraman adalah 60 menit.
 Jika menggunakan Weighted Average untuk proses
defuzzification diperoleh hasil:

 Dengan demikian, jika menggunakan Model Sugeno


dengan defuzzification berupa Weighted Average, maka
Durasi Penyiraman adalah 55,38 menit.

2/21/2020 yustia.hapsari@gmail.com 64
Latihan Soal
 Teori tentang fuzzy set dan fuzzy logic banyak
digunakan untuk membangun sistem berbasis
aturan fuzzy untuk masalah kontrol, seperti
masalah sprinkler control system (sistem kontrol
penyiram air).
 Misalkan nilai crisp yang diterima oleh sensor
suhu adalah 250 C dan nilai crisp yang diterima
sensor kelembaban adalah 60%.
 Berapa lama durasi penyiraman yang harus
dilakukan (Methode Mamdani dan Sugeno) ?
2/21/2020 yustia.hapsari@gmail.com 65
Model Fuzzy Mamdani
Contoh: persoalan sederhana dengan 2 input,1 output
dan 3 rules
Rule: 1 Rule: 1
IF x is A3 IF project_funding is adequate
OR y is B1 OR project_staffing is small
THEN z is C1 THEN risk is low

Rule: 2 Rule: 2
IF x is A2 IF project_funding is marginal
AND y is B2 AND project_staffing is large
THEN z is C2 THEN risk is normal

Rule: 3 Rule: 3
IF x is A1 IF project_funding is inadequate
THEN z is C3 THEN risk is high

2/21/2020 yustia.hapsari@gmail.com 66
Mamdani fuzzy inference
Fuzzifikasi: menentukan derajat keanggotaan
input x1 dan y1 pada himpunan fuzzy

Crisp Input Crisp Input


x1 y1

1 1 B1 B2
A1 A2 A3 0.7
0.5
0.2 0.1
0 0
x1 X y1 Y
 (x = A1) = 0.5  (y = B1) = 0.1
 (x = A2) = 0.2  (y = B2) = 0.7

2/21/2020 yustia.hapsari@gmail.com 67
Model Fuzzy Mamdani
Inferensi: apikasikan fuzzified inputs, (x=A1) =
0.5,
(x=A2) = 0.2, (y=B1) = 0.1 and (y=B2) = 0.7, ke
anteseden dari aturan fuzzy

Untuk aturan fuzzy dengan anteseden lebih dari 1,


operator fuzzy (AND atau OR) digunakan untuk
mencapai sebuah nilai tunggal yang merepresentasikan
hasil rule fuzzy. Nilai ini kemudian diaplikasikan ke
fungsi keanggotaan konsekuen

2/21/2020 yustia.hapsari@gmail.com 68
Model Fuzzy Mamdani
1 1 1
A3 B1 C1 C2 C3
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 Z
Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is C1 (0.1)
1 1 1
0.7
C1 C2 C3
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is C2 (0.2)
1 1
A1 0.5 0.5 C1 C2 C3

0 x1 X 0 Z
Rule 3: IF x is A1 (0.5) THEN z is C3 (0.5)
2/21/2020 yustia.hapsari@gmail.com 69
Model Fuzzy Mamdani
Dua teknik yang umum digunakan untuk mengaplikasikan hasil
evaluasi anteseden ke fungsi keanggotaan konsekuen:
Degree of Degree of
Membership Membership
1.0 1.0

C2 C2

0.2 0.2

0.0 0.0
Z Z
clipping scaling

2/21/2020 yustia.hapsari@gmail.com 70
Model Fuzzy Mamdani
Composisi: agregasi keluaran semua rule ke dalam
himpunan fuzzy tunggal.

1 1 1
C1 C2 C3
0.5 0.5
0.2 0.2
0.1 0.1
0 Z 0 Z 0 Z 0 Z
z is C 1 (0.1) z is C 2 (0.2) z is C 3 (0.5) 

2/21/2020 yustia.hapsari@gmail.com 71
Model Fuzzy Mamdani
Defuzzifikasi: konversi dari himpunan fuzzy yang
dihasilkan dari komposisi ke dalam crisp value.

Teknik yang paling populer adalah centroid


technique. Metoda ini mencari centre of gravity
(COG) dari aggregate set:

  x  x dx
A

COG  a
b

  x  dx
a
A

2/21/2020 yustia.hapsari@gmail.com 72
Model Fuzzy Mamdani
Centre of gravity (COG): mencari titik yang membagi
area solusi menjadi 2 bagian yang sama

(0  10  20)  0.1  (30  40  50  60)  0.2  (70  80  90  100)  0.5


COG   67.4
0.1  0.1  0.1  0.2  0.2  0.2  0.2  0.5  0.5  0.5  0.5

Degree of
Membership
1.0

0.8
0.6
0.4

0.2
0.0
0 10 20 30 40 50 60 70 80 90 100
67.4 Z

2/21/2020 yustia.hapsari@gmail.com 73
Model Fuzzy Sugeno
Inferensi Mamdani tidak efisien karena melibatkan proses
pencarian centroid dari area 2 dimensi.

Michio Sugeno mengusulkan penggunaan singleton sebagai


fungsi keanggotaan dari konsekuen. Singleton adalah sebuah
himpunan fuzzy dengan fungsi keanggotaan: pada titik tertentu
mempunyai sebuah nilai dan 0 di luar titik tersebut.

2/21/2020 yustia.hapsari@gmail.com 74
Model Fuzzy Sugeno
Perbedaan antara Mamdani dan Sugeno ada pada konsekuen.
Sugeno menggunakan konstanta atau fungsi matematika dari
variabel input:

IF x is A IF x is A
AND y is B AND y is B
THEN z is f(x, y) THEN z is k

dimana x, y dan z adalah variabel linguistik; A dan B himpunan


fuzzy untuk X dan Y, dan f(x, y) adalah fungsi matematik.

2/21/2020 yustia.hapsari@gmail.com 75
Model Fuzzy Sugeno
Evaluasi Rule
1 1 1
A3 B1
0.1 OR 0.1
0.0
(max)
0 x1 X 0 y1 Y 0 k1 Z

Rule 1: IF x is A3 (0.0) OR y is B1 (0.1) THEN z is k1 (0.1)


1 1 1
0.7
A2 0.2 B2 AND 0.2
(min)
0 x1 X 0 y1 Y 0 k2 Z
Rule 2: IF x is A2 (0.2) AND y is B2 (0.7) THEN z is k2 (0.2)
1 1
A1 0.5 0.5

0 x1 X 0 k3 Z
Rule 3: IF x is A1 (0.5) THEN z is k3 (0.5)
2/21/2020 yustia.hapsari@gmail.com 76
Model Fuzzy Sugeno
Komposisi
1 1 1 1
0.5 0.5
0.2
0.1 0.2 0.1
0 k1 Z 0 k2 Z 0 k3 Z 0 k1 k2 k3 Z

z is k1 (0.1) z is k2 (0.2) z is k3 (0.5) 

2/21/2020 yustia.hapsari@gmail.com 77
Model Fuzzy Sugeno
Defuzzifikasi

0 z1 Z

Crisp Output
z1

Weighted average (WA):


(k1)  k1  (k 2)  k 2  (k 3)  k 3 0.1 20  0.2  50  0.5  80
WA    65
(k1)  (k 2)  (k 3) 0.1  0.2  0.5

2/21/2020 yustia.hapsari@gmail.com 78
Latihan Soal 2

Mengevaluasi kesehatan orang berdasarkan tinggi dan berat


badannya

Input: tinggi (161,5 cm) dan berat badan (41 Kg)


Output: kategori sehat
- sangat sehat (SS), index=0.8
- sehat (S), index=0.6
- agak sehat (AS), index=0.4
- tidak sehat (TS), index=0.2

2/21/2020 yustia.hapsari@gmail.com 79
L1: Fuzzification (1)

fungsi keanggotaan untuk tinggi


Sangat Sangat
pendek Pendek Sedang Tinggi tinggi
1.0
Ada 3 variabel fuzzy yang
dimodelkan: tinggi, berat,
sehat

0 115 120 140 145 160 165 180 185

fungsi keanggotaan untuk berat


Sangat Sangat
kurus Kurus Biasa Berat berat
1.0

0 40 45 50 55 60 65 80 85

2/21/2020 yustia.hapsari@gmail.com 80
L2: Rules Evaluation (1)
Tentukan rules
Tabel Kaidah Fuzzy
BERAT

Sangat Sangat
Kurus Biasa Berat
kurus berat

T Sangat
I pendek SS S AS TS TS
N
G Pendek S SS S AS TS
G
I Sedang AS SS SS AS TS
Tinggi TS S SS S TS
Sangat
tinggi TS AS SS S AS

Dalam bentuk if-then, contoh:


If sangat pendek dan sangat kurus then
sangat sehat

2/21/2020 yustia.hapsari@gmail.com 81
L2: Rules Evaluation (2)
Contoh: bagaimana kondisi kesehatan untuk orang dengan tinggi 161.5 cm dan
berat 41 kg?

Sangat Sangat
pendek Pendek Sedang Tinggi tinggi
1.0

0.7

0.3

0 115 120 140 145 160 165 180 185

sedang[161.5] = (165-161.5)/(165-160) = 0.7


tinggi[161.5] = (161.5-160)/(165-160) = 0.3

2/21/2020 yustia.hapsari@gmail.com 82
L2: Rules Evaluation (3)

Sangat Sangat
kurus Kurus Biasa Berat berat
1.0
0.8

0.2

0 40 45 55

sangatkurus[41] = (45-41)/(45-40) = 0.8


kurus[41] = (41-40)/(45-40) = 0.2

2/21/2020 yustia.hapsari@gmail.com 83
BERAT

Sangat
0.8 0.2 Biasa Berat
berat

T Sangat
I pendek SS S AS TS TS L2: Rules
N
G Pendek S SS S AS TS Evaluation (4)
G
I 0.7 AS SS SS AS TS
0.3 TS S SS S TS
Sangat
tinggi TS AS SS S AS

BERAT

Sangat
0.8 0.2 Biasa Berat
berat

Sangat
T pendek SS S AS TS TS
Pilih bobot minimum krn I
relasi AND N Pendek S SS S AS TS
G
G 0.7 0.7 0.2 SS AS TS
I
0.3 0.3 0.2 SS S TS
Sangat
tinggi TS AS SS S AS
2/21/2020 yustia.hapsari@gmail.com 84
L3: Defuzzification

Diperoleh:
f = {TS, AS, S, SS} = {0.3, 0.7, 0.2, 0.2}

Penentuan hasil akhir, ada 2 metoda:


1. Max method: index tertinggi 0.7
hasil Agak Sehat

2. Centroid method, dengan metoda Mamdani:


Decision Index = (0.3x0.2)+(0.7x0.4)+(0.2x0.6)+(0.2x0.8) /
(0.3+0.7+0.2+0.2)
= 0.574286
Crisp decision index = 0.574286
Fuzzy decision index: 95,7% sehat, 69,6% agak sehat

2/21/2020 yustia.hapsari@gmail.com 85
Summary
• Ada 4 tahapan utama sistem pakar fuzzy:
fuzzifikasi, inferensi, komposisi, defuzzifikasi.
• 2 metoda yang paling banyak dipakai: Mamdani
dan Sugeno.
• Metoda Mamdani menggunakan himpunan fuzzy
sebagai konsekuen rule, Metoda Sugeno
menggunakan fungsi matematik atau konstanta.
• Mamdani: komputasi lebih berat, human-like
inference, Sugeno: komputasi lebih efisien tetapi
kehilangan interpretabilitas linguistik.

2/21/2020 yustia.hapsari@gmail.com 86
Model Fuzzy Tsukamoto

 Karakteristik:
Konsekuen dari setiap aturan if-then fuzzy direpresentasikan
dengan himpunan fuzzy monoton

[EMD – Fuzzy Logic, 2004] Contoh:


Sebuah pabrik elektronik dapat berhasil mencapai permintaan
terbesar sebanyak 5000 barang/hari. Namun pernah pabrik
tersebut hanya mencapai permintaan barang sebanyak 1000
barang/hari. Persediaan barang di gudang dapat mencapai titik
tertinggi yaitu 600 barang/hari dan titik terendahnya 100
barang/hari. Dengan semua keterbatasannya, pabrik tersebut
dapat memproduksi barang maksimum 7000 barang/hari dan
minimalnya 2000 barang/hari. Apabila proses produksi pabrik
tersebut menggunakan aturan fuzzy sebagai berikut

2/21/2020 yustia.hapsari@gmail.com 87
Model Fuzzy Tsukamoto
[A1] IF Permintaan BANYAK And Persediaan BANYAK
THEN Produksi Barang BERTAMBAH ;
[A2] IF permintaan SEDIKIT And persediaan SEDIKIT
THEN Produksi Barang BERKURANG ;
[A3] IF Permintaan SEDIKIT And Persediaan BANYAK
THEN Produksi Barang BERKURANG ;
[A4] IF permintaan BANYAK And persediaan SEDIKIT
THEN Produksi Barang BERTAMBAH ;

Berapa barang elektronik tersebut harus diproduksi jika jumlah


permintaannya sebanyak 4000 barang dan persediaan di gudang
masih 300 barang ?

2/21/2020 yustia.hapsari@gmail.com 88
Studi Kasus Tsukamoto

Permintaan Pasar Mf1


1000 s/d 5000
Persediaan Barang Mf2
100 s/d 600
Kemampuan Produksi Mf3
2000 s/d 7000
If Mf1 4000 & Mf2 300 Then Mf3

2/21/2020 yustia.hapsari@gmail.com 89
Contoh (2)

Permintaan; terdiri atas 2 himpunan fuzzy, yaitu BANYAK dan SEDIKIT

[x]
SEDIKIT BANY AK
1

0.75

0.25

0
0 1000 4000 5000
Permintaan (barang/hari)

Nilai Keanggotaan :
PmtSEDIKIT[4000] = (5000-4000)/(5000-1000)
= 0.25
PmtBANYAK[4000] = (4000-1000)/ (5000-1000)
= 0.75
2/21/2020 yustia.hapsari@gmail.com 90
Contoh (3)
Persediaan; terdiri atas 2 himpunan fuzzy, yaitu BANYAK dan SEDIKIT

[x]
SEDIKIT BANY AK
1

0.6

0.4

0
0 100 300 600
Persediaan (barang/hari)

Nilai Keanggotaan :
PsdSEDIKIT[300] = (600-300)/(600-100)
= 0.6
PsdBANYAK[300] = (300-100)/(600-100)
= 0.4
2/21/2020 yustia.hapsari@gmail.com 91
Contoh (4)
Produksi Barang
[x]
BERKURANG BERTAMBAH
1

0
0 2000 7000
Produksi Barang (barang/hari)
Nilai Keanggotaan :
1, z  2000
 7000  z
 Pr BrgBERKURANG [ z ]   , 2000  z  7000
 7000  2000
0, z  7000
0 z  2000
 z  2000
 Pr BrgBERTAMBAH [ z ]   2000  z  7000
 7000  2000
1 z  7000
2/21/2020 yustia.hapsari@gmail.com 92
Contoh (5)
PERMINTAAN
B: 0.75 S: 0.25
PER
B: 0.4 Bertambah Berkurang
SE
DIAAN S: 0.6 Bertambah Berkurang

PERMINTAAN

B: 0.75 S: 0.25
PER
SE B: 0.4 0.4 0.25
DIAAN
S: 0.6 0.6 0.25

PERMINTAAN
B: 0.75 S: 0.25
PER B: 0.4 4000 5750
SE
DIAAN S: 0.6 5000 5750

2/21/2020 yustia.hapsari@gmail.com 93
Contoh (6)

Defuzzification: mencaria nilai z. Dapat dicari dengan metoda


centroid Tsukamoto :

a _ pred1 * Z1  a _ pred 2 * Z 2  a _ pred 3 * Z 3  a _ pred 4 * Z 4


Z
a _ pred1  a _ pred 2  a _ pred 3  a _ pred 4

0.4 * 4000  0.25 * 5750  0.25 * 5750  0.6 * 5000


Z
0.4  0.25  0.25  0.6

Z  4983

Jadi barang elektronik yang harus diproduksi sebanyak 4983

2/21/2020 yustia.hapsari@gmail.com 94
Aturan Fuzzy

If Mf1- And Mf2+ Then Mf3-


If Mf1- And Mf2- Then Mf3-
If Mf2+ And Mf2+ Then Mf3+
If Mf2+ And Mf2- Then Mf3+

 Z=(@1Z1+@2Z2+@3Z3+@4Z4)/(@1+@2+@3+@4)
 Jika Permintaan Pasar sebesar 4000 dan Persediaan ada 300 maka
proses produksi harus sebesar z (4983)

2/21/2020 yustia.hapsari@gmail.com 95
LATIHAN SOAL

2/21/2020 yustia.hapsari@gmail.com 96
Soal
Mengevaluasi mahasiswa berdasarkan GPA dan nilai
GRE

GRE Low Medium High


1.0

0 800 1200 1800 GRE

Fungsi Keanggotaan untuk GRE

2/21/2020 yustia.hapsari@gmail.com 97
Fungsi Keanggotaan untuk GPA

GPA Low Medium High


1.0

0 2.2 3.0 3.8 GPA

2/21/2020 yustia.hapsari@gmail.com 98
Soal

 P F G VG E
1.0

0 60 70 80 90 100
Decision

2/21/2020 yustia.hapsari@gmail.com 99
Soal
GRE

H M L
G
P
A H E VG F

M G G P

L F P P

2/21/2020 yustia.hapsari@gmail.com 100

Anda mungkin juga menyukai