Pengantar
• Soft Computing (SC) berbeda dengan
conventional computing (hard computing)
• SC merupakan bidang ilmu dalam Kecerdasan
Buatan yang memiliki toleransi terhadap
ketidakpastian, impresisi, maupun kebenaran
parsial
Pengantar
• Soft Computing (SC) diusulkan pertama kali
oleh Prof. Lotfi Zadeh, Profesor Ilmu
Komputer dari University of California
Berkeley.
• SC merupakan bidang ilmu multidisiplin yang
menggabungkan metodologi seperti Fuzzy
Logic, Neuro Computing, Evolutionary
Computation, dan Probabilistic Computing.
Pengertian
• SC merupakan sekumpulan metodologi yang
berkembang secara terus menerus,
bertujuan untuk menghasilkan sistem yang
memiliki toleransi terhadap ketidakakuratan
(imprecission), ketidakpastian (uncertainty),
dan kebenaran parsial (partial truth) untuk
mencapai ketahanan (robustness), bisa
ditelusuri (tractability) dan biaya rendah.
Tujuan SC
• Terbentuknya High Machine Intelligence
Quotient (HMIQ) yaitu sistem yg mampu
mengolah informasi seperti cara berpikir
manusia, mempunyai kemampuan untuk
menyelesaikan persoalan non-linier dan tidak
ada model matematisnya serta dapat
diimplementasikan dengan biaya rendah.
Soft Computing
• Teknik dasar SC pada awalnya:
– Fuzzy Logic
– Neuro Computing (Artificial Neural Networks)
– Evolutionary Computation / Ev. Algorithms (EAs)
– Probabilistic Computing
• Janusz Kacpzyc memasukkan:
– Rough Set
– Multivalued Logic
– Chaos Computing
– Immune Network Theory
Soft Computing
• Ide dasar SC adalah menggabungkan
metode-metode tersebut
• Beberapa kombinasi:
– Neuro Fuzzy (ANN + Fuzzy)
– Evolving ANN (EAs + ANN)
– Evolving Fuzzy Systems (Penggunaan EAs dalam
Fuzzy Systems)
– Fuzzy EAs (Penggunaan Fuzzy Logic dalam EAs)
Aplikasi Soft Computing
• Sistem Kontrol
– AC, mesin cuci, kulkas
• Optimasi
– Penjadwalan, optimasi sumber daya pada
manajemen proyek
• Bisnis dan Keuangan
– Analisis pasar, manajemen resiko, deteksi
kecurangan
• Transportasi
– Pengaturan lalu lintas
Fuzzy
• Ide fuzzy pertama kali muncul oleh filusuf
Yunani, Plato: terdapat area ketiga selain
benar dan salah.
• Muncul kembali pada tahun 1960-an oleh
Prof. Lotfi Zadeh
Fuzzy
• Logika fuzzy pertama kali
dikembangkan oleh Lotfi A.
Zadeh melalui tulisannya pada
tahun 1965 tentang teori
himpunan fuzzy.
13
Contoh-contoh masalah yang mengandung
ketidakpastian:
14
Contoh 2: Kecepatan “pelan” didefinisikan di
bawah 20 km/jam.
Bagaimana dengan kecepatan 20,001 km/jam,
apakah masih dapat dikatakan pelan?
Manusia mungkin mengatakan bahwa
kecepatan 20,001 km/jam itu “agak pelan”.
15
Himpunan Fuzzy
• Logika fuzzy dikembangkan dari teori himpunan fuzzy.
1 , x A
A ( x)
0 , x A
• Contoh 3.
Misalkan X = {1, 2, 3, 4, 5, 6} dan A X, yang dalam hal ini
A = {1, 2, 5}. Kita menyatakan A sebagai
17
• Contoh 4: Misalkan X = { x | 0 x 10, x R }. Misalkan
A X, dan A = {x |5 x 8, x R }. Maka, kita dapat
menyatakan bahwa
A(6) = 1; A(4,8) = 0; A(7) = 1; A(8,654) = 1
A
0 5 8 x
18
• Sekarang, tinjau V = himpunan kecepatan pelan
(yaitu v 20 km/jam).
19
• Di dalam teori himpunan fuzzy, keanggotaan suatu
elemen di dalam himpunan dinyatakan dengan
derajat keanggotaan (membership values) yang
nilainya terletak di dalam selang [0, 1].
A : X [0, 1]
A : X {0, 1}
20
Arti derajat keanggotaan:
• jika A(x) = 1, maka x adalah anggota
penuh dari himpunan A
21
Cara-Cara Menuliskan Himpunan Fuzzy:
• Cara 1: Sebagai himpunan pasangan berurutan
A = { (x1, A(x1)), (x2, A(x2)), …, (xn, A(xn)) }
Contoh 5. Misalkan
X = { becak, sepeda motor, mobil kodok(VW), mobil kijang, mobil carry }
A = himpunan kendaraan yang nyaman dipakai untuk bepergian jarak jauh
oleh keluarga besar (terdiri dari ayah, ibu, dan empat orang anak)
Didefinisikan bahwa,
x1 = becak, A(x1) = 0; x2 = sepeda motor, A(x2) = 0.1
x3 = mobil kodok, A(x3) = 0.5; x4 = mobil kijang, A(x4) = 1.0
x5 = mobil carry, A(x5) = 0.8;
22
• Cara 2: Dinyatakan dengan menyebut fungsi
keanggotaan.
• Cara ini digunakan bila anggota himpunan
fuzzy bernilai menerus (riil).
Contoh 6. Misalkan
A = himpunan bilangan riil yang dekat dengan 2
23
Cara 3: Dengan menuliskan sebagai
n
A = { A(x1)/x1 + A(x2)/x2 + … + A(xn)/xn } = {
i 1
A ( xi ) / xi }
A={ X
A ( x) / x }
24
• Contoh 7.
(i) diskrit
X = himpunan bilangan bulat positif
A = bilangan bulat yang dekat 10
= { 0.1/7 + 0.5/8 + 1.0/10, 0.8/11 + 0.5/12 + 0.1/13 }
(ii) menerus
X = himpunan bilangan riil positif
A = bilangan riil yang dekat 10
= 1/(1 + (x – 10)2 / x
25
Perbandingan Crisp Set dan Fuzzy Set
26
Himpunan fuzzy mempunyai dua atribut:
1. Linguistik: penamaan grup yang mewakili
kondisi dengan menggunakan bahasa alami
Contoh: PANAS, DINGIN, TUA, MUDA,
PELAN, dsb
27
Komponen-komponen sistem fuzzy:
1. Variabel fuzzy
Contoh: umur, kecepatan, temperatur, dsb
2. Himpunan fuzzy
Grup yang mewakili kondisi tertentu dalam
suatu variabel fuzzy
Contoh: Variabel temperatur air dibagi
menjadi 3 himpunan fuzzy: PANAS, DINGIN,
SEJUK, dsb
28
3. Semesta pembicaraan
Keseluruhan nilai yang diperbolehkan untuk
dioperasikan dengan variabel fuzzy
Contoh: semesta pembicaraan variabel umur
adalah [0, ]
4. Domain
Keseluruhan nilai yang diperbolehkan untuk
doperasikan dalam suatu himpunan fuzzy
Contoh: DINGIN = [0, 15]
MUDA = [0, 35]
29
• Contoh 8: Misalkan variabel umur dibagi menjadi 3
kategori
MUDA : umur < 35 tahun
PARUHBAYA : 35 umur 55 tahun
TUA : umur > 55 tahun
Crisp Set
0 x 0 x 0 x
35 35 55 55
Jika x = 34 tahun MUDA(x) = 1
Jika x = 35,5 tahun MUDA(x) = 0 Tidak muda
30
Fuzzy Set
(x)
1 MUDA PARUHBAYA TUA
0.50
0.25
0 25 35 40 45 50 55 65 x (umur)
x
0 a b
0; xa
( x) ( x a) /(b a); a x b
xb
1; 32
2. Segitiga
(x)
1
x
0 a b c
0; x a atau x c
( x) ( x a) /(b a); a xb
(b x) / c b; bxc
33
3. Trapesium
(x)
1
x
0 a b c d
0; x a atau x d
( x a ) /(b a ); a xb
( x)
1; bxc
(d x) /(d c); cxd
34
4. Kurva S
S = sigmoid. Mencerminkan kenaikan dan
penurunan secara tidak linier
0; x
2( x ) /( ) 2 ; x
S ( x; , , )
1 2(( x) /( )) ; x
2
1; x
35
5. Kurva lonceng
S ( x; , / 2, ); x
G ( x, , )
1 S ( x; , / 2, ); x
36
• Contoh persoalan: Sebuah pabrik
memproduksi sepatu setiap hari. Permintaan
sepatu dari distributor tidak tentu, kadang
naik dan kadang turun. Permintaan tertinggi
pernah mencapai 5000 pasang/hari, dan
permintaan terkecil 1000 pasang/hari.
Persediaan sepatu di gudang juga bervariasi.
Paling banyak mencapai 600 pasang/hari, dan
sedikitnya mencapai 100 pasang/hari.
x
0 1000 5000
1; x 1000 0; x 1000
5000 x x 1000
TURUN ( x) ; 1000 x 5000 NAIK ( x) ; 1000 x 5000
4000
4000 1; x 5000
0; x 5000
38
• Persediaan ada 2 himpunan fuzzy: BANYAK dan SEDIKIT
SEDIKIT BANYAK
1
(x)
y
0 100 600
1; y 100 0; y 100
600 y y 100
SEDIKIT ( y) ; 100 y 600 BANYAK ( y ) ; 100 y 600
500 500
y 600 1; y 600
0;
39
• Jika permintaan = 4000 pasang sepatu, maka
4000 1000
NAIK (4000 ) 0.75
4000
5000 4000
TURUN (4000 ) 0.25
4000
40
Teori Himpunan Klasik
• Teori himpunan klasik: kumpulan elemen-
elemen
– Contoh: kumpulan mahasiswa berusia di bawah 20
tahun, kumpulan lulusan cum laude di UNJ dst
• Himpunan klasik disebut crisp set. Crisp:
tegas atau jelas dan berbeda.
• Misal: P={x|x bilangan bulat, 4<x<9}, maka
anggota P adalah 5,6,7,8. Selain bil.
Tersebut bukan anggota P
Keterbatasan Crisp Sets
• Pada crisp sets P kebalikannya adalah
Pc(komplemen P). Jika penuh
kebalikan/lawannya adalah kosong.
• U adalah semesta pembicaraan, P=himpunan
gelas berisi air penuh. Maka komplemen P
adalah himpunan berisi gelas kosong.
• Gelas berisi air tidak penuh?
Fuzzy Sets
• Fuzzy set A dinyatakan dalam fungsi
keanggotaan (membership function) A(x)
• Fungsi keanggotaan memetakan setiap objek
dalam interval [0,1]
• Nilai dalam A(x) menyatakan derajat
keanggotaan x dalam A
Fuzzy Sets
• Contoh: x={5,15,25,35,45} merupakan crisp
set suhu udara dalam derajat celcius.
• Dingin, hangat dan panas adalah tiga fuzzy
set yang merupakan subset x.
• Suhu 5 derajat dikatakan dingin dengan
derajat keanggotaan 1 5 derajat benar-
benar dingin dengan tingkat kebenaran 1.
• Suhu 15 derajat, dingin dengan A(x) = 0,9
berarti tingkat kebenaran = 0,9
Fungsi keanggotaan
• Fungsi yang memetakan setiap nilai crisp x
menjadi derajat keanggotaan dalam interval
[0,1].
• Jenis fungsi keanggotaan:
– Fungsi linier
– Fungsi sigmoid
– Fungsi segitiga
– Fungsi trapesium
Logical Connectives
• T: P [0,1]
• Negasi: T(¬P) = 1 – T(P)
• Disjungsi: T(PVQ) = max{T(P), T(Q)}
• Konjungsi: T(PΛQ) = min{T(P), T(Q)}
Sistem berbasis Fuzzy
• Langkah menyelesaikan masalah
menggunakan sistem berbasis fuzzy:
1. Tentukan variabel linguistik
2. Fuzzification
3. Lakukan inference
4. Defuzzification
Variabel Linguistik
• Interval numerik dan memiliki nilai-nilai
linguistik yang maknanya didefinisikan oleh
fungsi keanggotaannya.
• Misal kita menentukan suhu dalam interval
[0, 45], maka nilai variabel linguistik suhu
adalah ‘dingin’, ‘hangat’, dan ‘panas’.
Fuzzification
• Fuzzification mengubah nilai input yang
masih bersifat crisp ke dalam nilai fuzzy
yang berupa nilai linguistik yang maknanya
ditentukan berdasarkan fungsi keanggotaan.
Inference
• Melakukan penalaran (reasoning) untuk nilai-
nilai fuzzy input dengan menggunakan aturan
fuzzy yang telah didefinisikan sebelumnya
sehingga dihasilkan fuzzy output.
Defuzzification
• Mengubah fuzzy output menjadi nilai crisp
yang berupa bilangan real dalam skala
[0,100] berdasarkan fungsi keanggotaan
yang telah ditentukan.
Model untuk Inference
• Model untuk inference yang populer:
– Model Mamdani
IF x1 is A1 AND...AND xn is An then Y is B
– Model Sugeno
Dikenal juga model TSK (Takagi-Sugeno-Kang)
IF x1 is A1 AND...AND xn is An then Y=f(x1,...,xn)
Defuzzifikasi
• Centroid method
– Center of Area (CoA) / Center of Gravity (CoG)
– y*=(ΣyR(y)) / (ΣR(y))
• Weighted average
– y*=Σ(y(y) / (y))
Contoh kasus beasiswa
• Mahasiswa A memiliki IPK=3,00 dan
penghasilan orangtua Rp.6.5 jt per bulan
• Mahasiswa B memiliki IPK=2,9 dan
penghasilan orangtua Rp.2 jt per bulan