BAB III SISTEM PAKAR
II. Basis Pengetahuan
3.3. Fuzzy Sistem
3.3.3 Fuzzy logic
0, ≤ , ≥ ( − )/( − ), < < 1, ≤ ≤ −( − )/( − ), < ≤ 3.3.3 Fuzzy logic
Di buku ini, fuzzy logic didefinisikan sebagai suatu jenis logic yang bernilai ganda dan berhubungan dengan ketidakpastian dan kebenaran parsial. Objek dasar dari suatu logic adalah proposition (proposi) atau pernyataan yang menyatakan suatu fakta.
Defuzzification Fuzzification
Inference
µ Crips input
Fuzzy input Fuzzy rules
Gambar 3.9. diagram blok yang lengkap untuk system berbasis aturan fuzzy
Variabel linguistik
Varibel linguistik adalah suatu interval numerik dan mempunyai nilai-nilai linguistik, yang sematiknya didefinisikan oleh fungsi keanggotaannya. Misalnya suhu adalah suatu variabel linguistik yang bisa didefinisikan pada interval [-10℃
,40℃]. Variabel tersebut bisa memiliki nilai-nilai linguistik seperti ‘Dingin’,’Hangat’,’Panas’yang sematiknya didefinisikan oleh fungsi-fungsi
keanggotaan yang telah ditentukan.
Suatu sistem berbasis aturan fuzzy yang lengkap terdiri dari tiga komponen utama: Fuzzycation,Inference dan Defuzzification (lihat gambar 3.9 di atas). Fuzzification mengubah masukan-masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam bentuk fuzzy input, yang berupa nilai linguistik yang sematiknya ditentukan berdasarkan fungsi keanggotaan tertentu. Inference melakukan penalaran menggunakan fuzzy infut dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output. Sedangkan Defuzzification mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.
Sebagai ilustrasi untuk memperjelas pemahaman tentang sistem berbasis aturan fuzzy,perhatikan permasalahan berikut.
Studi Kasus: Sprinker control system (sistem kontrol untuk penyiram air) Misalkan kita ingin membangun sistem untuk mengontrol alat penyiram air. Input untuk sistem tersebut adalah:suhu udara(dalam ℃ ) dan Kelembaban tanah
(dalam %). Sedangkan output diinginkan adalah durasi penyiraman (dalam satuan menit). Misalkan,nilai crisp yang diterima oleh sensor suhu adalah 37℃ dan nilai
crisp yang diterima sensor kelembaban adalah 12%. Berapa lama durasi penyiraman yang harus dilakukan?
Untuk menentukan berapa lama durasi penyiraman,maka proses yang di lakukan adalah:
1. Fuzzification :mengubah kedua nilai crisp input tersebut menjadi fuzzy input menggunekan fungsi-fungsi keanggotaan:
2. Rule evaluation: melakukan resoning menggunakan nilai-nilai fuzzy input tersebut fuzzy rule sehingga di hasilkan fuzzy output: 3. Defuzzification : mengubah fuzzy out put menjadi nilai
crips(dalam satuan detik )berdasarkan fungsi keanggotaan untuk output.
Bagaimanapun, pada masalah tertentu, bisa saja output yang kita butuhkan adalah suatu nilai fuzzy. Sehingga kita tidak perlu melakukan proses defuzzification.
Fuzzification
Masukan-masukan yang nialai kebenarannya bersifat pasti(crips input )di konversikan ke bentuk fuzzy input ,yang berupa nilai linguistik yang sematiknya ditentukan berdasarkan fungsi keanggotaan. Misalnya , suhu 20℃ dikonversikan
menjadi hangat dengan derajat keanggotaan sama dengan 0,7. Inference
Untuk membedakan dengan first-order logic,secara sintaks,suatu aturan fuzzy di tuliskan sebagai:
IF antecendent THEN consequent.
(
Dalam suatu sistem aturan fuzzy, proses inference memperhitungkan semua aturan yang ada dalam basis pengetahuan. Hasil dari proses inference di representasikan oleh suatu fuzzy set untuk setiap kali variabel bebas (pada consequent). Derajat keanggotaan setiap nilai variabel tidak bebas menyatakan ukuran kompatibilitas terhadap variabel bebas (pada antecedent). Misalkan ,terdapat suatu sistem dengan n variabel bebas X1 ,…..Xn dan m variabel tidak bebas Y1,…..Ym. Misalkan R adalah suatu basis dari sejumlah r aturan fuzzy
IF P1(X1,…..,Xn)THEN Q1(Y1,…..Ym), IFPr(X1,………Xn)THEN Qr(Y1,…..Ym),
Di mana P1,…..,Pr menyatakan fuzzy predicate untuk variabel bebas,dan Q1,…..,Qr menyatakan fuzzy predicate untuk variabael tidak bebas.
Terdapat dua model aturan fuzzy yang digunakan secara luas dalam berbagai aplikasi,yaitu:
Model Mamdani
Pada model ini ,aturan fuzzy di definisikan sebagai : IFx1is A1AND ….AND xnis AnTHEN y is B,
Di mana P1,…..,Pr menyatakan fuzzy predicate untuk variabel bebas,dan Q1,…..,Qr menyatakan fuzzy predicate untuk variabael tidak bebas.
Terdapat dua model aturan fuzzy yang digunakan secara luas dalam berbagai aplikasi,yaitu:
Di mana A1,…..,An,dan B adalah nilai-nilai linguistik (atau fuzzy set)”x1 is A1”menyatakan bahwa nilai variabel x1adalah anggota fuzzy set A1
Model Sugeno
Model ini dikenal juga sebagai Takagi-Sugeno-Kang (TSK)model,yaitu suatu varian dari model mamdani.model ini menggunakan aturan yang berbentuk :
IF x1is A1AND….AND xnis An THEN y=f (x1,….xn),
Di mana f bisa berupa sembarang fungsi dari variabel-variabel input yang nilainya berada dalam interval output.biasanya,fungsi ini dibatasi dengan menyatakan f sebagai kombinasi linier dari variabel-variabel input:
F(x1,….,xn)=wo+w1x1+…….+ wnxn
Di mana w0,w1,…..,wn adalah konstanta yang berupa bilangan real yang
merupakan bagian dari spesifikasi aturan fuzzy. Defuzzification
Terdapat berbagai metode Defuzzification yang telah berhasil di aplikasikan untuk berbagai macam masalah . di sini,kita hanya membahas 5 metode saja,yaitu:
Centroid method
Metode ini di sebut juga sebagai Center of Area atau Center Of Gravity.metode ini merupakan metode yang paling penting dan menarik di antara semua metode yang ada.metode ini menghitung nilai crisp mengunakan rumus:
y∗
∫ μ ( ) ∫ μ ( )
Di mana y* suatu nilai crisp. Fungsi integration dapat di ganti dengan fungsi summation jika nilai bernilai diskrit,sehinga menjadi:
y∗
∑ μ ( ) ∑ μ ( )
Di mana y adalah nilai crisp dan (y) adalah derajat keanggotaan dari y.
Height method
Metode ini di kenal juga sebagai prinsip keanggotaan maksimum karna metode ini secara sederhana memiliki nilai crisp yang memiliki derajat keanggotaan maksimum.oleh karna itu, metode ini hanya bisa di pakai untuk fungsi keanggotaan yang memilki derajat keanggotan 1 pada suatu nilai crisp dan 0 pada semua nilai crisp yang lain.
First (or Last) of Maxima
Metode ini juga merupakan generalisasi dari height method untuk kasus di mana fungsi ke anggotaan out put memilki lebih dari 1 nilai maxsimum.sehingga,nilai crisp yang di gunakan adalah salah satu dari nilai yang dihasilkan dari maksimum pertama atau maksimum terahir(tergantung pada aplikasi yang akan di bangun ).
Mean-Max method
Metode ini di sebut juga sebagai Middle of Maxima.metode ini merupakan generalisasi dari Height methoad untuk kasus di mana terdapat lebih dari 1 nilai crisp yang memiki derajat keangotaan maxsimum.sehingga y*di definisikan sebagai titik tengah antara nilai crisp terkecil dan nilai crisp terbesar :
∗
Di mana m adalah nilai crisp yang paling kecil dan M adalah nilai crisp yang paling besar
Weighted Average
Metode ini mengambil nilai rata-rata dengan menggunakan pembobotan berupa derajat keanggotaan .sehingga y*di definisikan sebagai:
176 System Pendukung Keputusan
∗ ∑ ( )( )
Di mana y adalah nilai crisp dan µ(y) adalah derajat keanggotaan dri nilai crisp y.
Studi kasus
Teori tentang fuzzy set dan fuzzy logic banyak di gunakan untuk membangun system berbasis aturan fuzzy untuk masalah kontrol. Perhatikan kembali masalah Sprinkler control system (Sistem kontrol penyiram air). Misalkan,nilai crisp yang di terima oleh sensor suhu adalah 37℃ dan nilai crisp yang di terima sensor
kelembaban adalah 12%. Berapa lama durasi penyiraman yang harus di lakukan? Proses fuzzyfication
Misalkan,untuk suhu udara kita menggunakan fungsi keanggotaan trapesium dengan lima variabel linguistik: Cold,Cool,Normal,Warm, Hot dengan funsi ini,maka crisp input suhu 37℃ dikonversi ke nilai fuzzy dengan cara :
Suhu 37℃ berada pada nilai linguistik Warm dan Hot
Semantik atau derajat keanggotaan untuk Warm di hitung menggunakan
rumus –(x-d)/(d-c),c<x ≤d (lihat notasi mate-matika
untuk fungsi trapezium),dimana c=36,dan d=39.sehingga derajat keanggotaanWarm=-(37-39)/(39-36)=2/3.
Derajat keanggotaan untuk hot dihitungkan menggunakan rumus
(x-a)/(b-a),a<x<b,dimana a=36,dan b=39.sehingga derajat keanggotaan Hot=(37-36)/(39-36)=1/3. Hot Warm Normal Could Cool 2/3 1 µ
Gambar 3.10. fungsi keanggotaan trapesium untuk suhu udara . Misalkan,kita juga menggunakan fungsi keangggotaan Trapesium untuk Kelembaban tanah.dengan pungsi ini,maka crisp input kelembaban 12% dikonversi menjadi nilai fuzzy dengan cara berikut ini:
Kelembaban 12% berada pada nilai linguistik Dry dan Moist.
Semantik atau derajat keanggotaan untuk Dry dihitung menggunakan
rumus
-(x-d)/(d-c),c<x≤d,dimana c=10,dan d=20(lihat gambar 3-15). Sehingga
derajat keanggotaan untuk Moist di hitung menggunkan rumus (x-a)/(b-a),a<x<b, di mana a=10,dan b=20.sehingga derajat keanggotaan Moist=(12-10)/(20-10)=1/5. µ 1 4/5 Wet Moist Dry Kelembaban(%) 1/5
Gambar 3.11. Fungsi keanggotaan trapesium untuk kelembaban Tanah.
Gambar 3.12. Fungsi keanggotaan trapesium untuk Durasi Penyiraman.
Jadi proses fuzzification menghasilkan empat fuzzy input: suhu udara=warm(2/3) dan hot(1/3),dan kelembaban tanah=dry (4/5)dan moist(1/5).
Proses inferensi
Terdapat berbagai macam cara dalam menentukan aturan fuzzy.misalkan,untuk durasi penyiraman kita menggunakan fungsi keanggotaan trapesium dengan tiga nilai linguistik:short,medium,dan long . Sebagai contoh, misalkan kita mendefinisikan aturan fuzzy seperti pada gambar 3.13
Antecedent 1 (suhu udara)
Durasi (menit) µ Long Medium Short 90 48 40 28 20 0
Cold Cool Normal Warm Hot
Dry Long Long Long Long Long
Moist Long Medium Medium Medium Medium
Wet Short Short Short Short Short
Gambar 3.13. Aturan Fuzzy
Dengan definisi aturan fuzzy pada gambar 3.13 di atas,kita mempunyai 3x5=15 aturan fuzzy,yaitu:
IF Suhu=Cold AND Kelembaban=Dry THEN Durasi=Long
IF Suhu=Hot AND Kelembaban=Wet THEN Durasi=Short
Di sini kita akan membahas penggunaan inferensi menggunakan model mamdani dan model sugeno.kita akan melihat perbedaan kedua model tersebut.
Proses inference menggunakan model mamdani
Jika kita menggunakan model mamdani, kita bisa menggunakan dua cara inferensi,yaitu clipping(alpha-cut) atau scaling. Metode yang paling umum digunakan adalah clipping karena mudah diimplementasikan dan bila diagregasikan dengan fungsi lain akan menghasilkan bentuk yang mudah di-defuzzification.
Dari empat data fuzzy input tersebut,Warm(2/3),hot(1/3),Dry(4/5)dan Moist(1/5),maka kita mendapatkan empat aturan (dari 15 aturan)yang dapat diaplikasiakan
IF Suhu is Warm AND Kelembaban is Dry THEN Durasi Long
An te ce de nt 2 (ke lem bab an )
IF Suhu Warm AND Kelembaban is Moist THEN Durasi is Medium IF Suhu is Hot AND Kelembaban is Dry THEN Durasi is Long IF Suhu is Hot AND Kelembaban is THEN Durasi is Medium
Dari empat aturan fuzzy dan empat fuzzy input tersebut, maka proses inference yang terjadi adalah sebgai berikut(misal kita menggunakan inferensing clipping).
Gunakan aturan conjuction(^)dengan memilih derajat keanggotaan
minimum dari nilai-nilai linguistik yang di hubungkan oleh ^ (lihat persamaan 3-21) dan lakukan Clipping pada fungsi keanggotaan trapesium untuk durasi Peyiraman.sehingga di proleh
IF Suhu is Warm (2/3) AND Kelembaban is Dry (4/5) THEN Durasi is Long (2/3)
IF Suhu is Warm (2/3) AND Kelembaban is Moist (1/5) THEN Durasi is Medium (1/5)
IF Suhu is Hot (1/3) AND Kelembaban is Dry (4/5) THEN Durasi is Long (1/3)
IF Suhu is Hot (1/3)AND Kelembaban is Moist (1/5)THEN Durasi is Medium (1/5)
Gunakan aturan Disjunction ( ) dengan memilih derajat keanggotaan
Maximum dari nilai-nilai linguistik yang dihubungkan oleh v, dari ‘Durasi
is Long (2/3) v Durasi is Long (1/3)’ dihasilkan ‘Durasi is Long (2/3)’.
Sedangkan, dari ‘Durasi is Medium (1/5) v Durasi is Medium (1/5)’
dihasilkan’Durasi is Medium (1/5)’. Dengan demikain, kita memproleh
dua pernyataan: Durasi Long (2/3) dan Durasi is Medium (1/5). Prose inferensi menggunakan proses Clipping menghasilkan dua area abu-abu
Proses inference menggunakan Model Sugeno
Model Sugeno menggunakan fungsi keanggotaan yang lebih sederhana dibandingkan Model Mamdani. Fungsi keanggotaan tersebut adalah Singleton, yaitu fungsi keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada semua nilai crisp yang lain. Misalkan kita definisikan fungsi singleton untuk durasi Penyiraman berikut ini:
Dengan cara yang sama seperti pada Model Mamdani, di proleh:Durasi is Long (4/5) dan Durasi is Medium (1/5). Prose inferensi menggunakan Model Sugeno menghasilkan dua derajat keanggotaan
Proses defuzzyficatition
Sebelum defuzzyficatition, kita harus melakukan proses composition, yaitu agregasi hasil Clipping dari semua aturan fuzzy sehingga kita dapatkan satu fuzzy set tunggal.
Proses defuzzyfication menggunakan Model Mamdani
Proses composition dari dua fuzzy set,durasi is Medium (1/5) dan (b) Durasi is Long (2/3) menghasilkan satu fuzzy set tunggal. Misalkan,kita menggunakan Centroid method untuk proses defuzzyfication. Untuk mendapatkan nilai crisp menggunakan Centroid method.Untuk memudahkan penghitungan, menentukan titik sembarang pada area abu-abu tersebut, misalkan:24,28,32,36,40,48,60,70,80 dan 90, diproleh hasil sebagai berikut:
∗ ( ) / ( ) /
/ / / / / / / / / /
Jadi dengan menggunakan Model Mamdani, untuk Suhu Udara 37℃ dan
Kelembaban tanah 12%, maka sprinkle secara otomatis akan menyiramkan air selama 60,97 menit
Proses defuzzyfication menggunakan Model Sugeno
Proses composition dari dua fuzzy set, Durasi is Medium (1/5) dan (b) Durasi is long (2/3), menghasilkan satu fuzzy set tunggal. Jika kita menggunakan Height method untuk proses defuzzyfication,maka dari dua fuzzy set,Medium (1/5) dan long (2/3),dipilih nilai maksimumnya yaitu long (2/3).karena nilai crisp untuk long adalah 60,maka proses defuzzyfication menghasilkan nilai crisp sebesar 60. Dengan demikian, Durasi penyiraman adalah 60 menit.
Jika kita menggunakan Weighted Average untuk proses defuzzyfication,maka ∗ / ( ) / ( )/ / = 55,38
Dengan demikian, jika kita menggunakan Model Sugeno dengan defuzzyfication berupa Weighted Avarage, maka Durasi penyiraman adalah 55,38 menit
Pada kasus di atas,model Mamdani dan model Sugeno menghasilkan output yang berbeda. Hal ini tentu saja sangat dipengaruhi oleh dua hal:
1)perbedaan dalam mendefinisikan fungsi keanggotaan untuk Durasi penyiraman ;dan
2) perbedaan dalam penggunaan metode defuzzyfication.
Dari ilustrasi kedua model di atas, terlihat bahwa model Sugeno menggunakan perhitungan yang libih sederhana dibandingkan model Mamdani. Tetapi,model Mamdani dapat memberikan output yang lebih intutif dan lebih sesuai dengan pola pikir manusia dibandingkan dengan model sugeno. Model Sugeno sering digunakan untuk masalah non linier yang dinamis, seperti sistem kontrol, karena waktu prosesnya yang sangat cepat dan output yang dihasilkan masih bisa diterima.
Pada kasus diatas,sistem berbasis aturan fuzzy menggunakan model Mamdani bisa menghasilkan output yang berupa bilangan real (yaitu 60,97).