KECERDASAN BUATAN
(Artificial Intelligence)
Materi 5
Eko Prasetyo
Teknik Informatika
Univ. Pembangunan Nasional Veteran Jawa Timur
2011
badan saya:
Pelayan
Kemudian tamu akan memberikan tip yang sesuai atas baik tidaknya
pelayanan yang diberikan
Anda
Ketika
Konsep Dasar
Logika
Logika Fuzzy
Alasan
penggunaan:
Probabilitas:
fuzzy.
Menggunakan sensor untuk mendeteksi kotoran pada pakaian.
Inputnya: tingkat kekotoran, jenis kotoran dan banyaknya cucian.
Outputnya: menentukan putaran putaran yang tepat secara otomatis.
Transmisi
otomatis mobil.
pengambilan keputusan
Contoh:
S = {1, 2, 3, 4, 5} adalah
A = {1, 2, 3}
B = {3, 4, 5}
Bisa dikatakan bahwa:
Nilai keanggotaan 2 pada
Nilai keanggotaan 3 pada
Nilai keanggotaan 4 pada
Nilai keanggotaan 2 pada
Nilai keanggotaan 3 pada
semesta pembicaraan
himpunan
himpunan
himpunan
himpunan
himpunan
A,
A,
A,
B,
B,
A[2]=1,
A[3]=1,
A[4]=0,
A[2]=0,
A[3]=1,
karena
karena
karena
karena
karena
2
3
4
2
3
A
A
A
A
B
7
Apabila
seseorang berusia 34
Apabila seseorang berusia 35
MUDA[35]=0
Apabila seseorang berusia 35
PAROBAYA[35]=1
Apabila seseorang berusia 35
PAROBAYA, PAROBAYA[35-1]=0
Apabila seseorang berusia 55
Apabila seseorang berusia 55
TUA[55+0.5]=1
Tidak adil bukan ?
Himpunan Fuzzy
Digunakan
Contoh
(dari gambar):
Seseorang yang berusia 40 tahun, masuk dalam himpunan MUDA dengan MUDA[40]
=0.25; Tapi juga masuk dalam himpunan PAROBAYA dengan PAROBAYA[40]=0.5
Seseorang yang berusia 50 tahun, masuk dalam himpunan PAROBAYA dengan
PAROBAYA[50]=0.5; Tapi juga masuk dalam himpunan TUA dengan TUA[50]=0.25
Jangkauan
Jika suatu item x mempunyai nilai keanggotaan fuzzy A[x]=0 maka item tersebut
tidak menjadi anggota himpunan A
Jika suatu item x mempunyai nilai keanggotaan fuzzy A[x]=1 maka item tersebut
menjadi anggota penuh himpunan A
9
Fuzzy
Fuzzy
Himpunan fuzzy yang mewakili suatu kondisi pada suatu variabel fuzzy.
Contoh :
Variabel umur terbagi menjadi 3 himpunan fuzzy: muda, parobaya, tua
Variabel suhu terbagi 3 menjadi himpunan fuzzy: panas, hangat, dingin.
Variabel nilai terbagi menjadi 3 : tinggi, sedang, rendah
Linguistik, yaitu penamaan suatu group yang mewakili suatu kondisi, misalnya: MUDA,
PAROBAYA, TUA
Numeris, yaitu ukuran dari suatu variabel seperti : 30,40, 55, 65, dst
Himpunan
Semesta
Adalah keseluruhan nilai yang boleh dioperasikan dalam suatu variabel fuzzy.
Contoh:
Semesta untuk variabel umur : [0, ]
Semesta untuk variabel berat badan : [1, 150]
Semesta untuk variabel suhu : [0,100].
Domain
himpunan fuzzy adalah keseluruhan nilai yang diizinkan dalam Semesta dan
boleh dioperasikan dalam suatu himpunan fuzzy.
Contoh:
MUDA = [0 45],
PAROBAYA = [35 55], TUA = [45 +]
DINGIN = [0 20],
SEJUK = [15 25],
NORMAL = [20 30], HANGAT = [25 35],
40]
PANAS = [30
11
Fungsi Keanggotaan
Fungsi
Linear naik
Linear turun
Kurva segitiga
Kurva trapesium
Kurva Sigmoid
Kurva Phi
Kurva Beta
Kurva Gauss
Fungsi
,x a
0
[ x] ( x a) /(b a ) , a x b
1
,x b
Linear naik
,x a
1
[ x] (b x) /(b a ) , a x b
0
,x b
Linear turun
Fungsi Kurva
segitiga
Merupakan gabungan
garis linear naik dan
turun
, x a atau x c
0
[ x] (b x) /(b a ) , a x b
(c x) /(c b) , b x c
0
( x a) /(b a )
[ x]
1
( d x) /( d c)
, x a atau x d
,a x b
,b x c
,c x d
13
0
2(( x a ) /(c a)) 2
[ x]
2
1
2
((
c
x
)
/(
c
a
))
,x a
,a x b
,b x c
,x c
1
1 2(( x a ) /(c a )) 2
[ x]
2
2
((
c
x
)
/(
c
a
))
,x a
,a x b
,b x c
,x c
B( x; , )
B( x; , )
1
x
1
1
x
15
Ada
3 operator:
AND
OR
NOT
16
METODE TSUKAMOTO
17
18
, x 1000
1
5000 x
pmtTURUN [ x]
,1000 x 5000
x = 4000
4000
, x 5000
0
pmtTURUN[4000] = (5000-4000)/4000 = 0.25
pmtNAIK[4000] = (4000-1000)/4000 = 0.75
, x 1000
0
x 1000
pmtNAIK [ x]
,1000 x 5000
4000
, x 5000
1
20
1
600 y
psdSEDIKIT [ y ]
500
0
, y 100
y = 300
,100 y 600 psdSEDIKIT[300] = (600-300)/500 = 0.6
psdBANYAK[300] = (300-100)/500 = 0.4
, y 600
, y 100
0
y 100
psdBANYAK [ y ]
,100 y 600
500
, y 600
1
21
1
7000 z
prdBERKURANG [ z ]
5000
0
, z 2000
,2000 z 7000
, z 7000
, z 2000
0
z 2000
psdBERTAMB AH [ z ]
,2000 z 7000
5000
, z 7000
1
pmtTURUN = 0.25
pmtNAIK = 0.75
pmtSEDIKIT = 0.6
pmtBANYAK = 0.4
= min(0.25; 0.4)
= 0.25
Dari himpunan produksi barang
BERKURANG,
(7000-z)/5000 = 0.25 z1 = 5750
Rule 2
-predikat2 = pmtTURUN psdSEDIKIT
= min(pmtTURUN[4000]
psdSEDIKIT[300])
= min(0.25; 0.6)
= 0.25
Dari himpunan produksi barang
BERKURANG,
(7000-z)/5000 = 0.25 z2 = 5750
22
Rule 4
-predikat4 = pmtNAIK psdBANYAK
= min(pmtNAIK[4000]
psdBANYAK[300])
= min(0.75; 0.4)
= 0.4
Dari himpunan produksi barang
BERTAMBAH,
(z-2000)/5000 = 0.4 z3 = 4000
= min(0.75; 0.6)
= 0.6
Dari himpunan produksi barang
BERTAMBAH,
(z-2000)/5000 = 0.6 z4 = 5000
4983
0.25 0.25 0.4 0.6
1.5
Kasus 1
Bagaimana jika jumlah PERMINTAAN = 2500, PERSEDIAAN
= 500, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 2
Bagaimana jika jumlah PERMINTAAN = 4500, PERSEDIAAN
= 150, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 3
Bagaimana jika jumlah PERMINTAAN = 5000, PERSEDIAAN
= 75, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
24
METODE SUGENO
25
Metode Mamdani
26
IF permintaan NAIK and persediaan SEDIKIT THEN produksi barang = 1.25*permintaan persediaan
Berapa
kemasan makanan jenis ABC yang harus diproduksi, jika jumlah permintaan
sebanyak 4000 kemasan, dan persediaan di gudang masih 300 kemasan ? (Gunakan
fungsi keanggotaan LINEAR)
27
, x 1000
1
5000 x
pmtTURUN [ x]
,1000 x 5000
x = 4000
4000
, x 5000
0
pmtTURUN[4000] = (5000-4000)/4000 = 0.25
pmtNAIK[4000] = (4000-1000)/4000 = 0.75
, x 1000
0
x 1000
pmtNAIK [ x]
,1000 x 5000
4000
, x 5000
1
28
1
600 y
psdSEDIKIT [ y ]
500
0
, y 100
y = 300
,100 y 600 psdSEDIKIT[300] = (600-300)/500 = 0.6
psdBANYAK[300] = (300-100)/500 = 0.4
, y 600
, y 100
0
y 100
psdBANYAK [ y ]
,100 y 600
500
, y 600
1
29
Rule 3
-predikat3 = pmtNAIK psdBANYAK
= min(pmtNAIK[4000]
psdBANYAK[300])
= min(0.75; 0.4)
= 0.4
Dari bagian konsekuen Rule 3
z3 = permintaan
= 4000
Rule 4
-predikat4 = pmtNAIK psdBANYAK
= min(pmtNAIK[4000]
psdBANYAK[300])
= min(0.75; 0.6)
= 0.6
Dari bagian konsekuen Rule 2
z2 = 1.25*permintaan persediaan
Menghitung z akhir dengan merata-rata
semua z berbobot:
=
1.25
* 4000 300 = 4700
pred 1 * z1 pred 2 * z2 pred 3 * z3 pred 4 * z4
Jadi, jumlah makanan
z
pred 1 pred 2 pred 3 pred 4
jenis ABC yang harus
0.25 * 3700 0.25 * 4000 0.4 * 4000 0.6 * 4700 6345
diproduksi sebanyak
z
4230
4230 kemasan.
0.25 0.25 0.4 0.6
1.5
30
Rule 1
-predikat1 = pmtTURUN psdBANYAK
= min(pmtTURUN[4000]
psdBANYAK[300])
= min(0.25; 0.4)
= 0.25
Dari bagian konsekuen Rule 1
z1 = permintaan persediaan
= 4000 300 = 3700
Rule 2
-predikat2 = pmtTURUN psdSEDIKIT
= min(pmtTURUN[4000]
psdSEDIKIT[300])
= min(0.25; 0.6)
= 0.25
Dari bagian konsekuen Rule 2
z2 = permintaan
= 4000
Kasus 1
Bagaimana jika jumlah PERMINTAAN = 2500, PERSEDIAAN
= 500, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 2
Bagaimana jika jumlah PERMINTAAN = 4500, PERSEDIAAN
= 150, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 3
Bagaimana jika jumlah PERMINTAAN = 5000, PERSEDIAAN
= 75, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
31
METODE MAMDANI
32
Metode Mamdani
Diperkenalkan
4. Penegasan (defuzzyfication)
Input disini adalah suatu himpunan fuzzy yang diperoleh dari komposisi
aturan-aturan fuzzy, outputnya adalah nilai tegs (crisp)
Metode defuzzifikasi: Centroid (Center of Mass), dan Mean of
Maximum (MOM)
33
(sum)
OR (probor)
Contoh inferensi
fuzzy model
Mamdani
Rule: 1
IF x is A3
OR y is B1
THEN z is C1
Rule: 2
IF x is A2
AND y is B2
THEN z is C2
Rule: 3
IF x is A1
THEN z is C3
Metode Defuzzifikasi
Metode
Centroid
Solusi crisp diperoleh dengan mengambil titik pusat (z*) daerah fuzzy
Dirumuskan:
z. ( z ) dz
Z
z*
Untuk semesta kontinyu
( z )dz
Z
n
z*
z j(z j )
j 1
n
(z j )
j 1
Metode
z*
.
zj
j 1
36
, x 1000
1
5000 x
pmtTURUN [ x]
,1000 x 5000
x = 4000
4000
, x 5000
0
pmtTURUN[4000] = (5000-4000)/4000 = 0.25
pmtNAIK[4000] = (4000-1000)/4000 = 0.75
, x 1000
0
x 1000
pmtNAIK [ x]
,1000 x 5000
4000
, x 5000
1
38
y = 300
1
600 y
psdSEDIKIT [ y ]
500
0
, y 100
,100 y 600 psdSEDIKIT[300] = (600-300)/500 = 0.6
psdBANYAK[300] = (300-100)/500 = 0.4
, y 600
, y 100
0
y 100
psdBANYAK [ y ]
,100 y 600
500
, y 600
1
39
pmtSEDIKIT = 0.6
pmtTURUN = 0.25
pmtBANYAK = 0.4
pmtNAIK = 0.75
Nilai -predikat dan Z dari setiap aturan
Rule 1
IF permintaan TURUN and persediaan BANYAK THEN produksi barang
BERKURANG
-predikat1 = pmtTURUN psdBANYAK
= min(pmtTURUN[4000] psdBANYAK[300])
= min(0.25; 0.4)
= 0.25
Rule 2
IF permintaan TURUN and persediaan SEDIKIT THEN produksi barang
BERKURANG
-predikat2 = pmtTURUN psdSEDIKIT
= min(pmtTURUN[4000] psdSEDIKIT[300])
= min(0.25; 0.6)
= 0.25
40
pmtTURUN
pmtNAIK
Rule 3
IF permintaan NAIK and persediaan BANYAK THEN produksi barang
BERTAMBAH
-predikat3 = pmtNAIK psdBANYAK
= min(pmtNAIK[4000] psdBANYAK[300])
= min(0.75; 0.4)
= 0.4
Rule 4
IF permintaan NAIK and persediaan SEDIKIT THEN produksi barang
BERTAMBAH
-predikat4 = pmtNAIK psdBANYAK
= min(pmtNAIK[4000] psdBANYAK[300])
= min(0.75; 0.6)
= 0.6
41
MAX
=
Daerah himpunan fuzzy terbagi 3: A1, A2, dan
A3.
[
z
]
0.6
, z 5000
(a2 2000)/5000 = 0.6 a2 = 5000
42
0.25
, z 3250
0.6
, z 5000
z
dz
M1 (0.25)z dz
M3 (0.6)z dz
3250
5000
0
5000
Moment
5000
3250
2 7000
2
M1 0.125 * z 2 0
M3
0.3
*
z
M2 (0.0002z - 0.4z) dz
5000
3250
M1 1320312.5
M3 7200000
5000
M2 0.000067z 3 - 0.2z 2 3250
3250
A1 0.25 dz
0
Luas
A1 0.25 * z 0
3250
M2 3187515.625
5000
(z - 2000)
A2
zd
3250
5000
7000
A3 (0.6) dz
5000
A3 0.6 * z 5000
7000
5000
A2 (z/5000 - 0.4) dz
3250
5000
A3 1200
43
4247.74
A1 A2 A3
812.5 743.75 1200
Jadi, jumlah makanan jenis ABC yang harus diproduksi
sebanyak 4248 kemasan.
Menghitung z* menggunakan metode Mean of
Maximum (MOM)
l
7000
(7000 5000 1)(5000 7000)
z
z
j
j
j 1
j 5000
2
z*
l
7000 5000 1
2001
2001*12000
1200600
2
z*
6000
2001
2001
Jadi, jumlah makanan jenis ABC yang harus diproduksi
sebanyak 6000 kemasan.
44
Kasus 1
Bagaimana jika jumlah PERMINTAAN = 2500, PERSEDIAAN
= 500, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 2
Bagaimana jika jumlah PERMINTAAN = 4500, PERSEDIAAN
= 150, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
Kasus 3
Bagaimana jika jumlah PERMINTAAN = 5000, PERSEDIAAN
= 75, berapa kemasan makanan jenis ABC yang harus
diproduksi ?
45
ANY QUESTIONS ?
46