LOGIKA SAMAR (FUZZY LOGIC)
2.1 Himpunan Samar 2.1.1
Himpunan Klasik dan Himpunan Samar Himpunan klasik merupakan himpunan dengan batasan yang tegas (crisp) (Jang, Sun, dan Mizutani, 2004).
Sebagai contoh : himpunan klasik A untuk bilangan nyata yang lebih besar dari 8 dapat diekspresikan dalam persamaan (2.1).
A = {x | x > 8}
(2.1)
Dalam persamaan (2.1) jelas batasan bahwa jika x lebih besar dari 8 maka x merupakan bagian himpunan A, sementara untuk nilai x lainnya bukan merupakan bagian dari himpunan A. Berkebalikan dengan himpunan klasik, himpunan samar merupakan himpunan tanpa batas yang jelas (Jang, Sun, dan Mizutani, 2004). Dalam himpunan samar, batas antara “anggota himpunan” dan “bukan anggota himpunan” adalah bertahap dan perubahan perlahan dibentuk dengan fungsi keanggotaan yang memberikan fleksibilitas dalam memodelkan ekspresi linguistic (bahasa) yang biasa digunakan, sebagai contoh “airnya dingin” atau “suhu udara dingin” (Jang, Sun, dan Mizutani, 2004). Sebagai ilustrasi, secara matematika dapat diekspresikan bahwa himpunan orang yang tinggi adalah orang yang tingginya lebih dari 180 cm. Jika diwujudkan dalam persamaan seperti pada persamaan (2.1), misal A= ”Orang yang Tinggi” dan x =”Tinggi”, maka persamaan tersebut tidak cukup untuk mewujudkan konsep sesungguhnya dari orang yang tinggi. Himpunan orang tinggi dalam konsep himpunan klasik digambarkan seperti dalam gambar 2.1.
1 derajat keanggotaan 0 150
155
160
165
170
175
180
185
190
tinggi
Gambar 2.1. Himpunan Klasik Orang Tinggi
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
1
Jika digunakan persamaan tersebut maka orang dengan tinggi 180 cm dapat dikatakan orang yang tinggi sementara orang dengan tinggi 175 cm bahkan 179 cm tidak dapat dikatakan sama sekali sebagai orang yang tinggi. Terdapat batas yang jelas dan perubahan yang tajam antara menjadi anggota dan bukan anggota dalam himpunan.
1 derajat keanggotaan
0.65 0 150
155
160
165
170
175
180
185
190
tinggi
Gambar 2.2. Himpunan Samar Orang Tinggi Dalam himpunan samar, batas antara ”anggota himpunan” dan ”bukan anggota himpunan” adalah bertahap dan dengan perubahan perlahan. Pada gambar 2.2, orang dengan tinggi lebih dari atau sama dengan 180 cm adalah anggota himpunan orang yang tinggi dengan derajat keanggotaan 1. Sementara orang dengan tinggi kurang dari 180 cm, dapat menjadi anggota himpunan orang yang tinggi dengan derajat keanggotaan yang berbeda-beda. Misal orang dengan tinggi 175 cm, menjadi anggota himpunan orang yang tinggi dengan derajat keanggotaan 0.65, sementara orang dengan tinggi 164 cm, memiliki derajat keanggotaan 0 terhadap himpunan orang yang tinggi. Derajat keanggotaan menunjukkan seberapa dekat nilai terhadap batas derajat keanggotaan himpunan yang sempurna.
2.1.2
Konsep Himpunan Samar Himpunan klasik diwujudkan dengan mendefinisikan fungsi karakteristik untuk setiap elemen anggota
himpunan klasik tersebut (Jang, Sun, dan Mizutani, 2004). Misal untuk himpunan klasik A, (x,0) atau (x,1) menunjukkan x anggota himpunan A ( x ∈ A) atau x bukan anggota himpunan A ( x ∉ A) . Tidak seperti himpunan klasik, himpunan samar menggunakan derajat untuk menilai keanggotaan suatu elemen dalam suatu himpunan (Jang, Sun, dan Mizutani, 2004). Untuk itu fungsi karakteristik himpunan samar menggunakan nilai antara 0 sampai 1, yang menunjukkan nilai derajat keanggotaan suatu elemen dalam himpunan samar. Jika X adalah kumpulan obyek dengan keanggotaan elemen x didalamnya yang disebut sebagai semesta pembicaraan, maka himpunan samar
A dalam X didefinisikan sebagai himpunan dapat
diekspresikan dengan persamaan (2.2). A = {( x, µ A ( x )) | x ∈ X } PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.2) 2
Yang mana µ A(x) disebut fungsi keanggotaan untuk himpunan samar A. Fungsi keanggotaan memetakan setiap elemen dari X dalam nilai keanggotaan antara 0 hingga 1. Sehingga dapat diketahui bahwa himpunan samar merupakan perluasan sederhana dari himpunan klasik yang mana fungsi karakteristiknya dimungkinkan untuk bernilai antara 0 dan 1. Jika nilai dari fungsi keanggotaan µ A(x) dibatasi untuk 0 dan 1 maka himpunan samar disederhanakan menjadi himpunan klasik. Berdasar persamaan (2.2), jika X adalah kumpulan dari obyek diskrit maka himpunan samar A dinyatakan dalam persamaan (2.3).
A = ∑ xi ∈ X µ A ( xi ) / xi
(2.3)
Sedangkan jika X adalah nilai kontinu, maka himpunan samar A dinyatakan dalam persamaan (2.4). A = ∫ µ A ( x) / x
(2.4)
X
Tanda Σ dan ∫ merupakan tanda untuk union (gabungan) dari pasangan ( x , µ A ( x )) bukan merupakan tanda penjumlahan atau integral. Tanda / juga hanya merupakan tanda antara pasangan elemen x dengan fungsi keanggotaannya µ A(x), bukan merupakan pembagian. Sebagai contoh himpunan samar dengan semesta pembicaraan diskrit, misal X = {0, 1, 2, 3, 4, 5, 6} adalah himpunan dari jumlah anak yang mungkin diinginkan oleh pasangan suami istri. Maka himpunan samar A untuk jumlah anak yang diinginkan oleh pasangan suami istri adalah : A = {(0,0.1), (1,0.3), (2,0.7), (3,1), (4,0.7), (5,0.3), (60.1)} Sedangkan contoh himpunan samar dengan semesta pembicaraan X kontinu, misal X = R+ merupakan himpunan dari kemungkinan usia harapan hidup manusia indonesia. Maka himpunan samar A = berkisar usia 60 tahun, dapat dituliskan dalam persamaan (2.5). A = { {( x, µ A ( x )) | x ∈ X } }
Dengan nilai didefinisikan persamaan (2.6).
µ A ( x) =
1
x − 60 1+ 10
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
4
(2.5)
(2.6)
3
2.1.3
Fungsi Keanggotaan Himpunan Samar didefinisikan oleh fungsi keanggotaannya. Fungsi keanggotaan merupakan suatu
kurva yang menunjukkan pemetaan titik-titik data masukan ke dalam nilai keanggotaannya (Jang, Sun, dan Mizutani, 2004). Terdapat beberapa kurva yang digunakan untuk mendefinisikan fungsi keanggotaan (Jang, Sun, dan Mizutani, 2004), yaitu : 1. Fungsi keanggotaan segitiga (Triangular membership function) Fungsi keanggotaan segitiga ditentukan oleh 3 parameter yaitu {a, b, c} dengan mengikuti aturan dalam persamaan (2.7).
0, x − a x ≤ a ,a ≤ x ≤ b b − a segitiga( x; a, b, c) = c−x b≤ x≤c , c − b c ≤ x 0,
(2.7)
Atau dengan menggunakan min dan max, dapat didefinisikan dengan persamaan (2.8). x−a c−x segitiga ( x; a, b, c) = max min , ,0 b−a c−b
(2.8)
Parameter {a, b, c} dengan a < b < c menentukan koordinat x dari 3 sudut fungsi keanggotaan segitiga. Fungsi keanggotaan segitiga dapat digambarkan seperti dalam gambar 2.3.
1 Derajat keanggotaan 0
a
b
c
Gambar 2.3. Fungsi Keanggotaan Segitiga
2. Fungsi keanggotaan trapezium (Trapezoidal membership function) Fungsi keanggotaan trapesium ditentukan 4 parameter {a, b, c, d} yang mengikuti aturan dalam persamaan (2.9). 0, x≤a x−a , a≤ x≤b b − a trapesium( x; a, b, c, d ) = 1, b ≤ x ≤ c d − x c ≤ x ≤ d d − c , d≤x 0, PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.9)
4
Dan sebagai alternatif dapat digunakan min dan max dalam persamaan (2.10).
x−a d −x trapesium( x; a, b, c, d ) = max min ,1, ,0 b−a d −c
(2.10)
Dalam persamaan (2.10) parameter {a, b, c, d} dengan a < b < c < d menentukan koordinat x dari 3 sudut fungsi keanggotaan trapesium. Fungsi keanggotaan trapesium dapat digambarkan seperti pada gambar 2.4.
1 Derajat keanggotaan 0
a
b
c
d
Gambar 2.4. Fungsi Keanggotaan Trapesium
3. Fungsi keanggotaan gaussian (Gaussian membership function) Fungsi keanggotaan Gaussian ditentukan dengan 2 parameter {c, σ} dengan mengikuti persamaan (2.11). gaussian( x; c, σ ) = e
1 x −c 2 σ
2
(2.11)
Fungsi keanggotaan gaussian ditentukan oleh c dan σ. c merepresentasikan titik tengah (center) dan σ merepresentasikan lebar dari fungsi keanggotaan. Fungsi keanggotaan Gaussian dapat diwujudkan seperti pada gambar 2.5.
1 Derajat keanggotaan
0
c σ
Gambar 2.5. Fungsi Keanggotaan Gaussian
4. Fungsi keanggotaan lonceng (Bell membership function) Fungsi keanggotaan lonceng ditentukan oleh 3 parameter {a, b, c} dengan mengikuti persamaan (2.12).
bell ( x; a, b, c) =
1 x−c 1+ a
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
2b
(2.12)
5
c mendefinisikan titik tengah, a mendefinisikan lebar kurva dan b digunakan untuk mengendalikan nilai slope dan crossover. Parameter b biasanya bernilai positif. Fungsi keanggotaan lonceng dapat diilustrasikan seperti gambar 2.6.
1 Derajat keanggotaan 0.5
0
Slope = -b/2a
c-a
c
c+a
2a
Gambar 2.6. Fungsi Keanggotaan Lonceng
5. Fungsi keanggotaan sigmoidal (Sigmoidal membership function) Fungsi keanggotaan sigmoidal didefinisikan dengan persamaan (2.13).
sig ( x; a, c) =
1 1 + exp[− a( x − c )]
(2.13)
Nilai parameter a mengendalikan slope pada nilai crossover x = c. Fungsi keanggotaan sigmoidal dapat dilihat pada gambar 2.7.
1 Derajat keanggotaan 0.5 0
c
Gambar 2.7. Fungsi Keanggotaan Sigmoidal
2.1.4
Variabel Linguistik Variabel linguistik merupakan cara untuk mendefinisikan himpunan samar dengan variabel yang berupa
kata atau kalimat (Jang, Sun, dan Mizutani, 2004). Variabel linguistik didefinisikan dengan lima hal dituliskan dalam persamaan (2.14). (x, T(x), X, G, M) PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.14) 6
Dalam persamaan (2.14) x adalah nama dari variabel linguistik. T(x) adalah himpunan istilah dari nilai linguistik x. X adalah semesta pembicaraan dari x. G adalah aturan sintaksis yang menghasilkan istilah dalam T(x). Dan M adalah aturan semantik yang berhubungan dengan setiap nilai linguistik. Sebagai contoh jika didefinisikan variabel linguistik nilai ujian, maka himpunan istilah linguistik T(nilai ujian) adalah T(nilai ujian) = {jelek, sedang, bagus} yang mana setiap istilah dalam T(nilai ujian) didefinisikan dengan semesta pembicaraan X = [0 10]. Aturan sintaksis
berkaitan dengan cara nilai linguistik dalam
himpunan istilah T(nilai ujian) dihasilkan. Aturan semantik mendefinisikan fungsi keanggotaan untuk setiap nilai linguistik x dalam T(x), yaitu M(jelek), M(sedang), dan M(bagus).
jelek
1
sedang
bagus
derajat keanggotaan 0
1
2
3
4
5
6
7
8
9
10
nilai ujian
Gambar 2.8. Himpunan Samar Nilai Ujian Pada gambar 2.8 dapat dilihat M(jelek) adalah himpunan samar untuk nilai ujian kurang dari sama dengan 5 dengan fungsi keanggotaan µ jelek diekspresikan dalam persamaan (2.15). 1, 6 − x,
µ ( jelek ) = Sedangkan M(sedang)
x≤5 5≤ x≤6
(2.15)
adalah himpunan samar untuk nilai ujian diantara 6 hingga 7.5 dengan fungsi
keanggotan µ sedang diekspresikan dalam persamaan (2.16). x − 5, µ ( sedang ) = 1, 8.5 − x,
5≤ x≤6 6 ≤ x ≤ 7 .5 7 .5 ≤ x ≤ 8 .5
(2.16)
Dan M(bagus) adalah himpunan samar untuk nilai ujian diantara lebih dari sama dengan 8.5 dengan fungsi keanggotan µ bagus diekspresikan dalam persamaan (2.17). x − 7.5, 1,
µ (bagus) =
7 .5 ≤ x ≤ 8 .5 x ≥ 8 .5
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.17)
7
2.2 Logika Samar 2.2.1
Proposisi Samar Perbedaan utama dari proposisi klasik dan proposisi samar terdapat pada rentang nilai kebenarannya
(Klir, dan Yuan, 1995). Jika proposisi klasik akan dinyatakan benar atau salah, maka proposisi samar dinyatakan dalam derajat kebenarannya. Proposisi samar dapat diklasifikasikan dalam 4 tipe (Klir, dan Yuan, 1995).
2.2.1.1 Proposisi Samar Tidak Bersyarat dan Tidak Terukur Proposisi samar tidak bersyarat dan tidak terukur diekspresikan dengan persamaan (2.24) (Klir, dan Yuan, 1995).
p : ν adalah F
(2.24)
Dengan υ adalah variabel yang memberikan nilai υ dari himpunan semesta V. Sedangkan F merupakan himpunan samar dalam V. Untuk setiap nilai υ dari υ memiliki derajat keanggotan F(υ) terhadap F yang juga merupakan derajat kebenaran dari proposisi p disimbolkan dalam persamaan (2.25). p : T(p) = F(υ)
(2.25)
Misal υ kecepatan kendaraan dengan fungsi keanggotaan untuk sifat tinggi seperti terlihat pada gambar 2.9.
tinggi
1 derajat keanggotaan 0
10
20
30
40
50
60
70
80
90
100
kecepatan kendaraan
Gambar 2.9. Fungsi Keanggotaan Kecepatan Kendaraan Tinggi
Maka proposisi terbentuk adalah kecepatan kendaraan (υ) adalah tinggi (F), dengan derajat kebenaran T(p) = F(υ), sehingga jika kecepatan kendaraan υ = 85 maka derajat kebenaran proposisi T(p) = F(υ) = 1 dan jika kecepatan kendaraan υ = 70 maka derajat kebenaran T(p) = F(υ) = 0,5.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
8
2.2.1.2 Proposisi Samar Tidak Bersyarat dan Terukur Proposisi samar tidak bersyarat dan terukur diekspresikan dengan persamaan (2.26) (Klir, dan Yuan, 1995).
p : ν adalah F adalah S
(2.26)
Yang mana υ adalah variabel yang memberikan nilai υ dari himpunan semesta V. Sedangkan F merupakan himpunan samar dalam V dan S adalah ukuran kebenaran samar. Secara umum derajat kebenaran T(p) dari proposisi p untuk setiap nilai υ ∈ υ disimbolkan dalam persamaan (2.27). p : T(p) = S(F(υ))
(2.27)
Misal υ umur dengan fungsi keanggotaan untuk sifat muda dan ukuran kebenaran samar dapat didefinisikan seperti dalam gambar 2.10. Contoh proposisinya adalah Umur Jaka adalah Muda adalah Benar Sekali. Dan misal umur Jaka 32 tahun, akan merupakan anggota himpunan samar muda dengan derajat keanggotaan 0.6, dan proposisi tersebut memiliki derajat kebenaran dengan ukuran kebenaran samar Benar Sekali 0.36. muda 1 Derajat Keanggotaan F(v) 0 5
10
15
20 25 Umur (v)
1
30
35
40
(a)
Agak Benar; T(p) = S(F(v)) = (F(v))
1/2
Benar; T(p) = S(F(v)) = F(v) Ukuran Kebenaran
Benar Sekali; T(p) = S(F(v)) = (F(v))
2
1
T(p) F(v)
(b)
Gambar 2.10 Fungsi Keanggotaan Umur dan Nilai Kebenarannya
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
9
2.2.1.3 Proposisi Samar Bersyarat dan Tidak Terukur Proposisi samar bersyarat dan tidak terukur diekspresikan dengan persamaan (2.28) (Klir, dan Yuan, 1995).
p : Jika x adalah A maka y adalah B
(2.28)
Yang mana x, y merupakan variabel yang nilainya berada dalam himpunan X,Y dan A, B adalah himpunan samar dalam himpunan X,Y. Contoh proposisinya adalah Jika Jaka Gemuk maka Ukuran Celananya adalah Besar. 2.2.1.4 Proposisi Samar Bersyarat dan Terukur Proposisi samar bersyarat dan terukur diekspresikan dengan persamaan (2.29) (Klir, dan Yuan, 1995).
p : Jika x adalah A maka y adalah B adalah S
(2.29)
Yang mana x, y merupakan variabel yang nilainya berada dalam himpunan X,Y dan A, B adalah himpunan samar dalam himpunan X,Y dan S merupakan ukuran kebenaran samar. Contoh proposisinya adalah Jika Jaka Gemuk maka Ukuran Celananya adalah Besar adalah Benar Sekali.
2.2.2
Fungsi Implikasi Untuk Proposisi Samar Fungsi implikasi berkaitan dengan bagaimana cara menginterpretasikan proposisi samar menjadi suatu
relasi samar (Wang, 1997). 2.2.2.1 Fungsi Implikasi Minimum Fungsi implikasi minimum akan memotong keluaran dari himpunan samar (Kusumadewi, 2003), seperti terlihat dalam gambar 2.11.
TINGGI
SEDANG
NORMAL
Aplikasi Fungsi Implikasi
IF Permintaan TINGGI AND Biaya Produksi SEDANG THEN Produksi NORMAL
Gambar 2.11 Fungsi Implikasi MIN PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
10
2.2.2.2 Fungsi Implikasi Product (Dot) Fungsi implikasi dot akan menskalakan keluaran dari himpunan samar (Kusumadewi, 2003), seperti terlihat dalam gambar 2.12.
TINGGI
SEDANG
NORMAL
Aplikasi Fungsi Implikasi
IF Permintaan TINGGI AND Biaya Produksi SEDANG THEN Produksi NORMAL
Gambar 2.12 Fungsi Implikasi DOT
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
11
2.2.3
Metode Penarikan Kesimpulan
2.2.3.1 Metode Maksimum Metode maksimum merupakan metode penarikan kesimpulan yang mana solusi himpunan samar diperoleh dengan mengambil nilai maksimum aturan, kemudian menggunakannya untuk memodifikasi daerah samar, dan mengaplikasikannya ke keluaran dengan menggunakan operator OR (Kusumadewi, 2003).
NAIK
RENDAH
BERTAMBAH
Aplikasi Fungsi Implikasi
IF Biaya Produksi RENDAH AND Permintaan NAIK THEN Produksi BERTAMBAH STANDAR
NORMAL
Tidak ada Input
IF Biaya Produksi STANDAR THEN Permintaan NORMAL TINGGI
TURUN
BERKURANG
IF Biaya Produksi TINGGI AND Permintaan TURUN THEN Produksi BERKURANG Penarikan Kesimpulan
Gambar 2.13 Penarikan Kesimpulan Metode Maksimum Secara umum dapat tuliskan dalam seperti pada persamaan (2.30). [ ] ← [ ], [ ]
(2.30)
Dengan [ ] merupakan nilai keanggotaan solusi samar sampai aturan ke-i, dan [ ] merupakan nilai
keanggotaan konsekuen samar aturan ke-i. Proses penarikan kesimpulan dengan metode maksimum terlihat pada gambar 2.13.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
12
2.2.3.2 Metode Additive (Penjumlahan) Metode penjumlahan merupakan metode penarikan kesimpulan yang mana solusi himpunan samar diperoleh dengan cara melakukan bounded-sum terhadap semua keluaran daerah samar (Kusumadewi, 2003). Secara umum dapat diekspresikan dalam persamaan (2.31).
[ ] ← , [ ] + [ ]
(2.31)
Dengan [ ] merupakan nilai keanggotaan solusi samar sampai aturan ke-i, dan [ ] merupakan nilai
keanggotaan konsekuen samar aturan ke-i.
2.2.3.3 Metode Probabilistik OR Metode probabilistic OR merupakan metode penarikan kesimpulan yang mana solusi himpunan samar diperoleh dengan cara melakukan product terhadap semua keluaran daerah samar (Kusumadewi, 2003). Secara umum dapat diekspresikan dalam persamaan (2.32).
[ ] ← [ ] + [ ] − [ ] ∗ [ ]
(2.32)
Dengan [ ] merupakan nilai keanggotaan solusi samar sampai aturan ke-i, dan [ ] merupakan nilai
keanggotaan konsekuen samar aturan ke-i.
2.2.4
Metode Penegasan (Defuzzifikasi) Defuzzifikasi atau penegasan merupakan metode untuk memetakan nilai dari himpunan samar ke dalam
nilai crisp (Wang, 1997). Masukan proses defuzzifikasi adalah himpunan samar. Terdapat beberapa metode defuzzifikasi (Kusumadewi, 2003) antara lain : 1.
Metode Centroid (Composite Moment) Pada metode ini, penyelesaian crisp diperoleh dengan cara mengambil titik pusat (z*) daerah samar. Secara umum untuk semesta kontinu dirumuskan dalam persamaan (2.33), dan untuk semesta diskret dirumuskan dalam persamaan (2.34).
∗ =
= ∗
∑" !# ! !
∑" !# ! PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.33)
(2.34) 13
2.
Metode Bisektor Pada metode ini, penyelesaian crisp diperoleh dengan cara mengambil nilai pada domain samar yang memiliki nilai keanggotaan separo dari jumlah total nilai keanggotaan pada daerah samar.
3.
Metode Mean of Maximum (MOM) Pada metode ini, penyelesaian crisp diperoleh dengan cara mengambil nilai rata-rata domain samar yang memiliki nilai maksimum.
4.
Metode Largest of Maximum (LOM) Pada metode ini, penyelesaian crisp diperoleh dengan cara mengambil nilai terbesar pada domain samar yang memiliki nilai maksimum.
5.
Metode Smallest of Maximum (SOM) Pada metode ini, penyelesaian crisp diperoleh dengan cara mengambil nilai terkecil pada domain samar yang memiliki nilai maksimum.
Secara keseluruhan metode defuzzifikasi dapat digambarkan seperti pada gambar 2.14.
Gambar 2.14 Metode Defuzzifikasi
2.3 Sistem Samar 2.3.1
Struktur Umum Sistem Inferensi Samar Sistem inferensi samar merupakan suatu kerangka komputasi yang didasarkan pada teori himpunan
samar, aturan samar JIKA-MAKA dan penalaran samar (Jang, Sun, dan Mizutani, 2004). Struktur dasar dari sistem inferensi samar terdiri dari 3 konseptual komponen (Jang, Sun, dan Mizutani, 2004), yaitu :
Basis Aturan (Rule Base) yang mengandung aturan samar JIKA-MAKA
Basis Data (Database) yang mendefinisikan fungsi keanggotaan untuk digunakan dalam aturan samar.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
14
Mekanisme penalaran yang menjalankan proses pengambilan keputusan berdasar aturan dan fakta diberikan untuk memperoleh keluaran atau kesimpulan. Sistem inferensi samar dasar dapat menerima masukan berupa nilai samar maupun crisp, akan tetapi
keluaran dihasilkan lebih sering berupa himpunan samar. Untuk mendapatkan keluaran crisp dapat dilakukan dengan metode defuzzifikasi.
rule 1 x is A1
W1
(fuzzy)
y is B1
Crisp Or x
rule 2 x is A2
W1
(crisp)
y is B2
(fuzzy)
Aggregator (fuzzy)
Defuzzifier
y
rule n x is An
W1
(fuzzy)
y is Bn
Gambar 2.15 Blok Diagram Sistem Inferensi Samar
Sistem inferensi fuzzy menerima input crisp. Input ini kemudian dikirim ke basis pengetahuan yang berisi n aturan fuzzy dalam bentuk If-Then. Fire strength akan dicari pada setiap aturan. Apabila jumlah aturan lebih dari satu, maka akan dilakukan agregasi dari semua aturan. Selanjutnya, hasil agregasi akan dilakukan defuzzy untuk mendapatkan nilai crisp sebagai keluaran sistem. Terdapat beberapa model Sistem Inferensi Samar (Jang, Sun, dan Mizutani, 2004), antara lain : •
Model Fuzzy Mamdani
•
Model Fuzzy Sugeno (TSK)
•
Model Fuzzy Tsukamoto
Perbedaan antara ketiga sistem inferensi samar terdapat pada konsekuen dari aturan samar, aggregasi dan prosedur defuzzifikasi.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
15
2.3.2
Model-model Sistem Samar
2.3.2.1 Sistem Samar Model Mamdani
Sistem samar model Mamdani disebut juga dengan metode max-min (Kusumadewi, 2003). Untuk mendapatkan keluaran pada metode ini, diperlukan 4 tahapan yaitu : 1. Pembentukan himpunan samar Pada metode mamdani, baik variabel input maupun variabel output dibagi menjadi satu atau lebih himpunan samar. 2. Penggunaan Fungsi Implikasi
Metode mamdani menggunakan fungsi implikasi min. 3. Penarikan Kesimpulan / Komposisi Aturan
Komposisi aturan yang digunakan dalam metode mamdani adalah metode max. 4. Defuzzifikasi
Defuzzifikasi pada metode mamdani dapat dilakukan dengan beberapa metode defuzzifikasi antara lain : Centroid, Bisektor, Mean of Maximum, Largest of Maximum atau Smallest of Maximum. Ilustrasi sistem samar model mamdani dapat dilihat pada gambar 2.16.
Gambar 2.16 Sistem Samar Model Mamdani
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
16
2.3.2.2 Sistem Samar Model Sugeno (TSK)
Sistem samar model Sugeno juga dikenal dengan nama model TSK. Model Sugeno merupakan usaha untuk mengenbangkan pendekatan sistematis untuk membangun membangun aturan samar dari himpunan data masukan dan 2004). Aturan samar pada model sugeno biasanya diwujudkan dalam keluaran (Jang, Sun, dan Mizutani, 2004). susunan :
JIKA x adalah A dan y adalah B maka z = f(x,y) yang mana A dan B adalah himpunan samar pada anteseden, anteseden, dan z = f(x,y) merupakan fungsi crisp pada konsekuen. f(x,y) biasanya merupakan polinomial pada variabel masukan x dan y, tetapi dapat berupa fungsi.
Jika f(x,y) merupakan polinomial orde 1 maka hasil dari sistem inferensi samar disebut model samar sugeno orde 1. Ketika f merupakan konstanta maka sistem inferensi samarnya disebut model samar sugeno orde 0.
Ilustrasi sistem samar model sugeno dapat dilihat pada gambar 2.17.
Gambar 2.17. Sistem Samar Model Sugeno
2.3.2.3 Sistem Samar Model Tsukamoto
Dalam sistem samar model tsukamoto, konsekuen pada setiap aturan samar JIKA-MAKA diwakili oleh himpunan samar dengan fungsi keanggotaan monoton. Nilai hasil pada konsekuen setiap aturan samar berupa
nilai crisp yang diperoleh berdasarkan fire strength pada antesedennya. Keluaran sistem dihasilkan dari konsep rata-rata terbobot dari keluaran setiap aturan samar (Jang, Sun, dan Mizutani, 2004). Ilustrasi sistem samar
metode tsukamoto dapat dilihat pada gambar 2.18. PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
17
Gambar 2.18 Sistem Samar Model Tsukamoto
Misal terdapat 2 variabel masukan, yaitu x dan y serta sebuah variabel keluaran yaitu z. Variabel x terbagi atas 2 himpunan A1 dan A2, variabel y terbagi atas 2 himpunan B1 dan B2, dan variabel keluaran y terbagi atas 2 himpunan C1 dan C2. Jika terdapat 2 aturan samar :
JIKA x adalah A1 dan y adalah B2 MAKA z adalah C1 JIKA x adalah A2 dan y adalah B2 MAKA z adalah C2 α-predikat untuk aturan pertama adalah w1 dan α-predikat untuk aturan kedua adalah w2. Dengan penalaran
monoton didapat keluaran aturan pertama adalah z1 dan z2 sebagai keluaran untuk aturan kedua. Dan untuk mendapatkan keluaran akhir digunakan konsep rata-rata terbobot dengan persamaan (2.35). z=
w1 z1 + w2 z 2 w1 + w2
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
(2.35)
18
1. SISTEM INFERENSI FUZZY a. METODE TSUKAMOTO b. METODE MAMDANI c. METODE SUGENO 1.1. METODE TSUKAMOTO Setiap konsekuen pada aturan berbentuk IF-THEN direpresentasikan dengan suatu himpunan Fuzzy dengan fungsi keanggotaan yang monoton. Sebagai hasil, output tiap-tiap aturan diberikan secara tegas berdasar α-predikat (fire strenght).
CONTOH KASUS 1: Sebuah perusahaan makanan kaleng akan memproduksi makanan jenis ABC. Dari data 1 bulan terakhir, PERMINTAAN TERBESAR mencapai 5000 kemasan/hari, dan PERMINTAAN TERKECIL 1000 kemasan/hari. PERSEDIAAN TERBANYAK digudang sampai 600 kemasan/hari, dan PERSEDIAAN TERKECIL mencapai 100 kemasan/hari. Dengan segala keterbatasan kemampuan PRODUKSI TERBANYAK adalah 7000 kemasan/hari, dan agar efisien PRODUKSI TERKECIL adalah 2000 kemasan/hari. Dalam produksi perusahaan menggunakan aturan : R1 : R2 : R3 : R4 :
JIKA permintaan TURUN dan persediaan BANYAK maka produksi BERKURANG JIKA permintaan TURUN dan persediaan SEDIKIT maka produksi BERKURANG JIKA permintaan NAIK dan persediaan BANYAK maka produksi BERTAMBAH JIKA permintaan NAIK dan persediaan SEDIKIT maka produksi BERTAMBAH
Berapa harus diproduki jika PERMINTAAN 4000 kemasan dan PERSEDIAAN 300 kemasan.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
19
SOLUSI : Terdapat 3 variabel fuzzy yaitu (1) permintaan, (2) persediaan, dan (3) produksi •
PERMINTAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) TURUN, dan (2) NAIK Diketahui : Permintaan terendah adalah 1000 kemasan/hari Permintaan tertinggi adalah 5000 kemasan/hari Permintaan permasalahan = 4000 kemasan μ[x] 1
TURUN
NAIK
0,75
0,25 0
1000
4000
5000
$%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
$%&'"())"*")[ ]
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
PERMINTAAN Kemasan/hari
•
PERSEDIAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) SEDIKIT, dan (2) BANYAK Diketahui : Persediaan terendah adalah 100 kemasan/hari Persediaan tertinggi adalah 600 kemasan/hari Persediaan permasalahan = 300 kemasan μ[y] 1
SEDIKIT
BANYAK
0,6
$%&%))"*7)"4)[4]
0,4
0
$%&%))"*%([4]
100
300
1 5 ≤ 100 600 − 5 , , 100 ≤ 5 ≤ 6003 500 0 5 ≥ 600
0 5 ≤ 100 5 − 100 , , 100 ≤ 5 ≤ 6003 500 1 5 ≥ 600
600
PERSEDIAAN Kemasan/hari
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
20
•
PRODUKSI Terdiri dari 2 himpunan fuzzy, yaitu (1) BERKURANG, dan (2) BERTAMBAH Diketahui : Produksi terendah adalah 2000 kemasan/hari Produksi tertinggi adalah 7000 kemasan/hari Produksi permasalahan = ditanyakan ?? kemasan μ[z] BERTAMBAH
BERKURANG
1
$&8+*7%&+&)"9[] $&8+*7%&()'7)=[]
0
1 7000 − : , , 5000 0
: ≤ 2000
0 : − 2000 , , 5000 1
2000 ≤ : ≤ 70003 : ≥ 7000
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
7000
2000 PRODUKSI Kemasan/hari
Cari Nilai Produksi Z, dengan fungsi implikasi MIN •
Permintaan x Fungsi keanggotaan TURUN : $%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
Fungsi keanggotaan NAIK : $%&'"())"*")[ ]
•
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
Persediaan y Fungsi keanggotaan SEDIKIT : $%&%))"*%([4]
1 600 − 5 , , 500 0 0 5 − 100 , , 500 1
Fungsi keanggotaan BANYAK : $%&%))"*7)"4)[4]
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
Permintaan = 4000
>?@ABCDEEC*DF@FC[GHHH] = Permintaan = 4000
5000 − 4000 4000
= 0,25
>?@ABCDEEC*CEBI[GHHH] =
4000 − 1000 4000
= 0,75
Persediaan = 300 >?@J?KBEEC*J?KBIBD[LHH] =
Permintaan = 300
600 − 300 500
= 0,6
>?@J?KBEEC*NECOEI[LHH] =
300 − 600 500
= 0,4
21
•
Mencari Produksi z R1 : JIKA permintaan TURUN dan persediaan BANYAK maka produksi BERKURANG P*>@?KBIEDQ = >?@ABCDEEC*DF@FC ∩ >?@J?KBEEC*NECOEI = min >?@ABCDEEC*DF@FC [4000] ∩ >?@J?KBEEC*NECOEI [300] = min 0,25; 0,4 = 0,25 1 7000 − : , , 5000 0
$&8+*7%&+&)"9[] WHHH*XQ YHHH
= 0,25
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
z1 = 5750
R2 : JIKA permintaan TURUN dan persediaan SEDIKIT maka produksi BERKURANG P*>@?KBIEDZ = >?@ABCDEEC*DF@FC ∩ >?@J?KBEEC*J?KBIBD = min >?@ABCDEEC*DF@FC [4000] ∩ >?@J?KBEEC*J?KBIBD [300] = min 0,25; 0,6 = 0,25 1 7000 − : , , 5000 0
$&8+*7%&+&)"9[] WHHH*XZ YHHH
= 0,25
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
z2 = 5750
R3 : JIKA permintaan NAIK dan persediaan BANYAK maka produksi BERTAMBAH P*>@?KBIEDL = >?@ABCDEEC*CEBI ∩ >?@J?KBEEC*NECOEI = min >?@ABCDEEC*CEBI [4000] ∩ >?@J?KBEEC*NECOEI [300] = min 0,75; 0,4 = 0,4
$&8+*7%&()'7)=[] XL*ZHHH YHHH
= 0,4
0 : − 2000 , , 5000 1
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
z3 = 4000
R4 : JIKA permintaan NAIK dan persediaan SEDIKIT maka produksi BERTAMBAH P*>@?KBIEDG = >?@ABCDEEC*CEBI ∩ >?@J?KBEEC*J?KBIBD = min >?@ABCDEEC*CEBI [4000] ∩ >?@J?KBEEC*J?KBIBD [300] = min 0,75; 0,6 = 0,6
$&8+*7%&()'7)=[] XG*ZHHH YHHH
= 0,6
0 : − 2000 , , 5000 1
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
z3 = 5000
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
22
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
μ[x] 1
μ[y] TURUN
μ[z] BANYAK
1
1
BERKURANG
0,4 α1
0,25 0
1000
4000
5000
0
100
PERMINTAAN Kemasan/hari
600
0
2000
PERSEDIAAN Kemasan/hari
μ[x] 1
300
1
7000
z2
7000
PRODUKSI Kemasan/hari
μ[y] TURUN
z1
μ[z] SEDIKIT
1
BERKURANG
0,75
α2
0,25 0
1000
4000 PERMINTAAN Kemasan/hari
5000
0
100
300 PERSEDIAAN Kemasan/hari
600
0
2000 PRODUKSI Kemasan/hari
23
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
μ[x]
μ[y] NAIK
1
μ[z] BANYAK
1
BERTAMBAH
1
0,75
α3
0
1000
4000
5000
PERMINTAAN Kemasan/hari
μ[x]
0
100
NAIK
1
600
PERSEDIAAN Kemasan/hari
μ[y]
1
300
0
2000
PRODUKSI Kemasan/hari
μ[z]
SEDIKIT
7000
z3
BERTAMBAH
1
0,75 α4
0
1000
4000
5000
PERMINTAAN Kemasan/hari
0
100
300 PERSEDIAAN Kemasan/hari
600
0
2000
z4
7000
PRODUKSI Kemasan/hari
Hitung z sebagai berikut : =
:=
:=
P*>@?KBIEDQ ∗ :1 + P*>@?KBIEDZ ∗ :2 + P*>@?KBIEDL ∗ :3 + P*>@?KBIEDG ∗ :4 P*>@?KBIEDQ + P*>@?KBIEDZ + P*>@?KBIEDL + P*>@?KBIEDG
0,25 ∗ 5750 + 0,25 ∗ 5750 + 0,4 ∗ 4000 + 0,6 ∗ 5000 0,25 + 0,25 + 0,4 + 0,6
7475 = 4983 1,5
24
1.2. METODE MAMDANI Disebut juga metode MAX-MIN. Untuk mendapatkan output melalui 4 tahapan sebagai berikut : 1. Pembentukan himpunan fuzzy 2. Aplikasi Fungsi Implikasi (aturan) Mamdani menggunakan fungsi Implikasi Min 3. Komposisi Aturan Mamdani dapat menggunakan 3 komposisi aturan, yaitu : max, additive, or 4. Penegasan (defuzzy) Hasil dari himpunan komposisi, perlu diterjemahkan menjadi nilai crisp sebagai hasil akhir. Terdapat beberapa metode defuzzifikasi : a. Metode Centroid b. Metode Bisektor c. Metode Mean of Maximum d. Metode Largest of Maximum e. Metode Smallest of Maximum
CONTOH KASUS 1: Sebuah perusahaan makanan kaleng akan memproduksi makanan jenis ABC. Dari data 1 bulan terakhir, PERMINTAAN TERBESAR mencapai 5000 kemasan/hari, dan PERMINTAAN TERKECIL 1000 kemasan/hari. PERSEDIAAN TERBANYAK digudang sampai 600 kemasan/hari, dan PERSEDIAAN TERKECIL mencapai 100 kemasan/hari. Dengan segala keterbatasan kemampuan PRODUKSI TERBANYAK adalah 7000 kemasan/hari, dan agar efisien PRODUKSI TERKECIL adalah 2000 kemasan/hari. Dalam produksi perusahaan menggunakan aturan : R1 : R2 : R3 : R4 :
JIKA permintaan TURUN dan persediaan BANYAK maka produksi BERKURANG JIKA permintaan TURUN dan persediaan SEDIKIT maka produksi BERKURANG JIKA permintaan NAIK dan persediaan BANYAK maka produksi BERTAMBAH JIKA permintaan NAIK dan persediaan SEDIKIT maka produksi BERTAMBAH
Berapa harus diproduki jika PERMINTAAN 4000 kemasan dan PERSEDIAAN 300 kemasan.
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
25
SOLUSI : Terdapat 3 variabel fuzzy yaitu (1) permintaan, (2) persediaan, dan (3) produksi •
PERMINTAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) TURUN, dan (2) NAIK Diketahui : Permintaan terendah adalah 1000 kemasan/hari Permintaan tertinggi adalah 5000 kemasan/hari Permintaan permasalahan = 4000 kemasan μ[x] 1
TURUN
NAIK
0,75
0,25 0
1000
4000
5000
$%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
$%&'"())"*")[ ]
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
PERMINTAAN Kemasan/hari
•
PERSEDIAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) SEDIKIT, dan (2) BANYAK Diketahui : Persediaan terendah adalah 100 kemasan/hari Persediaan tertinggi adalah 600 kemasan/hari Persediaan permasalahan = 300 kemasan μ[y] 1
SEDIKIT
BANYAK
0,6
$%&%))"*7)"4)[4]
0,4
0
$%&%))"*%([4]
100
300
1 5 ≤ 100 600 − 5 , , 100 ≤ 5 ≤ 6003 500 0 5 ≥ 600
0 5 ≤ 100 5 − 100 , , 100 ≤ 5 ≤ 6003 500 1 5 ≥ 600
600
PERSEDIAAN Kemasan/hari
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
26
•
PRODUKSI Terdiri dari 2 himpunan fuzzy, yaitu (1) BERKURANG, dan (2) BERTAMBAH Diketahui : Produksi terendah adalah 2000 kemasan/hari Produksi tertinggi adalah 7000 kemasan/hari Produksi permasalahan = ditanyakan ?? kemasan μ[z] BERTAMBAH
BERKURANG
1
$&8+*7%&+&)"9[] $&8+*7%&()'7)=[]
0
1 7000 − : , , 5000 0
: ≤ 2000
0 : − 2000 , , 5000 1
2000 ≤ : ≤ 70003 : ≥ 7000
: ≤ 2000
2000 ≤ : ≤ 70003 : ≥ 7000
7000
2000 PRODUKSI Kemasan/hari
Cari Nilai Produksi Z, dengan fungsi implikasi MIN •
Permintaan x Fungsi keanggotaan TURUN : $%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
Fungsi keanggotaan NAIK : $%&'"())"*")[ ]
•
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
Persediaan y Fungsi keanggotaan SEDIKIT : $%&%))"*%([4]
1 600 − 5 , , 500 0 0 5 − 100 , , 500 1
Fungsi keanggotaan BANYAK : $%&%))"*7)"4)[4]
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
Permintaan = 4000
>?@ABCDEEC*DF@FC[GHHH] = Permintaan = 4000
5000 − 4000 4000
= 0,25
>?@ABCDEEC*CEBI[GHHH] =
4000 − 1000 4000
= 0,75
Persediaan = 300 >?@J?KBEEC*J?KBIBD[LHH] =
Permintaan = 300
600 − 300 500
= 0,6
>?@J?KBEEC*NECOEI[LHH] =
300 − 600 500
= 0,4
27
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
μ[x] 1
μ[y] TURUN
μ[z] BANYAK
1
1
BERKURANG
0,4 α1
0,25 0
1000
4000
5000
0
100
PERMINTAAN Kemasan/hari
600
0
PRODUKSI Kemasan/hari
μ[y] TURUN
1
7000
2000
PERSEDIAAN Kemasan/hari
μ[x] 1
300
μ[z] SEDIKIT
1
BERKURANG
0,75
α2
0,25 0
1000
4000 PERMINTAAN Kemasan/hari
5000
0
100
300 PERSEDIAAN Kemasan/hari
600
0
7000
2000 PRODUKSI Kemasan/hari
28
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
μ[x]
μ[y] NAIK
1
μ[z] BANYAK
1
BERTAMBAH
1
0,75
α3
0
1000
4000
5000
PERMINTAAN Kemasan/hari
μ[x]
0
100
NAIK
1
600
PERSEDIAAN Kemasan/hari
μ[y]
1
300
0
7000
2000 PRODUKSI Kemasan/hari
μ[z]
SEDIKIT
BERTAMBAH
1
0,75 α4
0
1000
4000 PERMINTAAN Kemasan/hari
5000
0
100
300 PERSEDIAAN Kemasan/hari
600
0
7000
2000 PRODUKSI Kemasan/hari
μ[z] 1
0,6
0,25 0
2000
a1
a2
7000
Komposisi PRODUKSI dengan MAX Kemasan/hari
29
EQ*ZHHH YHHH
EZ*ZHHH YHHH
= 0,25 = 0,60
a1 = 3250 a1 = 5000
Didapat fungsi keanggotaan hasil komposisi sbb : []
0,25 : ≤ 3250 : − 2000 , , 3250 ≤ : ≤ 50003 5000 0,6 : ≥ 5000
Defuzzifikasi Dengan Metode Centroid hitung momen tiap area ]1 = H
LZYH
]2 = LZYH
0,25 : ^: = 0,125: Z |LZYH = 1320312,5 H
YHHH X*ZHHH YHHH
: ^: = LZYH 0,0002: Z − 0,4: ^: = 0,000067: L − 0,2: Z |WHHH YHHH = 3187515,625 YHHH
]3 = YHHH 0,6 : ^: = 0,3: Z |WHHH YHHH = 7200000 WHHH
Hitung luas masing2 area
`1 = 3250 ∗ 025 = 812,5 `2 =
0,25 + 0,6 ∗ 5000 − 3250 2
`3 = 7000 − 5000 ∗ 0,6 = 1200 Sehingga :=
1320312,5 + 3187515,625 + 7200000 = 4247,74 812,5 + 743,75 + 1200
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
30
1.3. METODE SUGENO Secara umum menyerupai metode MAMDANI, akan tetapi output/konsekuen berupa konstanta atau persamaan linear. a. Module Fuzzy Sugeno Orde-Nol ab c ∗ d cd ∗ … ∗ " c"fghi =
b. Model Fuzzy Sugeno Orde-Satu ab c ∗ d cd ∗ … ∗ " c"fghi = $ ∗ + ⋯ + $" ∗ " + k
CONTOH KASUS 1: Sebuah perusahaan makanan kaleng akan memproduksi makanan jenis ABC. Dari data 1 bulan terakhir, PERMINTAAN TERBESAR mencapai 5000 kemasan/hari, dan PERMINTAAN TERKECIL 1000 kemasan/hari. PERSEDIAAN TERBANYAK digudang sampai 600 kemasan/hari, dan PERSEDIAAN TERKECIL mencapai 100 kemasan/hari. Dengan segala keterbatasan kemampuan PRODUKSI TERBANYAK adalah 7000 kemasan/hari, dan agar efisien PRODUKSI TERKECIL adalah 2000 kemasan/hari. Dalam produksi perusahaan menggunakan aturan : R1 : R2 : R3 : R4 :
JIKA permintaan TURUN dan persediaan BANYAK maka produksi = permintaan - persediaan JIKA permintaan TURUN dan persediaan SEDIKIT maka produksi = permintaan JIKA permintaan NAIK dan persediaan BANYAK maka produksi permintaan JIKA permintaan NAIK dan persediaan SEDIKIT maka produksi = 1,25 * Permintaan - Persediaan
Berapa harus diproduki jika PERMINTAAN 4000 kemasan dan PERSEDIAAN 300 kemasan. SOLUSI : Terdapat 3 variabel fuzzy yaitu (1) permintaan, (2) persediaan, dan (3) produksi •
PERMINTAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) TURUN, dan (2) NAIK Diketahui : Permintaan terendah adalah 1000 kemasan/hari Permintaan tertinggi adalah 5000 kemasan/hari Permintaan permasalahan = 4000 kemasan μ[x] 1
TURUN
NAIK
0,75
0,25 0
1000
4000
5000
$%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
$%&'"())"*")[ ]
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
PERMINTAAN Kemasan/hari
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
31
•
PERSEDIAAN Terdiri dari 2 himpunan fuzzy, yaitu (1) SEDIKIT, dan (2) BANYAK Diketahui : Persediaan terendah adalah 100 kemasan/hari Persediaan tertinggi adalah 600 kemasan/hari Persediaan permasalahan = 300 kemasan μ[y] 1
SEDIKIT
BANYAK
0,6
$%&%))"*7)"4)[4]
0,4
0
$%&%))"*%([4]
100
300
1 5 ≤ 100 600 − 5 , , 100 ≤ 5 ≤ 6003 500 0 5 ≥ 600
0 5 ≤ 100 5 − 100 , , 100 ≤ 5 ≤ 6003 500 1 5 ≥ 600
600
PERSEDIAAN Kemasan/hari
Cari Nilai Produksi Z •
Permintaan x Fungsi keanggotaan TURUN : $%&'"())"*(+&+"[ ]
1 ≤ 1000 5000 − , , 1000 ≤ ≤ 50003 4000 0 ≥ 5000
Fungsi keanggotaan NAIK : $%&'"())"*")[ ]
•
0 ≤ 1000 − 1000 , , 1000 ≤ ≤ 50003 4000 1 ≥ 5000
Persediaan y Fungsi keanggotaan SEDIKIT : $%&%))"*%([4]
1 600 − 5 , , 500 0 0 5 − 100 , , 500 1
Fungsi keanggotaan BANYAK : $%&%))"*7)"4)[4]
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
5 ≤ 100
100 ≤ 5 ≤ 6003 5 ≥ 600
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
Permintaan = 4000
>?@ABCDEEC*DF@FC[GHHH] = Permintaan = 4000
5000 − 4000 4000
= 0,25
>?@ABCDEEC*CEBI[GHHH] =
4000 − 1000 4000
= 0,75
Persediaan = 300 >?@J?KBEEC*J?KBIBD[LHH] =
Permintaan = 300
600 − 300 500
= 0,6
>?@J?KBEEC*NECOEI[LHH] =
300 − 600 500
= 0,4
32
•
Mencari Produksi z R1 : JIKA permintaan TURUN dan persediaan BANYAK maka produksi = Permintaan - Persediaan P*>@?KBIEDQ = >?@ABCDEEC*DF@FC ∩ >?@J?KBEEC*NECOEI = min >?@ABCDEEC*DF@FC [4000] ∩ >?@J?KBEEC*NECOEI [300] = min 0,25; 0,4 = 0,25
:1 = 4000 − 300 = 3700
R2 : JIKA permintaan TURUN dan persediaan SEDIKIT maka produksi = Permintaan P*>@?KBIEDZ = >?@ABCDEEC*DF@FC ∩ >?@J?KBEEC*J?KBIBD = min >?@ABCDEEC*DF@FC [4000] ∩ >?@J?KBEEC*J?KBIBD [300] = min 0,25; 0,6 = 0,25
:2 = 4000
R3 : JIKA permintaan NAIK dan persediaan BANYAK maka produksi = Permintaan P*>@?KBIEDL = >?@ABCDEEC*CEBI ∩ >?@J?KBEEC*NECOEI = min >?@ABCDEEC*CEBI [4000] ∩ >?@J?KBEEC*NECOEI [300] = min 0,75; 0,4 = 0,4
:3 = 4000
R4 : JIKA permintaan NAIK dan persediaan SEDIKIT maka produksi = 1,24 * Permintaan - Persediaan P*>@?KBIEDG = >?@ABCDEEC*CEBI ∩ >?@J?KBEEC*J?KBIBD = min >?@ABCDEEC*CEBI [4000] ∩ >?@J?KBEEC*J?KBIBD [300] = min 0,75; 0,6 = 0,6
:4 = 1,25 ∗ 4000 − 300 = 4700
Hitung z sebagai berikut : =
:=
:=
P*>@?KBIEDQ ∗ :1 + P*>@?KBIEDZ ∗ :2 + P*>@?KBIEDL ∗ :3 + P*>@?KBIEDG ∗ :4 P*>@?KBIEDQ + P*>@?KBIEDZ + P*>@?KBIEDL + P*>@?KBIEDG
0,25 ∗ 3700 + 0,25 ∗ 4000 + 0,4 ∗ 4000 + 0,6 ∗ 4700 0,25 + 0,25 + 0,4 + 0,6
6345 = 4230 1,5
DAFTAR PUSTAKA [1] Kusumadewi , Artificial Intelligence, [2] Russel, S.J., dan Norvig, P., Artificial Intelligence a Modern Aproach [3] Winston, P.H., Artificial Intelligence
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
33
NEURAL NETWORK / JARINGAN SYARAF TIRUAN •
KOMPONEN
Jaringan syaraf terdiri dari neuron-neuron yang saling berhubungan. Neuron-neuron akan mentranformasikan informasi yang diterima-nya kepada neuron lain.
Dalam JST, neuron input akan menerima informasi dan menjumlahkan semua nilai-nilai semua bobot yang masuk. Nilai masukan tersebut kemudian akan dibandingakan dengan nilai ambang melalui fungsi aktivasi. Jika nilai masukan melewati nilai ambang maka neuron akan diaktifkan dan memberikan nilai keluaran kepada neron output. • ARSITEKTUR JST a. SINGLE LAYER
b. MULTI LAYER
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
34
X1
X2
w11 w2
Σ
y_in
F
y
w3 XN
Gambar Jaringan Syaraf Sederhana Persamaan : 4_" m n i
o
•
FUNGSI AKTIVASI
a. Fungsi Aktivasi (Fungsi Undak Biner)
b. Fungsi Aktivasi (Fungsi Undak Biner dgn Threshold)
c. Fungsi Aktivasi (Bipolar)
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
35
•
Pembelajaran a. Terawasi (supervised Learning) – Hebb – Perceptron – Bakcpropagation b. Tidak Terawasi (unsupervised learning)
• Hebb Merupakan model jaringan dengan pembelajaran paling sederhana Proses perbaikan bobot : wi(baru) = wi(lama) + xi*y dengan : wi = bobot data input ke i xi = input data ke i y = output data algoritma 0. Inisialisasi semua bobot wij = 0; dengan i = 1,2, ..., n dan j = 1,2, .., m 1. Untuk setiap pasangan input output (s-t) a. Set input dengan nilai sama dengan vektor input xi = si (i=1,2,.., n) b. Set output dengan nilai sama dengan vektor output yj = ti (j=1,2,..m) c. Perbaiki bobot wij(baru) = wij(lama) + xi*yj (i = 1,2, ..., n dan j = 1,2, .., m) Catatan bias selalu = 1
CONTOH KASUS : X1
w1
w2
Σ
y_in
F
y
X2
b
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
36
Jaringan syaraf untuk fungsi OR dengan fungsi aktivasi Bipolar: Input -1 -1 1 1
-1 1 -1 1
-1 -1 1 1
-1 1 -1 1
bias 1 1 1 1
target -1 1 1 1
X=
T= -1 1 1 1
Bobot awal = W=
B=
0 0 0
Perubahan bobot : Data ke -1 w1 = 0 + 1 = 1 w2 = 0 + 1 = 1 b = 0 – 1 = -1 Data ke -2 w1 = 1 - 1 = 0 w2 = 1 + 1 = 2 b = -1 + 1 = 0 Data ke -3 w1 = 0 + 1 = 1 w2 = 2 - 1 = 1 b=0+1=1 Data ke -4 w1 = 1 + 1 = 2 w2 = 1 + 1 = 2 b=1+1=2 Pada kondisi akhir didapatkan w1 = 2, w2 = 2, dan bias = 2 Pengujian dengan data input : (1) Untuk x1 = -1, dan x2 = -1, maka outputnya harus = -1 y_in = (2 )(-1) + (2) (-1) + 2 = -2 Dengan Fungsi aktivasi Bipolar y = F(-2) = -1 karena -2 < 0
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
37
(2) Untuk x1 = -1, dan x2 = 1, maka outputnya harus = 1 y_in = (2 )(-1) + (2) (1) + 2 = 2 Dengan Fungsi aktivasi Bipolar y = F(2) = 1 karena 2 > 0 (3) Untuk x1 = 1, dan x2 = -1, maka outputnya harus = 1 y_in = (2 )(1) + (2) (-1) + 2 = 2 Dengan Fungsi aktivasi Bipolar y = F(2) = 1 karena 2 > 0
(4) Untuk x1 = 0.5, dan x2 = -0.2, maka dapat dihitung outputnya y_in = (2 )(0.5) + (2) (-0.2) + 2 = 2.6 Dengan Fungsi aktivasi Bipolar y = F(2.6) = 1
karena 2.6 > 0
• Perceptron Perceptron biasa digunakan untuk mengklasifikasikan sesuatu. Fungsi aktivasi sehingga terdapat pembatasan daerah positif dan negatif.
dibuat sedemikian rupa
+ +
daerah positif
daerah negatif -
Pembatasan linear perceptron
Persamaan garis pemisah :
p11 + p22 + q = 0
Persamaan daerah positif :
p11 + p22 ≥ −q
Persamaan daerah negatif :
p11 + p22 < −q
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
38
Langkah pembelajaran jaringan perceptron 0. Inisialisasi a. Set semua bobot dan bias (misal = 0) b. Set learning rate ( 0 < α < 1 ) c. Set maksimum epoh 1. Tetapkan epoh =0 2. Selama belum false, ulangi langkah sbb : a. Untuk setiap sk – tk, dengan k=1,2,...,n i. Set input : xki = ski k = 1,2,..., m ii. Hitung respon untuk unit A
5BC = qs + m B pBs
j=1,2,.., c
BoQ
untuk output biner 1, 3 uvwx 5_vys ≥ 0 5s = t 0, uvwx 5_vys < 0
untuk output bipolar 1, 3 uvwx 5_vys ≥ 0 5s = t −1, uvwx 5_vys < 0 iii. Perbaiki bobot dan bias
pBs = pBs + P{Is − 5Is IB qs = qs + P{Is − 5Is
Jika yj ≠ tkj, maka
b. Tes kondisi berhenti
CONTOH KASUS : X1
w1
w2
Σ
y_in
F
y
X2
b
Jaringan syaraf untuk fungsi OR dengan fungsi aktivasi undak biner : Input 0 0 1 1
0 1 0 1
bias 1 1 1 1
target 0 1 1 1
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
39
Langkah 1 : Tetapkan MaxEpoh , misal = 50; Learning Rate (α), misal = 1; Bobot awal, misal : w1 = 0 dan w2=0 Bobot bias, b = 0 Total Error, E = 0
Jika yj ≠ tkj, maka
pBs = pBs + P{Is + 5Is IB qs = qs + P{Is + 5Is
Epoh 1 : o
o
o
o
Epoh 2 : o
Data 1 5BC = 00 + 00 + 0 = 0 5 = |0 = 1 5 ≠ {Q ; 5 = 1 ; {Q = 0 ~ℎvyx {ux^v : {Q − 5 = −1 ; = −1 Perbaiki bobot pQ = 0 + 1−10 = −1 pZ = 0 + 1−10 = −1 q = 0 + 1−1 = −1 Data 2 5BC = 0−1 + 1−1 − 1 = −1 5 = |−1 = 0 5 ≠ {Z ; 5 = 0 ; {Z = 1 ~ℎvyx {ux^v : {Z − 5 = 1 ; = 1 Perbaiki bobot pQ = −1 + 110 = −1 pZ = −1 + 111 = 0 q = −1 + 11 = 0 Data 3 5BC = 1−1 + 00 + 0 = −1 5 = |−1 = 0 5 ≠ {L ; 5 = 0 ; {L = 1 ~ℎvyx {ux^v : {L − 5 = 1 ; = 1 Perbaiki bobot pQ = −1 + 111 = 0 pZ = 0 + 110 = 0 q = 0 + 11 = 1 Data 4 5BC = 10 + 10 + 1 = 1 5 = |1 = 1 5 = {G ; 5 = 1 ; {G = 1 ~ℎvyx {v^xw {ux^v
Data 1 5BC = 00 + 00 + 1 = 1 5 = |1 = 1 5 ≠ {Q ; 5 = 1 ; {Q = 0 ~ℎvyx {ux^v : {Q − 5 = −1 ; = −1 Perbaiki bobot pQ = 0 + 1−10 = −1 pZ = 0 + 1−10 = −1 q = 1 + 1−1 = 0 o Data 2 5BC = 0−1 + 1−1 + 0 = −1 5 = |−1 = 0 5 ≠ {Z ; 5 TEKNIK = 0 ; {Z =INFORMATIKA 1 ~ℎvyx {ux^v : {Z − 5 = 1 ; = 1 PROGRAM STUDI
STMIK PELITA NUSANTARA MEDAN
40
o
o
Epoh 3 : o
o
o
o
Epoh 4 : o
Perbaiki bobot pQ = −1 + 110 = −1 pZ = −1 + 111 = 0 q = 0 + 11 = 1 Data 3 5BC = 1−1 + 00 + 1 = 0 5 = |0 = 1 5 = {L ; 5 = 1 ; {L = 1 ~ℎvyx {v^xw {ux^v Data 4 5BC = 1−1 + 10 + 1 = 1 5 = |1 = 1 5 = {G ; 5 = 1 ; {G = 1 ~ℎvyx {v^xw {ux^v Data 1 5BC = 0−1 + 00 + 1 = 1 5 = |1 = 1 5 ≠ {Q ; 5 = 1 ; {Q = 0 ~ℎvyx {ux^v : {Q − 5 = −1 ; = −1 Perbaiki bobot pQ = −1 + 1−10 = −1 pZ = 0 + 1−10 = 0 q = 1 + 1−1 = 0 Data 2 5BC = 0−1 + 10 + 0 = 0 5 = |0 = 1 5 ≠ {Z ; 5 = 1 ; {Z = 1 ~ℎvyx {v^xw {ux^v Data 3 5BC = 1−1 + 00 + 0 = −1 5 = |−1 = 0 5 = {L ; 5 = 0 ; {L = 1 ~ℎvyx {ux^v : {L − 5 = 1 ; = 1 pQ = −1 + 111 = 0 pZ = 0 + 110 = 0 q = 0 + 11 = 1 Data 4 5BC = 10 + 10 + 1 = 1 5 = |1 = 1 5 = {G ; 5 = 1 ; {G = 1 ~ℎvyx {v^xw {ux^v
Data 1 5BC = 00 + 00 + 1 = 1 5 = |1 = 1 5 ≠ {Q ; 5 = 1 ; {Q = 0 ~ℎvyx {ux^v : {Q − 5 = −1 ; = −1 Perbaiki bobot pQ = 0 + 1−10 = 0 pZ = 0 + 1−10 = 0 q = 1 + 1−1 = 0 o Data 2 5BC = 00 + 10 + 1 = 1 5 = |1 = 1 5 ≠ {Z ; 5 = 1 ; {Z = 1 ~ℎvyx {v^xw {ux^v o Data 3 5BC = 10 + 00 + 1 = 0 5 = |0 = 1 5 = {L ; 5 = 1 ; {L = 1 ~ℎvyx {v^xw {ux^v o Data 4 5BC = 10 + 10 + 1 = 1 PROGRAM5 STUDI TEKNIK INFORMATIKA = |1 = 1
STMIK PELITA NUSANTARA MEDAN
41
Epoh 5 : o
o
o
o
5 = {G ; 5 = 1 ; {G = 1 ~ℎvyx {v^xw {ux^v Data 1 5BC = 00 + 00 + 0 = 0 5 = |0 = 1 5 ≠ {Q ; 5 = 1 ; {Q = 0 ~ℎvyx {ux^v : {Q − 5 = −1 ; = −1 Perbaiki bobot pQ = 0 + 1−10 = 0 pZ = 0 + 1−10 = 0 q = 0 + 1−1 = −1 Data 2 5BC = 00 + 1−1 + 1 = 0 5 = |0 = 1 5 ≠ {Z ; 5 = 1 ; {Z = 1 ~ℎvyx {v^xw {ux^v Data 3 5BC = 10 + 0−1 + 1 = 1 5 = |1 = 1 5 = {L ; 5 = 1 ; {L = 1 ~ℎvyx {v^xw {ux^v Data 4 5BC = 10 + 10 + 1 = 1 5 = |1 = 1 5 = {G ; 5 = 1 ; {G = 1 ~ℎvyx {v^xw {ux^v
PROGRAM STUDI TEKNIK INFORMATIKA STMIK PELITA NUSANTARA MEDAN
42