Materi 8: Introduction to Fuzzy Logic I Nyoman Kusuma Wardana Sistem Komputer STMIK STIKOM Bali
Introduction to Fuzzy Logic
Kusuma Wardana, M.Sc.
2
Fuzzy berarti kabur, samar Istilah Logika Fuzzy diperkenalkan pd thn 1965 oleh Lofti A. Zadeh Logika Fuzzy dikenal sbg logika baru yang telah lama Contoh: menyatakan tinggi badan seseorang sangat bersifat relatif
Kusuma Wardana, M.Sc.
3
Berapakah tinggi badan sesorang sehingga dapat dikategorikan menjadi: pendek, sedang, atau tinggi?
Kusuma Wardana, M.Sc.
4
Introduction to Fuzzy Logic
Kusuma Wardana, M.Sc.
5
Amati pemetaan input ke output berikut: Ruang Input
?
Ruang Output
Kotak hitam dpt berupa: 1. Sistem Fuzzy 2. Jaringan Syaraf Tiruan 3. Persamaan Diferensial 4. dll Kusuma Wardana, M.Sc.
6
Himpunan Fuzzy memiliki dua atribut: Linguistik penamaan menggunakan bahasa alami, sprt: dingin, sejuk, hangat, dan panas Numeris pemberian nilai yg menunjukkan ukuran suatu variabel, sprt: 0, 15, 20, 30, 40, dsb
Kusuma Wardana, M.Sc.
7
Istilah2 dlm Sistem Fuzzy: Variabel Fuzzy Variabel yg akan dibahas. Contoh: Temperatur, Tinggi Badan, Umur Himpunan Fuzzy Bagian2 yg mewakili suatu kondisi dlm variabel fuzzy. Contoh: varibel umur, dpt dibagi mnjd 3 himpunan fuzzy: muda, paruh baya, dan tua Kusuma Wardana, M.Sc.
8
Semesta pembicaraan keseluruhan rentang nilai dlm suatu variabel fuzzy Contoh: Semesta umur [0 100] Domain nilai yg boleh dioperasikan dlm himpunan fuzzy Contoh: • muda = [0 45], • paruh baya = [35 55], • tua = [45 100] Kusuma Wardana, M.Sc.
9
Amati transisi musim dalam setahun, sbb:
Apakah dlm keadaan nyata batas2 transisi tsb jelas terlihat? Kusuma Wardana, M.Sc.
10
Transisi pergantian musim menunjukkan keadaan kabur dlm suatu siklus tahunan
Derajat keanggotaan berada antara 0 - 1 Kusuma Wardana, M.Sc.
11
Kusuma Wardana, M.Sc.
12
Kusuma Wardana, M.Sc.
13
Detail fungsi keanggotaan dpt dilihat di MATLAB Kusuma Wardana, M.Sc.
14
AND = nilai minimum, OR = nilai maksimum
Kusuma Wardana, M.Sc.
15
Merupakan rangkaian aturan yang membangun sistem fuzzy Sintaks: IF x is A THEN y is B Contoh: IF udara is panas THEN kecepatan kipas is besar
Kusuma Wardana, M.Sc.
16
Fuzzy inference (FI) adlh proses formulasi utk memetakan input ke output menggunakan logika fuzzy FI mencakup bbrp hal : o Membership functions, o logical operations, dan o If-Then rules
Kusuma Wardana, M.Sc.
17
Introduction to Fuzzy Logic
Kusuma Wardana, M.Sc.
18
Kasus: Karena hari ini Valentine, Romi ingin mengajak Juli dinner di suatu restoran. Sebelum berangkat dinner, Romi berpikir akan membagi kebahagiaannya pd malam ini kpd pelayan restoran dgn memberikan uang tip. Dia akan memberikan uang tip sebesar 525% dari total belanjanya. Besarnya uang tip akan dilihat dari tingkat Pelayanan (service) dan kualitas makanan (food) yg dihidangkan. Kusuma Wardana, M.Sc.
19
Pertanyaan: Bantulah Romi untuk memutuskan besarnya uang tip yang akan diberikan kepada pelayan restoran, jika setelah menikmati hidangan dan fasilitas pelayanan Romi memberi nilai, sbb: o Pelayanan = 7 o Makanan = 8 Ingat, kisaran uang tip adalah 5 – 25% Kusuma Wardana, M.Sc.
20
Adapun aturan pemberian tip yg ditetapkan oleh Romi adalah sebagai berikut:
Jika Pelayanan Jelek ATAU Makanan Tengik, maka Tip Rendah Jika Pelayanan Sedang, maka Tip Standar Jika Pelayanan Bagus ATAU Makanan Lezat, maka Tip Mahal
Kusuma Wardana, M.Sc.
21
Jawab: Tahapan FIS: 1. Membuat himpunan fuzzy dan input fuzzy 2. Menerapkan operator fuzzy 3. Menerapkan fungsi implikasi 4. Mengkomposisikan semua output 5. Defuzzyfication
Kusuma Wardana, M.Sc.
22
1.
Membuat Himpunan & Input Fuzzy Asumsikan kategori setiap varibel fuzzy, sbb: o Pelayanan: Jelek, Sedang & Bagus o Makanan: Tengik & Lezat o Tip : Murah, Standar & Mahal
Kusuma Wardana, M.Sc.
23
Input: Pelayanan
Kusuma Wardana, M.Sc.
24
Input: Makanan
Kusuma Wardana, M.Sc.
25
Output: % Uang Tip
Kusuma Wardana, M.Sc.
26
Input: Pelayanan = 7
? ?
Kusuma Wardana, M.Sc.
27
Amati fungsi keanggotaan trimf berikut:
b 𝑥−𝑎 𝑏−𝑎
𝑐−𝑥 𝑐−𝑏
0
0
c
a Kusuma Wardana, M.Sc.
28
Input: Pelayanan = 7 𝜇 𝑇_𝑆𝑒𝑑𝑎𝑛𝑔 =
𝑐1 − 𝑥 𝑐1 − 𝑏1
𝜇 𝑇_𝐵𝑎𝑔𝑢𝑠 =
b1
a1
𝑥 − 𝑎2 𝑏2 − 𝑎2
b2
a2 Kusuma Wardana, M.Sc.
c1 29
Input: Pelayanan = 7
𝜇 𝑇_𝑆𝑒𝑑𝑎𝑛𝑔 =
𝜇 𝑇_𝐵𝑎𝑔𝑢𝑠 =
𝑐1−𝒙 𝑐1−𝑏1
𝒙−𝑎2 𝑏2−𝑎2
=
=
9−𝟕 9−5
𝟕−6 10−6
2 4
= = 𝟎. 𝟓 1 4
= = 𝟎. 𝟐𝟓
Kusuma Wardana, M.Sc.
30
Input: Pelayanan = 7 Dengan demikian, kita bisa simpulkan himpunan fuzzy utk input pelayanan adlh sbb: o Himp. Fuzzy JELEK: μP_Jelek [7] = 0 o Himp. Fuzzy SEDANG: μP_Sedang[7] = 0.5 o Himp. Fuzzy BAGUS : μP_Bagus [7] = 0.25
Kusuma Wardana, M.Sc.
31
Amati fungsi keanggotaan trapmf berikut:
1
b
c
𝑥−𝑎 𝑏−𝑎
𝑑−𝑥 𝑑−𝑐
0
0
a
d Kusuma Wardana, M.Sc.
32
Input: Makanan = 8
𝜇 𝑇_𝐿𝑒𝑧𝑎𝑡
𝑥−𝑎 = 𝑏−𝑎
b
a 𝜇 𝑇_𝐿𝑒𝑧𝑎𝑡 =
𝒙−𝑎 𝑏−𝑎
=
8−𝟕 9−7
1 2
= = 𝟎. 𝟓
Kusuma Wardana, M.Sc.
33
Input: Makanan = 8 Dengan demikian, kita bisa simpulkan himpunan fuzzy utk input makanan adlh sbb: o Himp.
Fuzzy TENGIK: μP_Tengik [8] = 0 o Himp. Fuzzy LEZAT: μP_Lezat[8] = 0.5
Kusuma Wardana, M.Sc.
34
Jika kita kumpulkan semua input Pelayanan = 7 dan Makanan = 8, maka diperoleh: o Himp.
Fuzzy JELEK: μP_Jelek [7] = 0 o Himp. Fuzzy SEDANG: μP_Sedang[7] = 0.5 o Himp. Fuzzy BAGUS : μP_Bagus [7] = 0.25 o Himp. Fuzzy TENGIK: μP_Tengik [8] = 0 o Himp. Fuzzy LEZAT: μP_Lezat[8] = 0.5 Kusuma Wardana, M.Sc.
35
2. Menerapkan Operator Fuzzy Aturan ke-1 IF Pelayanan Jelek OR Makanan Tengik THEN Tip Murah α1 = max(μ P_Jelek[7], μ P_Tengik[8]) = max(0,0) =0 Aturan ke-2 IF Pelayanan Sedang THEN Tip Standar α2 = μ P_Sedang[7] = 0.5 Aturan ke-3 IF Pelayanan Bagus OR Makanan Lezat THEN Tip Mahal α3 = max(μ P_Bagus[7], μ P_Lezat[8]) = max(0.25, 0.5) = 0.5
3.
Merapkan Fungsi Implikasi Amati bahwa α1 = 0, α2 = 0.5 dan α3 = 0.5 Langkah selanjutnya adlh mencari nilai2 tsb di variabel output
Kusuma Wardana, M.Sc.
37
Selanjutnya, sesuaikan dgn output: IF Pelayanan Jelek OR Makanan Tengik THEN Tip Murah α1 = 0 IF Pelayanan Sedang THEN Tip Standar α2 = 0.5 IF Pelayanan Bagus OR Makanan Lezat THEN Tip Mahal α3 = 0.5
?
?
?
? 38
0, x a T_Murah , b a c x , c b 0, x a T_Standar , b a c x , c b 0, x a T_Mahal , b a c x , c b Kusuma Wardana, M.Sc.
x a atau
xc
a xb bxc x a atau
xc
a xb bxc x a atau
xc
a xb bxc 39
M_Murah
0, x 0 atau x 0 , 0 x5 5 0 10 x , 5 x 10 10 5
M_Standar
0, x 10 atau x 10 , 10 x 15 15 10 20 x , 15 x 20 20 15
x 10
x 20
0, x 20 atau x 30 x 20 M_Mahal , 20 x 25 25 20 30 x , 25 x 30 30 25
Kusuma Wardana, M.Sc.
40
Aturan ke-1 𝜶𝟏 = 𝟎 Tidak ada daerah hasil implikasi
Nilai alpha=0 tidak memotong daerah output. Jadi, tidak ada daerah hasil implikasi Kusuma Wardana, M.Sc.
41
Aturan ke-2 𝜶𝟐 = 𝟎. 𝟓 0.5 =
𝑥−10 15−10
→ 2.5 = 𝑥 − 10 → 𝒙 = 𝟏𝟐. 𝟓
Atau: 0.5 =
20−𝑥 20−15
→ 2.5 = 20 − 𝑥 → 𝒙 = 𝟏𝟕. 𝟓 Kusuma Wardana, M.Sc.
42
Aturan ke-3 𝜶𝟑 = 𝟎. 𝟓 0.5 =
𝑥−20 25−20
→ 2.5 = 𝑥 − 20 → 𝒙 = 𝟐𝟐. 𝟓
Atau: 0.5 =
30−𝑥 30−25
→ 2.5 = 30 − 𝑥 → 𝒙 = 𝟐𝟕. 𝟓 Kusuma Wardana, M.Sc.
43
4. Mengkomposisikan Semua Output
Kusuma Wardana, M.Sc.
44
SF[z]
0, x 10 , 15 10 0.5, 20 x , 20 15 x 20 25 20 , 0.5, 30 x , 30 25
x 10 atau
x 30
10 x 12.5 12.5 x 17.5 17.5 x 20 20 x 22.5 22.5 x 27.5 27.5 x 30 Kusuma Wardana, M.Sc.
45
5. Defuzzyfikasi Diperoleh dengan cara menghitung momen dan luas daerah hasil implikasi
Momen Luas daerah Kusuma Wardana, M.Sc.
46
Amati kembali daerah hasil komposisi:
0.5
1
2
12.5
Kusuma Wardana, M.Sc.
3
17.5
4
22.5
5
6 27.5
47
Hitunglah luas daerah hasil komposisi. Dlm hal ini menggunakan rumus luas segitiga dan luas persegi panjang
Kusuma Wardana, M.Sc.
48
𝐴1 =
(12.5−10)×0.5 2
= 0.625
𝐴2 = (17.5 − 12.5) × 0.5 = 2.5 𝐴3 = 𝐴4 =
(20−17.5)×0.5 2 (22.5−20)×0.5 2
= 0.625 = 0.625
𝐴5 = (27.5 − 22.5) × 0.5 = 2.5 𝐴6 =
(30−27.5)×0.5 2
= 0.625 Kusuma Wardana, M.Sc.
49
Sederhanakan fungsi komposisi:
SF[z]
0, x 10 , 15 10 0.5, 20 x , 20 15 x 20 25 20 , 0.5, 30 x , 30 25
x 10 atau x 30 10 x 12.5 12.5 x 17.5 17.5 x 20
SF[z]
20 x 22.5 22.5 x 27.5 27.5 x 30
Kusuma Wardana, M.Sc.
0, 0.2 x 2, 0.5, 4 0.2 x, 0.2 x 4, 0.5, 6 0.2 x,
x 10 atau x 30 10 x 12.5 12.5 x 17.5 17.5 x 20 20 x 22.5 22.5 x 27.5 27.5 x 30
50
Menghitung momen:
0.2 z 2z dz 0.2 z
12.5
M1
10
2
2 z dz 0.0667 z z 3
2 12.5 10
7.3
10
17.5
M2
12.5
0.5z dz 0.25 z
2 17.5 12.5
37.5
12.5
4 0.2 z z dz 4 z 0.2 z dz 2 z
20
M3
2
17.5
20 27.5
M5
2
0.0667 z
3 20 17.5
11.46
17.5
2 3 2 0 . 2 z 4 z dz 0 . 2 z 4 z dz 0 . 0667 z 2 z 20
22.5
M4
20
22.5
22.5
13.54
20
0.5z dz 0.25 z
2 27.5 22.5
62.5
22.5
6 0.2 z z dz 6 z 0.2 z dz 3z
30
M6
30
2
27.5
2
0.0667 z
3 30 27.5
17.7
27.5 Kusuma Wardana, M.Sc.
51
Menghitung titik pusat (centroid): ( M 1 M 2 M 3 M 4 M 5 M 6) z ( A1 A2 A3 A4 A5 A6) (7.3 37.5 11.46 13.54 62.5 17.7) (0.625 2.5 0.625 0.625 2.5 0.625) 150 7.5 20 *
Kusuma Wardana, M.Sc.
52
Dengan demikian, besarnya uang tip yang harus diberikan oleh Romi dengan penilaian Pelayanan = 7 dan Makanan = 8 adalah sebesar 20%
Kusuma Wardana, M.Sc.
53
Bandingkan hasilnya menggunakan MATLAB, sbb:
Kusuma Wardana, M.Sc.
54
Bentuk hasil inferensi terhadap semua jenis peluang nilai dari Makanan dan Pelayanan
Kusuma Wardana, M.Sc.
55
Wardana, I N.K. Pengantar Logika Fuzzy. Slide Kuliah Kontrol Cerdas. Teknik Fisika UGM Wardana, I N.K. Matematika Logika Fuzzy. Slide Kuliah Kontrol Cerdas. Teknik Fisika UGM Nasution H. 2002. An Introduction to Fuzzy Logic Controller, Mechanical Engineering Faculty of Industrial Technology Bung Hatta University, Padang. MATLAB Fuzzy Logic Toolbox Help Fuzzy Logic Systems. Control-systemsprinciples.co.uk. Kusumadewi. 2002. Analisis & Desain Sistem Fuzzy Menggunakan Toolbox Matlab. Graha Ilmu. Yogyakarta Kusuma Wardana, M.Sc.
56