Defuzzifikasi (Tsukamoto)
z=
z= ,∗
, ∗ , ∗ , ∗ = , = 55576 tahu gimbal
, , , , .
2.
Fuzzifikasi
Variabel Biaya Produksi, terdiri dari tiga himpunan fuzzy, yaitu
RENDAH, STANDAR dan TINGGI.
Derajat keanggotaan untuk biaya produksi Rp800 per bungkus adalah :
Variabel Permintaan, terdiri dari dua himpunan fuzzy, yaitu TURUN dan
NAIK.
Inferensi (Sugeno)
z= ,∗
, ∗ ,∗
= = 40461 tahu gimbal
, , , ,
Jobsheet 6
Please accomplish this following problem using Python & Matlab Suatu
perusahaa makanan kaleng setiap harinya rata – rata menerima permintaan sekitar
5500 kaleng, dan dalam 3 bulan terakhir permintaan tertinggi 75000 kaleng.
Makanan kaleng yang masih tersedia di Gudang, setiap harinya rata – rata 7000
kaleng, sedangkan kapasitas Gudang maksimum hanya dapat menampung 13000
kaleng. Apabila sistem produksinya menggunakan aturan fuzzy sebagai berikut:
• [R1] IF Permintaan TURUN And Persediaa BANYAK THEN Produksi
Barang BERKURANG
• [R2] IF Permintaan NAIK And Persediaan SEDIKIT THEN Produksi Barang
BERTAMBAH
• [R3] IF Permintaan NAIK And Persediaan BANYAK THEN Produksi Barang
BERTAMBAH
• [R4] IF Permintaan TURUN And Persediaan SEDIKIT THEN Produksi
Barang BERKURANG
Tentukanlah berapa jumlah barang yang harus diproduksi hari ini, jika permintaan
sebanyak persediaan yang masih ada di Gudang sebanyak 8000 kaleng.
• Source Code
import numpy as np import skfuzzy
as fuzz from skfuzzy import
control as ctrl
permintaan = ctrl.Antecedent(np.arange(0, 75001,
1),
'permintaan') persediaan =
ctrl.Antecedent(np.arange(0, 13001, 1),
'persediaan') produksi = ctrl.Antecedent(np.arange(0, 120001,
1), 'produksi')
produksi['berkurang'] = fuzz.trapmf(produksi.universe,
[0, 0, 60000, 90000]) produksi['bertambah'] =
fuzz.trapmf(produksi.universe, [90000, 110000,
120000, 120000])
permintaan.view()
persediaan.view() produksi.view()
rule1 = ctrl.Rule(permintaan['turun'] &
persediaan['banyak'], produksi['berkurang'])
rule2 = ctrl.Rule(permintaan['naik'] &
persediaan['sedikit'], produksi['bertambah'])
rule3 = ctrl.Rule(permintaan['naik'] &
persediaan['banyak'], produksi['bertambah'])
rule4 = ctrl.Rule(permintaan['turun'] &
persediaan['sedikit'], produksi['berkurang'])
tipping_ctrl = ctrl.ControlSystem([rule1, rule2,
rule3, rule4]) tipping =
ctrl.ControlSystemSimulation(tipping_ctrl)
tipping.input['permintaan'] =
60000 tipping.input['persediaan'] =
8000
tipping.compute()
print(tipping.output['produksi'])
produksi.view(sim=tipping)
inp = input("Press any
button...")
• Hasil Program
• MATLAB
Input Permintaan
Input Persediaan
Output Produksi
Rules