Anda di halaman 1dari 12

Fuzzy Inference System in Java

Prediksi Produksi Kue di CS-Bakery dengan Tsukamoto Method

A. Deskripsi Kasus

Toko kue Coklat-Stroberi Bakery (CS Bakery) akan memproduksi kue jenis Brownies. Dari data
1 bulan terakhir, rata-rata permintaan adalah 5500 kue/hari, permintaan terbesar hingga mencapai
10000 kue/hari, dan permintaan terkecil sampai 1000 kue/hari. Persediaan kue di outlet CS Bakery
rata-rata adalah 3500 kue/hari, persediaan terbanyak adalah 5000 kue/hari, dan persediaan terkecil
adalah 2000 kue/hari. Dengan segala keterbatasannya, sampai saat ini CS Bakery baru mampu
memproduksi kue maksimum 8000 kue/hari, serta demi efisiensi mesin dan SDM tiap hari
diharapkan CS Bakery memproduksi paling tidak 2000 kue/hari. Kue yang dijual di Toko hanya
kue yang masih layak jual dengan kondisi kue 80-100%.

B. IMPLEMENTASI FUZZY

a) Variabel INPUT

1. Permintaan

Himpunan fuzzy : Keterangan :

Sedikit :
Sedikit : [1000 2500]
(x) = 1 x 1000

Sedang : [2000 5500 9000] (x) = ( 2500-x)/1500 1000 x 2500

(x) = 0 x 2500
Banyak : [8000 10000 ]
Sedang :

(x) = 0 x 2000 atau x9000

Kurva : (x) = ( x-2000)/3500 2000 x 5500

(x) = (9000-x)/3500 5500 x 9000

Banyak

(x) = 1 x 10000

(x) = ( 5000-x)/1000 8000 x 10000

(x) = 0 x 8000

2. Persediaan
Himpunan Fuzzy :
Keterangan :

Sedikit : [2000 3000] Sedikit :

(x) = 1 x 2000
Sedang : [2000 3500 5000]
(x) = ( 3000-x)/1000 2000 x 3000
Banyak : [4000 5000 ]
(x) = 0 x 3000

Kurva : Sedang :

(x) = 0 x 2000 atau x5000

(x) = ( x-2000)/1500 2000 x 3500

(x) = (5000-x)1500 3500 x 5000

Banyak

(x) = 1 x 5000

(x) = ( 5000-x)/1000 4000 x 5000

(x) = 0 x 4000

3. Kondisi

Himpunan Fuzzy :

Tidak Layak : [50 80] dalam %

Layak : [50 80] dalam %


Keterangan :
Kurva :
Tidak Layak :

(x) = 1 x 50

(x) = ( 80-x)/30 50 x 80

(x) = 0 x 80

Layak:

(x) = 0 x 50

(x) = ( 80-x)/30 50 x 80

(x) = 1 x 80

b) Variabel OUTPUT
Produksi :

Himpunan Fuzzy :
Keterangan :
Berkurang : [2000 8000]
Berkurang :

Bertambah : [2000 8000] (x) = 1 x 2000

(x) = ( 8000-x)/5000 5000 x 8000


Kurva :
(x) = 0 x 8000

Bertambah:

(x) = 0 x 2000

(x) = ( 8000-x)/6000 5000 x 8000

(x) = 1 x 8000

c) Rule/Aturan :

1) IF permintaan SEDIKIT and persediaan SEDIKIT and kondisi TIDAK LAYAK then
produksi BERKURANG

2) IF permintaan SEDIKIT and persediaan SEDIKIT and kondisi LAYAK then produksi
BERKURANG

3) IF permintaan SEDIKIT and persediaan SEDANG and kondisi TIDAK LAYAK then
produksi BERKURANG

4) IF permintaan SEDIKIT and persediaan SEDANG and kondisi LAYAK then


produksi BERKURANG

5) IF permintaan SEDIKIT and persediaan BANYAK and kondisi TIDAK LAYAK then
produksi BERKURANG

6) IF permintaan SEDIKIT and persediaan BANYAK and kondisi LAYAK then produksi
BERKURANG

7) IF permintaan SEDANG and persediaan SEDIKIT and kondisi TIDAK LAYAK then
produksi BERTAMBAH

8) IF permintaan SEDANG and persediaan SEDIKIT and kondisi LAYAK then produksi
BERKURANG
9) IF permintaan SEDANG and persediaan SEDANG and kondisi TIDAK LAYAK then
produksi BERTAMBAH

10) IF permintaan SEDANG and persediaan SEDANG and kondisi LAYAK then produksi
BERKURANG

11) IF permintaan SEDANG and persediaan BANYAK and kondisi TIDAK LAYAK then
produksi BERTAMBAH

12) IF permintaan SEDANG and persediaan BANYAK and kondisi LAYAK then
produksi BERKURANG

13) IF permintaan BANYAK and persediaan SEDIKIT and kondisi TIDAK LAYAK then
produksi BERTAMBAH

14) IF permintaan BANYAK and persediaan SEDIKIT and kondisi LAYAK then produksi
BERTAMBAH

15) IF permintaan BANYAK and persediaan SEDANG and kondisi TIDAK LAYAK then
produksi BERTAMBAH

16) IF permintaan BANYAK and persediaan SEDANG and kondisi LAYAK then
produksi BERTAMBAH

17) IF permintaan BANYAK and persediaan BANYAK and kondisi TIDAK LAYAK then
produksi BERTAMBAH

18) IF permintaan BANYAK and persediaan BANYAK and kondisi LAYAK then
produksi BERKURANG

C. IMPLEMENTASI KASUS

1) Jika permintaan sebesar 5000 kue, dan di toko tersedia 2000 kue dalam kondisi 80%. Berapa
banyak kue yang harus diproduksi oleh CS bakery?

Penyelesaian :

Menghitung nilai keanggotaan masing-masing himpunan fuzzy untuk masing-masing


Variabel Input:

Permintaan 5000

(sedikit) =0
(sedang) = (5500-5000)/3500 = 1/7

(banyak) = 0

Persediaan

(sedikit) =1

(sedang) = 0

(banyak) = 0

Kondisi

(tidaklayak) =0

(layak) =1

Menghitung nilai dan z untuk masing-masing aturan

Rule ke :

1. Min (0 1 0 ) 1 = 0 ; Z1 = 8000

2. Min (0 1 1 ) 2 = 0 ; Z2 = 8000

3. Min (0 0 0 ) 3 = 0 ; Z3 = 8000

4. Min (0 1 0 ) 4 = 0 ; Z4 = 8000

5. Min (0 0 0 ) 5 = 0 ; Z5 = 8000

6. Min (0 0 1 ) 6 = 0 ; Z6 = 8000

7. Min (1/7 1 0 ) 7 = 0 ; Z7 = 2000

8. Min (1/7 1 1 ) 8 = 1/7 ; Z8 = 7143

9. Min (1/7 0 0 ) 9 = 0 ; Z9 = 2000

10. Min (1/7 0 0 ) 10 = 0 ; Z10 = 8000

11. Min (1/7 0 0 ) 11 = 0 ; Z11 = 2000

12. Min (1/7 0 1 ) 12 = 0 ; Z12 = 8000

13. Min (0 1 0 ) 13 = 0 ; Z13 = 2000


14. Min (0 1 1 ) 14 = 0 ; Z14 = 2000

15. Min (0 0 0 ) 15 = 0 ; Z15 = 2000

16. Min (0 0 1 ) 16 = 0 ; Z16 = 2000

17. Min (0 0 0 ) 17 = 0 ; Z17 = 2000

18. Min (0 0 1 ) 18 = 0 ; Z18 = 8000

Defuzzy

Z = (1* Z1) +. + (18* Z18)

1 + .. + 18
= 0+0+0+0+0+0+0+ (1/7 * 7143)+0+0+ 0+0+0+0+0+0+0+0

0+0+0+0+0+0+0+ (1/7)+0+0+ 0+0+0+0+0+0+0+0

= 7143

2). Jika permintaan sebesar 4000 kue, dan di toko tersedia 3000 kue dalam kondisi 30%. Berapa
banyak kue yang harus diproduksi oleh CS bakery?

Penyelesaian :

Menghitung nilai keanggotaan masing-masing himpunan fuzzy untuk masing-masing


Variabel Input:

Permintaan 4000

(sedikit) =0

(sedang) = (5500-4000)/3500 = 3/7

(banyak) = 0

Persediaan

(sedikit) =0

(sedang) = (3500-3000)/1500 = 2/3

(banyak) = 0
Kondisi

(tidaklayak) =1

(layak) =0

Menghitung nilai dan z untuk masing-masing aturan

Rule ke :

1. Min (0 0 1 ) 1 = 0 ; Z1 = 8000

2. Min (0 0 0 ) 2 = 0 ; Z2 = 8000

3. Min (0 2/3 1 ) 3 = 0 ; Z3 = 8000

4. Min (0 2/3 0 ) 4 = 0 ; Z4 = 8000

5. Min (0 0 1 ) 5 = 0 ; Z5 = 8000

6. Min (0 0 0 ) 6 = 0 ; Z6 = 8000

7. Min (3/7 0 1 ) 7 = 0 ; Z7 = 2000

8. Min (3/7 0 0 ) 8 = 0 ; Z8 = 8000

9. Min (3/7 2/3 1 ) 9 = 3/7 ; Z9 = 4571

10. Min (3/7 2/3 0 ) 10 = 0 ; Z10 = 8000

11. Min (3/7 0 1 ) 11 = 0 ; Z11 = 2000

12. Min (3/7 0 0 ) 12 = 0 ; Z12 = 8000

13. Min (0 0 1 ) 13 = 0 ; Z13 = 2000

14. Min (0 0 0 ) 14 = 0 ; Z14 = 2000

15. Min (0 2/3 1 ) 15 = 0 ; Z15 = 2000

16. Min (0 2/3 0 ) 16 = 0 ; Z16 = 2000

17. Min (0 0 1 ) 17 = 0 ; Z17 = 2000

18. Min (0 0 0 ) 18 = 0 ; Z18 = 8000

Defuzzy
Z = (1* Z1) +. + (18* Z18)

1 + .. + 18
= 0+0+0+0+0+0+0+ 0+(3/7*4571)+0+ 0+0+0+0+0+0+0+0

0+0+0+0+0+0+0+ (3/7)+0+0+ 0+0+0+0+0+0+0+0

= 4571

3). Jika permintaan sebesar 2000 kue, dan di toko tersedia 4000 kue dalam kondisi 50%. Berapa
banyak kue yang harus diproduksi oleh CS bakery?

Penyelesaian :

Menghitung nilai keanggotaan masing-masing himpunan fuzzy untuk masing-masing


Variabel Input:

Permintaan 2000

(sedikit) = (2500-2000)/1500 = 1/3

(sedang) = 0

(banyak) = 0

Persediaan

(sedikit) =0

(sedang) = 0

(banyak) = (5000-4000)/1500 = 2/3

Kondisi

(tidaklayak) =1

(layak) =0

Menghitung nilai dan z untuk masing-masing aturan

Rule ke :

1. Min (1/3 0 1 ) 1 = 0 ; Z1 = 8000

2. Min (1/3 0 0 ) 2 = 0 ; Z2 = 8000


3. Min (1/3 0 0 ) 3 = 0 ; Z3 = 8000

4. Min (1/3 0 1 ) 4 = 0 ; Z4 = 8000

5. Min (1/3 2/3 1 ) 5 = 0 ; Z5 = 6000

6. Min (1/3 2/3 0 ) 6 = 0 ; Z6 = 8000

7. Min (0 0 1 ) 7 = 0 ; Z7 = 2000

8. Min (0 0 0 ) 8 = 0 ; Z8 = 8000

9. Min (0 0 1 ) 9 = 3/7 ; Z9 = 4571

10. Min (0 0 0 ) 10 = 0 ; Z10 = 8000

11. Min (0 2/3 1 ) 11 = 0 ; Z11 = 2000

12. Min (0 2/3 0 ) 12 = 0 ; Z12 = 8000

13. Min (0 0 1 ) 13 = 0 ; Z13 = 2000

14. Min (0 0 0 ) 14 = 0 ; Z14 = 2000

15. Min (0 0 1 ) 15 = 0 ; Z15 = 2000

16. Min (0 0 0 ) 16 = 0 ; Z16 = 2000

17. Min (0 2/3 1 ) 17 = 0 ; Z17 = 2000

18. Min (0 2/3 0 ) 18 = 0 ; Z18 = 8000

Defuzzy

Z = (1* Z1) +. + (18* Z18)

1 + .. + 18
= 0+0+0+0+(1/3*6000)+0+0+ 0+0+0+ 0+0+0+0+0+0+0+0

0+0+0+0+(1/3)+0+0+0+0+0+ 0+0+0+0+0+0+0+0

= 6000

4). Jika permintaan sebesar 8000 kue, dan di toko tersedia 5000 kue dalam kondisi 75%. Berapa
banyak kue yang harus diproduksi oleh CS bakery?

Penyelesaian :
Menghitung nilai keanggotaan masing-masing himpunan fuzzy untuk masing-masing
Variabel Input:

Permintaan

(sedikit) =0

(sedang) = (8000-5500)/3500 = 5/7

(banyak) = 0

Persediaan

(sedikit) =0

(sedang) = 0

(banyak) = 1

Kondisi

(tidaklayak) = (80-75)/30 = 1/6

(layak) = (75-50)/30 = 5/6

Menghitung nilai dan z untuk masing-masing aturan

Rule ke :

1. Min (0 0 1/6 ) 1 = 0 ; Z1 = 8000

2. Min (0 0 5/6 ) 2 = 0 ; Z2 = 8000

3. Min (0 0 1/6 ) 3 = 0 ; Z3 = 8000

4. Min (0 0 5/6 ) 4 = 0 ; Z4 = 8000

5. Min (0 1 1/6 ) 5 = 0 ; Z5 = 6000

6. Min (0 1 5/6 ) 6 = 0 ; Z6 = 8000

7. Min (5/7 0 1/6 ) 7 = 0 ; Z7 = 2000

8. Min (5/7 0 5/6 ) 8 = 0 ; Z8 = 8000

9. Min (5/7 0 1/6 ) 9 = 0 ; Z9 = 8000


10. Min (5/7 0 5/6 ) 10 = 0 ; Z10 = 8000

11. Min (5/7 1 1/6 ) 11 = 1/6 ; Z11 = 3000

12. Min (5/7 1 5/6 ) 12 = 5/7 ; Z12 = 3714.285714285714

13. Min (0 0 1/6 ) 13 = 0 ; Z13 = 2000

14. Min (0 0 5/6 ) 14 = 0 ; Z14 = 2000

15. Min (0 0 1 /6) 15 = 0 ; Z15 = 2000

16. Min (0 0 5/6) 16 = 0 ; Z16 = 2000

17. Min (0 1 1/6 ) 17 = 0 ; Z17 = 2000

18. Min (0 1 5/6 ) 18 = 0 ; Z18 = 8000

Defuzzy

Z = (1* Z1) +. + (18* Z18)

1 + .. + 18
= 0+0+0+0+0+0+0+ 0+0+0+ (1/6*3000)+(5/7*3714.285714285714)+0+0+0+0+0+0

0+0+0+0+0+0+0+0+0+0+ 1/6+5/7+0+0+0+0+0+0

= 3579.150579150579

LAMPIRAN PROGRAM

Hasil Running Main


GUI-Fuzzy

Fuzzy Inference System in Java


Prediksi Produksi Kue di CS-Bakery dengan Tsukamoto
Method

Anda mungkin juga menyukai