fuzzy logic toolbox in matlab -...
TRANSCRIPT
12/8/2014
1
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.
12/8/2014
2
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY
INFERENCING SYSTEM (2)
Fungsi Nama Variabel Rentang
Nilai
Keterangan
Input
permintaan [8 – 24] jumlah permintaan per bulan
per unit
persediaan [30 – 60] Jumlan persediaan per bulan
per unit
Output jumlah produksi [10 – 25] Kapasitas produksi barang
Domain Variabel
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY
INFERENCING SYSTEM (3)
Fungsi Variabel Himpunan Rentang Domain
INPUT
Permintaan
Sedikit
[8 – 24]
[8 11 14]
Sedang [13 16 19]
Banyak [18 21 24]
Persediaan
Sedikit
[30 – 60]
[30 36 42]
Sedang [38 45 50]
Banyak [47 55 60]
OUTPUT
Jumlah_Produksi Sedikit
[10 – 25]
[10 10 14 20]
Banyak [17 21 25 25]
Himpunan Fuzzy
12/8/2014
3
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
12/8/2014
4
HOW TO RUN IT?
Run Matlab
ketikkan fuzzy pada command window
12/8/2014
5
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
12/8/2014
6
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY
INFERENCING SYSTEM (3)
Fungsi Variabel Himpunan Rentang Domain
INPUT
Permintaan
Sedikit
[8 – 24]
[8 11 14]
Sedang [13 16 19]
Banyak [18 21 24]
Persediaan
Sedikit
[30 – 60]
[30 36 42]
Sedang [38 45 50]
Banyak [47 55 60]
OUTPUT
Jumlah_Produksi Sedikit
[10 – 25]
[10 10 14 20]
Banyak [17 21 25 25]
Himpunan Fuzzy
12/8/2014
7
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
12/8/2014
8
EXPORT TO MATLAB WORKSPACE
From the File menu, select Export and then To
Workspace...
Put the FIS name in the box
Then push OK
12/8/2014
9
DEFINE THE MEMBERSHIP FUNCTION
Open the Membership Function Editor by Select
Membership function.. From the Edit menu
12/8/2014
10
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
12/8/2014
11
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
12/8/2014
12
EXAMPLE OF FUZZY IF-THEN RULES AND FUZZY
INFERENCING SYSTEM (3)
Fungsi Variabel Himpunan Rentang Domain
INPUT
Permintaan
Sedikit
[8 – 24]
[8 11 14]
Sedang [13 16 19]
Banyak [18 21 24]
Persediaan
Sedikit
[30 – 60]
[30 36 42]
Sedang [38 45 50]
Banyak [47 55 60]
OUTPUT
Jumlah_Produksi Sedikit
[10 – 25]
[10 10 14 20]
Banyak [17 21 25 25]
Himpunan Fuzzy
12/8/2014
13
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.
12/8/2014
14
PERMINTAAN ?
PERSEDIAAN ?
12/8/2014
15
JUMLAH PRODUKSI ?
ADDING RULE
12/8/2014
16
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
12/8/2014
17
INSERT ALL RULES
VIEW RULES
12/8/2014
18
12/8/2014
19
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
12/8/2014
20
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
ilkom.fmipa.ipb.ac.id
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
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)
Output
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)
A
B
C
12/8/2014
21
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
• Tentukan nilai C jika diketahui nilai input sebagai berikut : a) A = 1250 dan B = 13
b) A = 1400 dan B = 15
c) 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
TUGAS