12/8/2014
FUZZY LOGIC TOOLBOX IN MATLAB (MAMDANI) Praktikum 10 Tim Asisten Praktikum Sistem Pakar
EXAMPLE Studi Permasalahan: Suatu Perusahaan akan melakukan perkiraan terhadap produksi suatu barang tiap bulan. Untuk menentukan jumlah barang yang diproduksi tersebut digunakan pendekatan fuzzy. Dalam kasus ini terdapat parameter masukan yaitu permintaan dan persediaan barang. Adapun parameter keluaran adalah jumlah barang yang akan diproduksi. Tabel 1 di bawah ini memperlihatkan variabel fuzzy yang akan dibuat berikut domain permasalahanya.
1
12/8/2014
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY INFERENCING SYSTEM (2) Domain Variabel
Fungsi
Input
Output
Nama Variabel permintaan
Rentang Nilai [8 – 24]
persediaan
[30 – 60]
jumlah produksi
[10 – 25]
Keterangan jumlah permintaan per bulan per unit Jumlan persediaan per bulan per unit Kapasitas produksi barang
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY INFERENCING SYSTEM (3) Himpunan Fuzzy Fungsi
Variabel
Himpunan
Rentang
Sedikit Permintaan
Sedang Banyak
INPUT
[8 11 14] [8 – 24]
Sedikit Persediaan
Sedang Banyak
Jumlah_Produksi
[13 16 19] [18 21 24] [30 36 42]
[30 – 60]
Sedikit
OUTPUT
Domain
[38 45 50] [47 55 60] [10 10 14 20]
[10 – 25] Banyak
[17 21 25 25]
2
12/8/2014
RULE Berikut ini adalah aturan-aturan yang digunakan dalam Fuzzy Inference System (FIS) 1. IF permintaan sedikit AND persediaan sedikit THEN produksi sedikit 2. IF permintaan sedang AND persediaan sedikit THEN produksi sedikit 3. IF permintaan sedang AND persediaan banyak THEN produksi banyak 4. IF permintaan banyak AND persediaan sedikit THEN produksi sedikit 5. IF permintaan banyak AND persediaan sedang THEN produksi banyak 6. IF permintaan banyak AND persediaan banyak THEN produksi banyak
Tentukan jumlah barang yang harus diproduksi jika Permintaan 18 unit dan persediaan 38 unit Permintaaan 20 unit dan persedian 40 unit Permintaan 22 unit dan persedian 52 unit
3
12/8/2014
HOW TO RUN IT? Run Matlab ketikkan fuzzy pada command window
4
12/8/2014
HOW TO BUILD NEW FIS MAMDANI?
Select New Fis > Mamdani in the File menu
ADDING INPUT VARIABLE
Select Add variable… -> Input from the Edit menu
5
12/8/2014
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY INFERENCING SYSTEM (3) Himpunan Fuzzy Fungsi
Variabel
Himpunan
Rentang
Sedikit Permintaan
Sedang Banyak
INPUT
[8 11 14] [8 – 24]
Sedikit Persediaan
Sedang Banyak
Jumlah_Produksi
[13 16 19] [18 21 24] [30 36 42]
[30 – 60]
Sedikit
OUTPUT
Domain
[38 45 50] [47 55 60] [10 10 14 20]
[10 – 25] Banyak
[17 21 25 25]
6
12/8/2014
CHANGING INPUT AND OUTPUT NAME • • • • • •
Klik input1 Rename input1 menjadi permintaan, enter Klik input2 Rename input2 menjadi persediaan, enter Klik Output1 Rename output1 menjadi jumlah_produksi, enter
7
12/8/2014
EXPORT TO MATLAB WORKSPACE
From the File menu, select Export and then To Workspace...
Put the FIS name in the box Then push OK
8
12/8/2014
DEFINE THE MEMBERSHIP
FUNCTION
Open the Membership Function Editor by Select Membership function.. From the Edit menu
9
12/8/2014
Select the input variable, permintaan, by double-clicking on it. Set both the Range and the Display Range to the vector [8 24]. Select Add MFs... from the Edit menu. The window below pops open
10
12/8/2014
Use the pull-down tab to choose trimf for MF Type and 3 for Number of MFs. This adds three trigonal curves to the input variable service. Delete another MF, that will not be used, by
Select it Push Delete in your keyboard
11
12/8/2014
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY INFERENCING SYSTEM (3) Himpunan Fuzzy Fungsi
Variabel
Himpunan
Rentang
Sedikit Permintaan
Sedang Banyak
INPUT
[8 11 14] [8 – 24]
Sedikit Persediaan
Sedang Banyak
Jumlah_Produksi
[13 16 19] [18 21 24] [30 36 42]
[30 – 60]
Sedikit
OUTPUT
Domain
[38 45 50] [47 55 60] [10 10 14 20]
[10 – 25] Banyak
[17 21 25 25]
12
12/8/2014
PERMINTAAN ? •
•
•
Click once on the curve with the leftmost hump. Change the name of the curve to Sedikit. To adjust the shape of the membership function, type in a desired parameter change, and then click on the membership function. The default parameter listing for this curve is [8 11 14]. Name the curve with the middle hump, sedang, and the curve with the rightmost hump, banyak. Reset the associated parameters if desired.
13
12/8/2014
PERMINTAAN ?
PERSEDIAAN ?
14
12/8/2014
JUMLAH PRODUKSI ?
ADDING RULE
15
12/8/2014
RULE Berikut ini adalah aturan-aturan yang digunakan dalam Fuzzy Inference System (FIS) 1. IF permintaan sedikit AND persediaan sedikit THEN produksi sedikit 2. IF permintaan sedang AND persediaan sedikit THEN produksi sedikit 3. IF permintaan sedang AND persediaan banyak THEN produksi banyak 4. IF permintaan banyak AND persediaan sedikit THEN produksi sedikit 5. IF permintaan banyak AND persediaan sedang THEN produksi banyak 6. IF permintaan banyak AND persediaan banyak THEN produksi banyak
16
12/8/2014
INSERT ALL RULES
VIEW RULES
17
12/8/2014
18
12/8/2014
TESTING RULES Tentukan jumlah barang yang harus diproduksi jika Permintaan 18 unit dan persediaan 38 unit Permintaaan 20 unit dan persedian 40 unit Permintaan 22 unit dan persedian 52 unit
SURFACE VIEW
19
12/8/2014
TUGAS • • •
Diketahui tiga buah variabel Fuzzy A, B dan C A dan B sebagai Input dan C sebagai Output Deskripsi Representasi Himpuan Fuzzy dari ketiga variabel tersebut A
Mahal dengan kurva Trapezoidal (A;1200,1500,2000,2000) Sedang dengan kurva Triangle (A: 600,1000,1500) Murah dengan kurva Trapezoidal (A: 0,0,500,800)
Input B
Output
C
Enak dengan kurva Trapezoidal (B; 10,15,25,25) Kurang Enak dengan kurva Trapezoidal (B;5,8,12,15) Tidak Enak dengan kurva Trapezoidal (B;0,0,7,12) Besar dengan kurva Trapezoidal (C; 60,75,100,100) Sedang dengan kurva Trapezoidal (C;20,25,50,75) Kecil dengan kurva Trapezoidal (C;0,10,15,25)
ilkom.fmipa.ipb.ac.id
20
12/8/2014
TUGAS RULE R1 : Jika A adalah sedang dan B adalah enak maka C adalah besar R2 : Jika A adalah murah maka C adalah besar R3 : Jika A adalah sedang dan B adalah tidak enak maka C adalah sedang R4 : Jika A adalah mahal dan B adalah kurang enak maka C adalah sedang
TUGAS •
Tentukan nilai C jika diketahui nilai input sebagai berikut : a) b) c)
A = 1250 dan B = 13 A = 1400 dan B = 15 A = 700 dan B = 8
Tampilkan (screenshot yang FIS nya, mf dari masing2 variabel, rule, hasil tiap2 testing) dan jelaskan hasil testing untuk masing-masing input di atas. Kumpulkan hari ini di komputer depan Format file nama_nrp_praktikum10.doc Soal bonus, tuliskan saran untuk masing2 asisten
21