Praktikum 2 Matlab Fuzzy Logic Toolbox Soft Computing M. Rahmat Widyanto, Dr.Eng. Fakultas Ilmu Komputer UI
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
1/30
Membangun fuzzy expert system: Studi Kasus Sebuah pusat pelayanan menyediakan spare parts serta mereparasi komponen yang rusak. Pelanggan membawa komponen yang rusak dan menerima komponen yang sejenis. Komponen yang rusak akan diperbaiki, diletakan pada sebuah rak dan become spares. Objektif dari persoalan ini adalah menyarankan kepada manajer pusat pelayanan, kebijakan apa yang harus diambil agar konsumen merasa puas. 2/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
1
Prosess pengembangan fuzzy expert system 1. Spesifikasi masalah dan definisikan linguistic variables. 2. Tentukan himpunan fuzzy. 3. Buat Aturan fuzyy. 4. Bentuk sebuah inferensi sistem fuzzy menggunakan himpunan serta aturan fuzzy yang telah ditetaptan 5. Evaluasi sistem yang dibangun. 3/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Langkah 1: Spesifikasi masalah dan menentukan linguistic variables Terdapat empat buah linguistic variables utama: rata rata waktu tunggu (mean delay) m, faktor utilisasi perbaikan (repair utilisation factor) dari pusat pelayanan ρ, jumlah pelayanan (number of servers) s, dan jumlah spare parts awal (number of spares) n.
4/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
2
Linguistic variables and rentang nilai Linguistic Variable: Mean Delay, m Linguistic Value Notation Numerical Range (normalised) Very Short VS [0, 0.3] Short S [0.1, 0.5] Medium M [0.4, 0.7] Linguistic Variable: Number of Servers, s Linguistic Value Notation Numerical Range (normalised) Small S [0, 0.35] Medium M [0.30, 0.70] Large L [0.60, 1] Linguistic Variable: Repair Utilisation Factor, ρ Notation Linguistic Value Numerical Range Low L [0, 0.6] Medium M [0.4, 0.8] High H [0.6, 1] Linguistic Variable: Number of Spares, n Linguistic Value Notation Numerical Range (normalised) Very Small VS [0, 0.30] Small S [0, 0.40] Rather Small RS [0.25, 0.45] Medium M [0.30, 0.70] Rather Large RL [0.55, 0.75] Large L [0.60, 1] Very Large VL [0.70, 1]
5/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Langkah 2: Menentukan Himpunan Fuzzy Himpunan Fuzzy dapat dinyatakan dalam beberapa bentuk (segitiga, trapesoidal, gauss dan lain-lain). Akan tetapi bentuk segitiga dan trapesoidal lebih sering digunakan untuk merepresentasikan sebuah expert knowledge, Sekaligus lebih mudah dalam proses komputasinya.
6/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
3
Himpunan Fuzzy dari Mean Delay m Degree of Membership 1.0 0.8
VS
S
M
0.6 0.4 0.2 0.0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7 0.8 0.9 1 Mean Delay (normalised)
7/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Himpunan Fuzzy dari Number of Servers s Degree of Membership 1.0 0.8
S
M
L
0.6 0.4 0.2 0.0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
8/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
4
Himpunan Fuzzy dari Repair Utilisation Factor ρ Degree of Membership 1.0 0.8
L
M
H
0.6 0.4 0.2 0.0 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7 0.8 0.9 1 Repair Utilisation Factor
9/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Himpunan Fuzzy dari Number of Spares n Degree of Membership 1.0 0.8
VS
S
RS
M
RL
L
VL
0.6 0.4 0.2 0.0 0
0.1
0.2
0.3
0.4
0.5
0.6 0.7 0.8 0.9 1 Number of Spares (normalised)
10/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
5
Langkah 3: Buat Aturan Fuzzy Untuk dapat membuat bagian ini, sebaiknya ditanyakan kepada orang yang ahli dibidang tersebut, untuk dapat memecahkan masalah menggunakan fuzzy linguistic variables yang telah ditentukan sebelumnya. Pengetahuan tambahan dapat diperoleh melalui berbagai sumber, misalnya buku, database komputer, flow diagram dan observasi lingkungan.
11/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Tabel Aturan Rule
m
s
ρ
n
Rule
m
s
ρ
n
Rule
m
s
ρ
n
1
VS
S
L
VS
10
VS
S
M
S
19
VS
S
H
VL
2
S
S
L
VS
11
S
S
M
VS
20
S
S
H
L
3
M
S
L
VS
12
M
S
M
VS
21
M
S
H
M
4
VS
M
L
VS
13
VS
M
M
RS
22
VS
M
H
M
5
S
M
L
VS
14
S
M
M
S
23
S
M
H
M
6
M
M
L
VS
15
M
M
M
VS
24
M
M
H
S
7
VS
L
L
S
16
VS
L
M
M
25
VS
L
H
RL
8
S
L
L
S
17
S
L
M
RS
26
S
L
H
M
9
M
L
L
VS
18
M
L
M
S
27
M
L
H
RS
12/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
6
Aturan 1 1. If (utilisation_factor is L) then (number_of_spares is S) 2. If (utilisation_factor is M) then (number_of_spares is M) 3. If (utilisation_factor is H) then (number_of_spares is L) 4. If (mean_delay is VS) and (number_of_servers is S) then (number_of_spares is VL) 5. If (mean_delay is S) and (number_of_servers is S) then (number_of_spares is L) 6. If (mean_delay is M) and (number_of_servers is S) then (number_of_spares is M) 7. If (mean_delay is VS) and (number_of_servers is M) then (number_of_spares is RL) 8. If (mean_delay is S) and (number_of_servers is M) then (number_of_spares is RS) 9. If (mean_delay is M) and (number_of_servers is M) then (number_of_spares is S) 10. If (mean_delay is VS) and (number_of_servers is L) then ( number_of_spares is M) 11. If (mean_delay is S) and (number_of_servers is L) then ( number_of_spares is S) 12. If (mean_delay is M) and (number_of_servers is L) then ( number_of_spares is VS)
13/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Step 4: Bangun inferensi sistem fuzzy
Dapat dilakukan dengan dua cara: Bangun sistem sendiri menggunakan bahasa pemrograman yang ada misalnya C/C++ atau Pascal, Menggunakan tool aplikasi fuzzy logic development seperti MATLAB Fuzzy Logic Toolbox atau yang lain
14/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
7
Step 5: Evaluasi Sistem Akan dilihat apakah sistem fuzzy yang dibentuk telah memenuhi spesifikasi kebutuhan yang telah ditetapkan sebelumnya.
15/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
16/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
8
17/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
18/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
9
19/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
20/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
10
21/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
22/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
11
23/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Three-dimensional plots for Rule Base 1 0.6
0.5
0.4
0.3
0.2 0 1
0.2
0.8 0.6
0.4 0.4 0.6
mean_delay
0.2 0
number_of_servers 24/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
12
Three-dimensional plots for Rule Base 1
0.6
0.5
0.4
0.3
0.2 0 1
0.2
0.8 0.6
0.4 0.4 0.6
mean_delay
0.2 0
utilisation_factor
25/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Studi Kasus ► Suatu
perusahaan makanan kaleng setiap harinya mampu memproduksi barang rata-rata 50.000 kaleng. Setiap hari, rata-rata menerima permintaan juga sekitar 50.000 kaleng, dan dalam 3 bulan terakhir permintaan tertinggi sebesar 75.000 kaleng. Makanan kaleng yang masih tersedia di gudang setiap harinya rata-rata 7500 kaleng, sedangkan kapasitas gudang maksimum hanya mampu menampung 15.000 kaleng. Apabila sistem produksinya menggunakan aturan fuzzy sebagai berikut: 26/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
13
► [R1]
IF permintaan TURUN and persediaan BANYAK THEN produksi barang = 10.000
► R1]
IF permintaan NAIK and persediaan SEDIKIT THEN produksi barang = 1.25 * permintaan – persediaan
► [R1]
IF permintaan NAIK and persediaan BANYAK THEN produksi barang = permintaan - persediaan 27/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
► Tentukan
berapa jumlah barang yang harus diproduksi hari ini, jika permintaan sebanyak 52.000 kaleng, dan persediaan yang masih ada di gudang sebanyak 8000 kaleng
28/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
14
Fungsi Keanggotaan ► Variabel
permintaan
μturun(x) =
1 1-2[(x-10)/40]2 2[(50-x)/40]2 0
x ≤ 10 10 ≤ x ≤ 30 30 ≤ x ≤ 50 x ≥ 50
μnaik(x) =
0 2[(x-25)/50]2 1-2[(75-x)/50]2 1
x ≤ 25 25 ≤ x ≤ 50 50 ≤ x ≤ 75 x ≥ 75 29/30
MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
Fungsi Keanggotaan Persediaan
μSedikit(x)
μBanyak(x)
=
1 (x-25)/10 0
► Variabel
=
x ≤ 2,5 2,5 ≤ x ≤ 12,5 x ≥ 12,5
0 (12,5-x)/102
x ≤ 2,5 2,5 ≤ x ≤ 12,5
1
x ≥ 12,5
30/30 MILIK FASILKOM UI DILARANG KERAS UNTUK KEGIATAN KOMERSIAL TANPA IJIN PENCIPTA
15