Anda di halaman 1dari 10

Artificial Intelligence

Fuzzy Logic
Metode Mamdani

Nama : Chintya Ang


NIM : 2155301027
Kelas : 2 TI A
Dosen Pengampu : Dr. Juni Nurma Sari, S.Kom., M.MT

Program Studi Teknik Informatika


Politeknik Caltex Riau
T.A 2022/2023
Metode Mamdani

1. Teori
Metode Mamdani adalah salah satu jenis Fuzzy Inference System (FIS) yang
digunakan dalam logika fuzzy. Metode Mamdani pertama kali diperkenalkan oleh
Ebrahim Mamdani, seorang peneliti Inggris, pada tahun 1975 dalam sebuah makalah yang
berjudul "Application of Fuzzy Algorithms for Control of Simple Dynamic Plant".
Metode ini digunakan untuk memetakan input fuzzy ke dalam output fuzzy dengan
menggunakan aturan-aturan fuzzy. Aturan-aturan ini berupa kumpulan himpunan fuzzy
pada input dan output yang disusun dalam bentuk IF-THEN.
Pada metode Mamdani, input dan output didefinisikan dalam bentuk himpunan fuzzy,
dimana setiap himpunan fuzzy memiliki fungsi keanggotaan yang menentukan seberapa
kuat suatu nilai masuk ke dalam himpunan fuzzy tersebut. Kemudian, aturan-aturan IF-
THEN diterapkan pada himpunan fuzzy input untuk menghasilkan himpunan fuzzy output.
Setiap aturan IF-THEN memiliki konsekuensi fuzzy yang merepresentasikan himpunan
fuzzy output.
Setelah itu, himpunan fuzzy output tersebut digabungkan untuk menghasilkan suatu
fungsi keanggotaan output yang merepresentasikan nilai output yang diperoleh. Fungsi
keanggotaan output tersebut dapat dikonversi menjadi nilai crisp (nilai eksak atau
numerik) dengan menggunakan metode defuzzifikasi. Metode Mamdani sering digunakan
dalam berbagai aplikasi seperti kendali mesin, sistem keputusan, pengenalan pola, dan lain
sebagainya.

2. Contoh Kasus : Mesin Cuci Otomatis


Sebuah pabrik mesin cuci akan membuat sebuah mesin cuci otomatis berbasis fuzzy yang
dapat mengatur kecepatan putar mesin berdasarkan banyaknya pakaian dan tingkat
kekotoran. Mesin cuci telah dilengkapi dengan sensor yang dapat mendeteksi banyaknya
pakaian dan tingkat kekotoran pakaian. Spesifikasinya sebagai berikut :
• Kecepatan putar mesin dalam pencucian minimal 500 rpm (lambat) dan maksimal
1200 rpm (cepat).
• Banyaknya pakaian dinyatakan dengan nilai 0-100 yang mana nilai <= 40 termasuk
sedikit dan >= 80 termasuk banyak.
• Tingkat kekotoran dinyatakan dengan nilai 0-100 yang mana nilai 0-40 adalah
rendah, 50 adalah sedang, dan 60-100 adalah tinggi.
Berdasarkan berbagai pengujian terhadap prototype mesin, diperoleh aturan sebagai
berikut :
• [R1] Jika pakaian sedikit dan kekotoran rendah, maka putaran lambat.
• [R2] Jika pakaian sedikit dan kekotoran sedang, maka putaran lambat.
• [R3] Jika pakaian sedikit dan kekotoran tinggi, maka putaran cepat.
• [R4] Jika pakaian banyak dan kekotoran rendah, maka putaran lambat.
• [R5] Jika pakaian banyak dan kekotoran sedang, maka putaran cepat.
• [R6] Jika pakaian banyak dan kekotoran tinggi, maka putaran cepat.
Berapa rpm kecepatan putar yang harus dihasilkan mesin jika pada proses pencucian
ternyata banyaknya pakaian bernilai 50 dan tingkat kekotoran bernilai 58?

Pembahasan :

(1) Fuzzifikasi
a. Variabel 1 : Banyaknya pakaian

0 ; 𝑥 ≥ 80
80 − 𝑥
𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (𝑥) = { ; 40 ≤ 𝑥 ≤ 80
80 − 40
1 ; 𝑥 ≤ 40
0 ; 𝑥 ≤ 40
𝑥 − 40
𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (𝑥) = { ; 40 ≤ 𝑥 ≤ 80
80 − 40
1 ; 𝑥 ≥ 80
Maka derajat keanggotaan untuk banyaknya pakaian = 50 yaitu :
80 − 50 30
𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (50) = = = 0,75
80 − 40 40
50 − 40 10
𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (50) = = = 0,25
80 − 40 40
b. Variabel 2 : Tingkat kekotoran

0 ; 𝑥 ≥ 50
50 − 𝑥
𝜇𝑟𝑒𝑛𝑑𝑎ℎ (𝑥) = { ; 40 ≤ 𝑥 ≤ 50
50 − 40
1 ; 𝑥 ≤ 40
0 ; 𝑥 ≤ 40 𝑜𝑟 𝑥 ≥ 60
𝑥 − 40
; 40 ≤ 𝑥 ≤ 50
𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (𝑥) = 50 − 40
60 − 𝑥
{60 − 60 ; 50 ≤ 𝑥 ≤ 60
0 ; 𝑥 ≤ 50
𝑥 − 50
𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (𝑥) = { ; 50 ≤ 𝑥 ≤ 60
60 − 50
1 ; 𝑥 ≥ 60
Maka derajat keanggotaan untuk tingkat kekotoran = 58 yaitu :
𝜇𝑟𝑒𝑛𝑑𝑎ℎ (58) = 0
60 − 58 2
𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (58) = = = 0,20
60 − 50 10
58 − 50 8
𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (58) = = = 0,80
60 − 50 10
c. Variabel 3 : Kecepatan putaran

0 ; 𝑧 ≥ 1200
1200 − 𝑧
𝜇𝑙𝑎𝑚𝑏𝑎𝑡 (𝑧) = { ; 500 ≤ 𝑧 ≤ 1200
1200 − 500
1 ; 𝑧 ≤ 500
0 ; 𝑧 ≤ 500
𝑧 − 500
𝜇𝑐𝑒𝑝𝑎𝑡 (𝑧) = { ; 500 ≤ 𝑧 ≤ 1200
1200 − 500
1 ; 𝑧 ≥ 1200
(2) Inferensi
a. [R1] Jika pakaian sedikit dan kekotoran rendah, maka putaran lambat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡1 = 𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (𝑥) ∩ 𝜇𝑟𝑒𝑛𝑑𝑎ℎ (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡1 = min (𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (50) ; 𝜇𝑟𝑒𝑛𝑑𝑎ℎ (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡1 = min (0,75 ; 0)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡1 = 0

b. [R2] Jika pakaian sedikit dan kekotoran sedang, maka putaran lambat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡2 = 𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (𝑥) ∩ 𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡2 = min (𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (50) ; 𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡2 = min (0,75 ; 0,20)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡2 = 0,20

c. [R3] Jika pakaian sedikit dan kekotoran tinggi, maka putaran cepat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡3 = 𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (𝑥) ∩ 𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡3 = min (𝜇𝑠𝑒𝑑𝑖𝑘𝑖𝑡 (50) ; 𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡3 = min (0,75 ; 0,80)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡3 = 0,75

d. [R4] Jika pakaian banyak dan kekotoran rendah, maka putaran lambat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡4 = 𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (𝑥) ∩ 𝜇𝑟𝑒𝑛𝑑𝑎ℎ (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡4 = min (𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (50) ; 𝜇𝑟𝑒𝑛𝑑𝑎ℎ (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡4 = min (0,25 ; 0)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡4 = 0

e. [R5] Jika pakaian banyak dan kekotoran sedang, maka putaran cepat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = 𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (𝑥) ∩ 𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = min (𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (50) ; 𝜇𝑠𝑒𝑑𝑎𝑛𝑔 (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = min (0,25 ; 0,20)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = 0,20

f. [R6] Jika pakaian banyak dan kekotoran tinggi, maka putaran cepat.
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = 𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (𝑥) ∩ 𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (𝑥)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = min (𝜇𝑏𝑎𝑛𝑦𝑎𝑘 (50) ; 𝜇𝑡𝑖𝑛𝑔𝑔𝑖 (58))
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = min (0,25 ; 0,80)
∝𝑝𝑟𝑒𝑑𝑖𝑘𝑎𝑡5 = 0,25
▪ Mamdani menggunakan komposisi aturan dengan fungsi MAX.
Setiap variabel linguistik dikelompokkan berdasarkan variabel linguistiknya, maka
didapatkan :
Kelompok lambat : R1, R2, R4
Kelompok cepat : R3, R5, R6
Kemudian, dengan fungsi MAX, pilih rule yang memiliki derajat keanggotaan
tertinggi untuk setiap variabel linguistik, sehingga aturan yang digunakan yaitu R2
dan R3, sementara aturan lainnya akan diabaikan.

▪ Gabungkan grafik keanggotaan yang tertinggi dari setiap variabel linguisitk.


▪ Untuk menghitung nilai z, tentukan terlebih dahulu titik perpotongan t1 dan t2.

Nilai t1
𝑡1 − 500
= 0,20
1200 − 500
𝑡1 = (0,2 ∗ 700) + 500 = 640
Nilai t2
𝑡2 − 500
= 0,75
1200 − 500
𝑡2 = (0,2 ∗ 700) + 500 = 1025
▪ Tentukan fungsi himpunan fuzzy yang baru berdasarkan hasil kurva
penggabungan.
0,20 ; 𝑧 ≤ 640
𝑧 − 500
𝜇(𝑧) = { ; 640 ≤ 𝑧 ≤ 1025
1200 − 500
0,75 ; 𝑧 ≥ 1025
Titik potong t1 dan t2 akan membagi kurva menjadi 3 daerah yaitu D1, D2, dan D3
dengan luas masing-masing A1, A2, dan A3, serta momen M1, M2, dan M3.

(3) Defuzzifikasi
▪ Defuzzifikasi Mandani menggunakan Centroid
∫ 𝜇(𝑧)𝑧 𝑑𝑧 → Momen(M)
𝑧∗ =
∫ 𝜇(𝑧) 𝑑𝑧 → Luas (A)
▪ Menghitung Momen (M)
640
640
1
𝑀1 = ∫ 0,2𝑧 𝑑𝑧 = [0,2 ∗ 𝑧 2 ] = (0,1 ∗ 409600) − (0,1 ∗ 0)
2 0
0

𝑀1 = 40960

1025 1025
𝑧 − 500
𝑀2 = ∫ 𝑧 𝑑𝑧 = ∫ (0,0014𝑧 2 − 0,7143𝑧) 𝑑𝑧
1200 − 500
640 640

𝑀2 = 159037,083
1200
1200
1
𝑀3 = ∫ 0,75𝑧 𝑑𝑧 = [0,75 ∗ 𝑧 2 ]
2 1025
1025

𝑀3 = 146015,625

▪ Menghitung Luas (A)


Cara 1 :
640

𝐴1 = ∫ 0,2 𝑑𝑧 = (0,2 ∗ 640) − (0,2 ∗ 0)


0

𝐴1 = 128

1025
𝑧 − 500
𝐴2 = ∫ 𝑑𝑧
1200 − 500
640

𝐴2 = 182,875

1200

𝐴3 = ∫ 0,75 𝑑𝑧 = [0,75 ∗ 𝑧]1200


1025 = (0,75 ∗ 1200) − (0,75 ∗ 1025)
1025

𝐴3 = 131,25

Cara 2 :
𝐴1 = 𝑝𝑎𝑛𝑗𝑎𝑛𝑔 ∗ 𝑙𝑒𝑏𝑎𝑟 = 640 ∗ 0,2
𝐴1 = 128

1
𝐴2 = (𝑡1 + 𝑡2 ) ∗ (1025 − 640)
2
1
𝐴2 = (0,2 + 0,75) ∗ 385
2
𝐴2 = 182,875

𝐴3 = 𝑝𝑎𝑛𝑗𝑎𝑛𝑔 ∗ 𝑙𝑒𝑏𝑎𝑟 = (1200 − 1025) ∗ 0,75 = 175 ∗ 0,75


𝐴3 = 131,25
▪ Menghitung Z dengan Metode Centroid :
∫ 𝜇(𝑧)𝑧 𝑑𝑧 𝑀1 + 𝑀2 + 𝑀3
𝑧∗ = =
∫ 𝜇(𝑧) 𝑑𝑧 𝐴1 + 𝐴2 + 𝐴3
40960 + 159037,083 + 146015,625
𝑧∗ =
128 + 182,875 + 131,25
346012,708
𝑧∗ =
442,125
𝑧 ∗ = 782,613
▪ Jadi, jika banyaknya pakaian bernilai 50 dan tingkat kekotoran bernilai 58 maka
putaran mesin cuci adalah 782,613 ≈ 783

Sumber :
Youtube : Fuzzy Mamdani | Sistem Inferensi Fuzzy | Contoh Studi Kasus dan Langkah
Penyelesaiannya oleh Dr.Achmad Solichin
Available at : https://www.youtube.com/watch?v=fKueNI4kY6A

Anda mungkin juga menyukai