Latihan BAB 3

 1. Jika Terdapat fungsi keanggotaan dari suatu himpunan A yang terlihat seperti gambar di bawah ini, maka tentukan nilai derajat keanggotaan dari 0,x = 60, x=70, x= 90, dan 10.



jawab : Berdasarkan fungis keanggotaan trapezium yang terdapat pada gambar di atas Persamaan (3,9), maka )) = 0 ;))=0; ))=0.25; ))=0.75; ua (110)=1

2. Terdapat suatu sistem penggajian sales dari perusahaan distributor. Gaji sales akan mengalami peningkatan dengan dua syarat yaitu rajin masuk kantor (jumlah absen tiap bulan minimal), dan total penjualan yang dihasilkan pada tiap bulan. Buatlah code untuk sistem penggajian ini dengan menggunakan sistem inferensi fuzzy mamdani, berdasarkan beberapa kriteria berikut ini:

  • variable kehadiran (jumlah absen dalam tiap bulan, di mana satu bulan = 20 hari kerja) yang memiliki tiga buah himpunan fuzzy, yaitu rajin, sedang, dan malas.
  • Variable jumlah Penjualan yang memiliki dua buah himpunan fuzzy, yaitu sedikit dan banyak.
  • Terdapat tiga jenis output kenaikan gaji, yaitu rendah, sedang, dan tinggi. Kneaikan ini berkisar antara 0 sampai dengan 15% dari gaji awal.
  • Berikut aturan untuk kenaikan gaji:
    1. Jika kehadiaran adalah rajin dan jumlah penjualan adalah banyak, maka kenaikan gaji adalah tinggi
    2. Jika kehadiran sedang dan jumlah penjualan banyak, maka kenaikan gaji adalah sedang
    3. Jika kehadiaran malas dan jumlah penjualan sedikit maka kenaikan gaji adalah rendah
    4. jika kehadiran malas dan jumlah penjualan banyak maka kenaikan gaji adalah sedang

  
import skfuzzy as fuzzy
import numpy as np
import matplotlib.pyplot as matPlot

# --variavle input---#
absen=np.arange(0,20)
fuzzyRajin=fuzzy.trapmf(absen,[0,0,1,5])
fuzzySedang=fuzzy.trimf(absen,[3,8,13])
fuzzyMalas=fuzzy.trapmf(absen,[10,12,20,20])

penjualan=np.arange(0,120)
fuzzySedikit=fuzzy.trapmf(penjualan,[0,0,1,5])
fuzzyBanyak=fuzzy.trapmf(penjualan,[40,60,100,100])

# --variable output --#
kenaikan=np.arange(0,15)
fuzzyRendah=fuzzy.trapmf(kenaikan,[0,0,1,5])
fuzzyMedium=fuzzy.trimf(kenaikan,[4,8,12])
fuzzyTinggi=fuzzy.trapmf(kenaikan,[10,12,15,15])

# --grafik fungsi keanggotaan--#
# fig = matPlot.figure()
fig, (mf1,mf2,mf3) = matPlot.subplots(nrows=3, figsize=(8,9))
mf1.plot(absen,fuzzyRajin, 'r', linewidth=1.5, label='Rajin')
mf1.plot(absen,fuzzySedang, 'g', linewidth=1.5, label='Sedang')
mf1.plot(absen,fuzzyMalas, 'b', linewidth=1.5, label='Malas')
mf1.set_title('Absen')
mf1.set_ylabel('Derajat Keanggotaan')
mf1.legend()

mf2.plot(penjualan, fuzzySedikit, 'y', linewidth=1.5, label='Sedikit')
mf2.plot(penjualan, fuzzyBanyak, 'm', linewidth=1.5, label='Banyak')
mf2.set_title('Penjualan')
mf2.set_ylabel('Derajat keanggotaan')
mf2.legend()

mf3.plot(kenaikan, fuzzyRendah, 'c', linewidth=1.5, label='Rendah')
mf3.plot(kenaikan, fuzzyMedium, 'k', linewidth=1.5, label='Sedang')
mf3.plot(kenaikan, fuzzyTinggi, 'r', linewidth=1.5, label='Tinggi')
mf3.set_title('Kenaikan Gaji (%)')
mf3.set_ylabel('Derajat Keanggotaan')
mf3.legend()

matPlot.show()
  
  


Comments

Popular posts from this blog

BAB 3 FUZZY

Latihan BAB 4