CONTOH PERHITUNGAN FUZZY TSUKAMOTO
pencarian fuzzy set untuk TSUKAMOTO sama saja kaya mamdani dan sugeno bedanya di defuzifikasidiketahui :
pabrik memiliki jumlah permintaan minimal 1000jumlah permintaan maksimal 5000
jumlah stok barang minimal 100jumlah stok maksimal 600
jumlah produksi minimal 2000jumlah produksi maksimal 7000
jika pabrik mendapat permintaan 4000dan stok barang yang ada 300
pertanyaan :
berapa barang yang harus di produksi??????
=============================================
jawab :
deklarasi dan inisialisasi
minminta = 1000
maksimal = 5000
minstok = 100
makstok = 600
minproduksi = 2000makproduksi = 7000
barangada = 300
permintaanada = 4000
-----------------------------------------------------------------------------------------
fuzzy set di buat dulu
1. FUZZY PERMINTAAN ada 2 NAIK dan TURUN gampang grafiknya ada kok tinggal rumusnya yang di hafal
|| (rumus linear NAIK = x - min / max - min) ||
|| ||
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
jadi PERMINTAAN NAIK
NAIK = (permintaanada - minminta)/(makminta - minminta)
NAIK = 4000 - 1000 / 5000 - 1000
NAIK = 3000 / 4000
NAIK = 0,75
sekarang cari yang permintaan turun
PERMINTAAN TURUN
(rumus TURUN = max - x / max - min )
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
TURUN = maxminta - permintaanada/maxminta - minminta
TURUN = 5000 - 4000 / 5000 - 1000
TURUN = 1000 / 4000
TURUN = 0,25
nah udah jadi yang permintaan sekarang kita buat yang STOK
2. FUZZYSET STOK
fuzzy set stok ada 2 sama saja BANYAK dan SEDIKIT sama aja rumusnya kayak di atas cuma namanya saja yang beda
|| (rumus linear NAIK = x - min / max - min) ||
|| ||
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
BANYAK = stokada - minstok / maxstok - minstok
BANYAK = 300 - 100 / 600 - 100
BANYAK = 200 / 500
BANYAK = 0,4
sekarang cari yang permintaan turun
STOK sedikit
(rumus TURUN = max - x / max - min )
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
SEDIKIT = maxstok - stokada/maxstok - minstok
SEDIKIT = 600 - 300 / 600 - 100
SEDIKIT = 300/ 500
SEDIKIT = 0,6
ini kan 2 NAIK dan TURUN jika 5 kategori ..(berarti harus
jadi semua sudah di kategorikan kedalam fuzzy set
tahap berikutnya RULE
--------------------------------------------------------------------------------------------
intermezzzo.......dalam fuzzy ada perbedaan menggunakan AND(&&) dan OR(||) dan NOT (!=) namanya operator ZADEH
- rumus AND
apredikat = min(u[x],u[y])
bahasa javanya ketik saja
a = Math.min(x,y)
- OR
apreadikat = max(u[x],u[y])
bahasa javanya ketik saja
a = Math.min(x,y)
bahasa javanya
a = Math.max(x,y)
NOT
apredikat = 1 - apredikat[x]
gampang kan????
----------------------------------------------------------------------------------------
oke lanjut RULE ada 4
RULE 1 = jika permintaan TURUN AND Stok BANYAK maka produksi barang KURANG
RULE 2 = jika permintaan TURUN AND Stok SEDIKIT maka produksi barang = KURANG
RULE 3 = jika permintaan NAIK AND Stok BANYAK maka produksi barang = TAMBAH
RULE 4= jika permintaan NAIK AND Stok SEDIKIT maka produksi barang = TAMBAH
sudah kan...sekarang masukin aja angkanya dari rule 1
RULE 1 = jika permintaan TURUN AND Stok BANYAK maka produksi barang KURANG ------------- liat ada operator and pake rumusnya
R1 = min(TURUN, BANYAK)
R1 = min(0,25,0,4) ---------------dari hasil fuzzy set sebelumnya yang kita cari
R1 = 0,25 ------------------------ kenapa 0,25,,karena nilai paling kecil
sekarang di masukan ke rumus FUZZY SET PRODUKSi karena rulenya KURANG pake linear turun rumus kayak diatas
(rumus TURUN = max - x / max - min )
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
KURANG = maxproduksi - x / maxproduksi - minproduksi
0,25 = 7000 - z1 / 7000 - 2000
0,25 = 7000 - z1 / 5000
0,25 x 5000 = 7000 - z1
1250 = 7000 - z1
z1 = 7000 - 1250
z1 = 5750 ------------------------ini nilai kurang rule 1
kalo di program rumusnya di rubah
a = max - min * apredikat1 ;
b = max - a ;
nanti di coba saja
----------------------------------------------------------------------------------------------------------
RULE2
RULE 2 = jika permintaan TURUN AND Stok SEDIKIT maka produksi barang KURANG
R2 = min(TURUN,SEDIKIT) ------------------rumus operator AND
R2 = min (0,25, 0,6)
R2 = 0,25
(rumus TURUN = max - x / max - min )
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
KURANG = maxproduksi - x / maxproduksi - minproduksi
0,25 = 7000 - z2 / 7000 - 2000
0,25 = 7000 - z2 / 5000
0,25 x 5000 = 7000 - z2
1250 = 7000 - z2
z2 = 7000 - 1250
z2 = 5750 ----------------------------------------- hasil rule 2
kalo di program rumusnya di rubah
a = max - min * apredikat2 ;
b = max - a ;
nanti di coba saja
--------------------------------------------------------------------------------------
RULE 3 = jika permintaan NAIK AND Stok BANYAK maka produksi barang = TAMBAH
R3 = min(NAIK,BANYAK)
R3 = min (0,75,0,4)
R3 = 0,4
TAMBAH pake rumus linear naik
|| (rumus linear NAIK = x - min / max - min) ||
|| ||
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
TAMBAH= x - minproduksi/ maxproduksi - minproduksi
0,4 = Z3 - 2000 / 7000 - 2000
0,4 = z3 - 2000 / 5000
0,4 x 5000 = z3 - 2000
2000 = z3 - 2000
z3 = 2000 + 2000
z3 = 4000 ----------------------------------------- hasil rule 3
kalo di program rumusnya di rubah
a = Z - min * apredikat1 ;
b = Z + min ;
nanti di coba saja
==========================================================
RULE 4 = jika permintaan NAIK AND Stok SEDIKIT maka produksi barang = TAMBAH
R4 = min(NAIK,SEDIKIT) ------------------rumus operator AND
R4 = min (0,75, 0,6)
R4 = 0,6
TAMBAH pake rumus linear naik
|| (rumus linear NAIK = x - min / max - min) ||
|| ||
|| x = permintaan yang ada ||
|| min = nilai minimum variabel ||
|| max = nilai maksimum variabel ||
TAMBAH= x - minproduksi/ maxproduksi - minproduksi
0,6 = Z4 - 2000 / 7000 - 2000
0,6 = z4 - 2000 / 5000
0,6 x 5000 = z4 - 2000
3000 = z4 - 2000
z4 = 3000 + 2000
z4 = 5000 ----------------------------------------- hasil rule 4
selesai semua rule kalo di programing ga sepanjang ini (-____-)
kalo di program rumusnya di rubah
a = Z - min * apredikat1 ;
b = Z + min ;
=========================================
HASIL RULE
menggunakan weighted average
z = R1 x z1 + R2 x z2 + R3 x z3 + R4 x z4 / R1 + R2 + R3 + R4
Z = 0,25 X 5750 + 0,25 X 5750 +0,4 X 4000 + 0,6 X 5000 / 0,25 + 0,25 + 0,4 + 0,6
HASILNYA 4983
YAH SELESAI PERHITUNGANNYA
begitulah fuzzy...lumayan simple kan..
selamat mencoba
1 komentar:
Great blog you have got here.. It's difficult to
find quality writing like yours these days. I honestly appreciate people like you!
Take care!!
Also visit my weblog เครื่องบรรจุครีม
Posting Komentar