Minggu, 03 Agustus 2025

Fuzzy Sugeno menggunakan bahasa pemrograman python

ini adalah sourcode program python

 

#Contoh Metode Sugeno

#soal
#Sebuah perusahaan makanan kaleng akan memproduksi makanan jenis ABC.
#Dari data 1 bulan terakhir, permintaan terbesar hingga mencapai 5000 kemasan/hari, dan permintaan terkecil sampai 1000 kemasan/hari.
#Persediaan barang digudang paling banyak sampai 600 kemasan/hari, dan paling sedikit sampai 100 kemasan/hari.
#Dengan segala keterbatasannya, sampai saat ini, perusahaan baru mampu memproduksi barang maksimal 7000 kemasan/hari,
#serta demi efisiensi mesin dan SDM tiap hari diharapkan perusahaan memproduksi paling tidak 2000 kemasan.

#Rule
#Apabila proses produksi perusahaan tersebut menggunakan 4 aturan sebagai berikut:
#1. Rule 1
#     IF permintaan TURUN and persediaan BANYAK THEN produksi barang = permintaan - persediaan
#2. Rule 2
#     IF permintaan TURUN and persediaan SEDIKIT THEN produksi barang = permintaan
#3. Rule 3
#     IF permintaan NAIK and persediaan BANYAK THEN produksi barang = permintaan
#4. Rule 4
#     IF permintaan NAIK and persediaan SEDIKIT THEN produksi barang = 1.25*permintaan - persediaan

#Pertanyaan
#Berapa kemasan makanan jenis ABC yang harus diproduksi,
#jika jumlah permintaan sebanyak 3500 kemasan, dan persediaan di gudang masih 300 kemasan ?
#(Gunakan fungsi keanggotaan LINEAR)

#Jawaban
#Ada 3 variabel yang digunakan: PERMINTAAN, PERSEDIAAN, dan PRODUKSI
#1.    PERMINTAAN: 1000 – 5000, x = 3500
#2.    PERSEDIAAN: 100 - 600, y = 300
#3.    PRODUKSI: 2000 – 7000, z = ?

#coding fuzzy sugeno
permintaan = int (input ("Masukkan nilai permintaan = "))
persediaan = int (input ("Nasukkan nilai persediaan = "))
print ()

#Nilai keanggotaan untuk nilai PERMINTAAN
permintaan_turun = (5000 - permintaan) / 4000
permintaan_naik = (permintaan - 1000) / 4000

print ("Hasil permintaan turun = ", permintaan_turun)
print ("Hasil permintaan naik = ", permintaan_naik)
print ()

#Nilai keanggotaan untuk nilai PERSEDIAAN
persediaan_sedikit = (600 - persediaan) / 500
persediaan_banyak = (persediaan - 100) / 500

print ("Hasil persediaan sedikit = ", persediaan_sedikit)
print ("Hasil persediaan banyak = ", persediaan_banyak)
print ()

#hitung rule1 nilai PREDIKAT1 dan Z2
if permintaan_turun > persediaan_banyak:
  predikat1 = persediaan_banyak
  print ("Nilai Predikat1 adalah = ", predikat1)
else:
  predikat1 = permintaan_turun
  print ("Nilai Predikat1 adalah = ", predikat1)

z1 = permintaan - persediaan
print ("Hasil Z1 adalah = ", z1)
print ()

#hitung nilai rule2 PREDIKAT2 dan Z2
if permintaan_turun > persediaan_sedikit:
  predikat2 = persediaan_sedikit
  print ("Nilai Predikat2 adalah = ", predikat2)
else:
  predikat2 = permintaan_turun
  print ("Nilai Predikat2 adalah = ", predikat2)

z2 = permintaan
print ("Hasil Z2 adalah = ", z2)
print ()

#hitung nilai rule3 PREDIKAT3 dan Z3
if permintaan_naik > persediaan_banyak:
  predikat3 = persediaan_banyak
  print ("Nilai Predikat3 adalah = ", predikat3)
else:
  predikat3 = permintaan_naik
  print ("Nilai Predikat3 adalah = ", predikat3)

z3 = permintaan
print ("Hasil Z3 adalah = ", z3)
print ()

#hitung nilai rule4 PREDIKAT4 dan Z4
if permintaan_naik > persediaan_sedikit:
  predikat4 = persediaan_sedikit
  print ("Nilai Predikat4 adalah = ", predikat4)
else:
  predikat4 = permintaan_naik
  print ("Nilai Predikat4 adalah = ", predikat4)

z4 = 1.25 * permintaan - persediaan
print ("Hasil Z4 adalah = ", z4)
print ()

#Menghitung Z akhir dengan merata-rata semua Z berbobot
z_kali = ((predikat1 * z1) + (predikat2 * z2) + (predikat3 * z3) + (predikat4 * z4))
z_bagi = predikat1 + predikat2 + predikat3 + predikat4
z_akhir = z_kali / z_bagi
print ("Jadi, jumlah makanan jenis ABC yang harus diproduksi sebanyak",z_akhir,"kemasan")

 

Tidak ada komentar:

Posting Komentar

While loop pemrograman python di VSCode

1.        While bernilai boolean 2.        Source code   # while loop   # while kondisi : #   aksi #   aksi # akhir dari p...