Fuzzy Systems
http://mhs.stiki.ac.id/06114001/Software/bowo/Fuzzy%20Logic.ppt
Fuzzy Logic
• Dua buah logic yang dibahas sebelumnya adalah untuk masalah-masalah yang pasti.
• Untuk merepresentasikan masalah yang mengandung ketidakpastian ke dalam suatu bahasa formal yang dipahami komputer digunakan fuzzy logic.
Masalah: Pemberian beasiswa
• Misalkan terdapat permasalahan sebagai berikut:– Sebuah universitas akan memutuskan apakah seorang
mahasiswa layak mendapatkan beasiswa atau tidak.– Misalkan kriteria yang diperhatikan adalah Indeks Prestasi
(IP)3,0 dan hasil Test Psikologi (TP) 8,0.– Mahasiswa A memiliki IP=3,0 dan TP=8,0– Mahasiswa B memiliki IP=2,999999, dan TP=8,5.– Dengan aturan tersebut diputuskan bahwa mahasiswa A
layak mendapatkan beasiswa sedangkan mahasiswa B tidak.
• Pada kasus di atas, universitas tersebut membuat keputusan dengan aturan yang jelas dan membedakan secara tegas, melihat masalah secara hitam dan putih (crisp), dan mungkin dianggap kurang adil.
Crisp set
• Himpunan yang membedakan anggota dan non anggotanya dengan batasan yang jelas disebut crisp set.
• Misalnya, jika C={x x integer, x > 2}, maka anggota C adalah 3, 4, 5, dan seterusnya.
• Sedangkan yang bukan anggota C adalah 2, 1, 0, -1, dan seterusnya.
Fuzzy Set
• Fuzzy set merupakan dasar dari fuzzy logic dan fuzzy systems.
• Suatu fuzzy set A di dalam Universe (semesta) U didefinisikan sebagai suatu fungsi keanggotaan A(x), yang memetakan setiap objek di U menjadi
suatu nilai real dalam interval [0,1].
• Nilai-nilai A(x) menyatakan derajat keanggotaan
x di dalam A.
Fuzzy Set
• Contoh:– Misalkan, x = {5, 10, 20, 30, 40, 50, 60, 70, 80} adalah
crisp set Usia dalam satuan tahun.
– Balita, Dewasa, Muda, dan Tua adalah empat fuzzy set yang merupakan subset dari x.
Fuzzy Set
• Pada tabel tersebut terdapat 4 buah fuzzy set dengan anggota dan derajat keanggotaannya sebagai berikut:– Balita = {}
– Dewasa = {20, 30, 40, 50, 60, 70, 80}, di mana derajat keanggotaannya dinyatakan oleh Dewasa = {0.8, 1, 1, 1, 1, 1, 1}.
– Muda = {5, 10, 20, 30, 40, 50}, di mana derajat keanggotaannya dinyatakan oleh muda = {1, 1, 0.8, 0.5, 0.2, 0.1}.
– Tua = {20, 30, 40, 50, 60, 70, 80}, di mana derajat keanggotaannya dinyatakan oleh Tua = {0.1, 0.2, 0.4, 0.6, 0.8, 1, 1}.
Konvensi penulisan fuzzy set
• Konvensi untuk menuliskan fuzzy set yang dihasilkan dari universe U yang diskrit adalah sebagai berikut:
• Pada contoh di atas, fuzzy set Tua ditulis sebagai:
Konvensi penulisan fuzzy set
• Sedangkan jika U adalah kontinu, maka fuzzy set A dinotasikan sebagai:
Membership functions (Fungsi-fungsi keanggotaan)
• Di dalam fuzzy sistems, fungsi keangotaan memainkan peranan yang sangat penting untuk merepresentasikan masalah dan menghasilkan keputusan yang akurat.
• Terdapat banyak sekali fungsi keanggotaan yang bisa digunakan.
• Di sini hanya akan dibahas empat fungsi keanggotaan yang sering digunakan, yaitu:– Fungsi sigmoid
– Fungsi phi
– Fungsi segitiga
– Fungsi trapesium
Fungsi Sigmoid
• Sesuai dengan namanya, fungsi ini berbentuk kurva sigmoidal seperti huruf S.
• Setiap nilai x (anggota crisp set) dipetakan ke dalam interval [0,1].
Fungsi SigmoidFungsi Sigmoid
Fungsi Phi
• Pada fungsi keanggotaan ini, hanya terdapat satu nilai x yang memiliki derajat keanggotaan yang sama dengan 1, yaitu ketika x=c.
• Nilai-nilai di sekitar c memiliki derajat keanggotaan yang masih mendekati 1.
Fungsi PhiFungsi Phi
Fungsi Segitiga
• Sama seperti fungsi phi, pada fungsi ini juga terdapat hanya satu nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika x=b.
• Tetapi, nilai-nilai di sekitar b memiliki derajat keanggotaan yang turun cukup tajam menjauhi 1.
Fungsi SegitigaFungsi Segitiga
Fungsi Trapesium
• Berbeda dengan fungsi segitiga, pada fungsi ini terdapat beberapa nilai x yang memiliki derajat keanggotaan sama dengan 1, yaitu ketika b x c
• Tetapi derajat keanggotaan untuk a< x <b dan c< x d memiliki karakteristik yang sama dengan fungsi segitiga.
Fungsi TrapesiumFungsi Trapesium
Sistem berbasis aturan fuzzy
• Variabel linguistik– Variabel linguistik adalah suatu interval numerik dan
mempunyai nilai-nilai linguistik, yang semantiknya didefinisikan oleh fungsi keanggotaannya.
– Misalnya, Suhu adalah variabel linguistik yang bisa didefinisikan pada interval [-100 C, 400 C].
– Variabel tersebut bisa memiliki nilai-nilai linguistik seperti ‘Dingin’, ‘Hangat’, ‘Panas’ yang semantiknya didefinisikan oleh fungsi-fungsi keanggotaan tertentu.
• Suatu sistem berbasis aturan fuzzi yang lengkap terdiri dari tiga komponen utama:
– Fuzzification
– Inference
– Defuzzification
Diagram blok lengkap sistem berbasis aturan fuzzy
Fuzzification
• Fuzzification: mengubah masukan-masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam bentuk fuzzy input.
Inference
• Inference: melakukan penalaran menggunakan fuzzy input dan fuzzy rules yang telah ditentukan sehingga menghasilkan fuzzy output.
• Secara sintaks, suatu fuzzy rule (aturan fuzzy) dituliskan sebagai:– IF antecendent THEN consequent
• Terdapat dua model aturan fuzzy yang digunakan secara luas dalam berbagai aplikasi, yaitu:– Model Mamdani
– Model Sugeno
Inference
• Model Mamdani– Pada model ini, aturan fuzzy didefinisikan sebagai:
IF x1 is A1 AND …AND xn is An THEN y is B
di mana A1, …, An, dan B adalah nilai-nilai linguistik (atau fuzzy set) dan “x1 is A1” menyatakan bahwa nilai x1 adalah anggota fuzzy set A1.
Inference• 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 x1 is A1 AND…AND xn is An THEN y=f(x1,…,xn)
di mana f bisa sembarang fungsi dari variabel-variabel input yang nilainya berada dalam interval variabel output. Biasanya, fungsi ini dibatasi dengan menyatakan f sebagai kombinasi linier dari variabel-variabel input:
f(x1,…,xn) = w0 + w1x1 + …+wnxn
di mana w0, w1,…,wn adalah konstanta yang berupa bilangan real yang merupakan bagian dari spesifikasi aturan fuzzy.
Defuzzification
• Defuzzification: mengubah fuzzy output menjadi crisp value berdasarkan fungsi keanggotaan yang telah ditentukan.
• Terdapat berbagai metode defuzzification yang telah berhasil diaplikasikan untuk berbagai macam masalah, di sini dibahas 5 metode di antaranya, yaitu:– Centroid method
– Height method
– First (or Last) of Maxima
– Mean-Max method
– Weighted Average
Defuzzification• Centroid method:
– Metode ini disebut juga sebagai Center of Area atau Center of Gravity.
– Metode ini menghitung nilai crisp menggunakan rumus:
di mana y* suatu nilai crisp.
– Fungsi integration dapat diganti dengan fungsi summation jika y bernilai diskrit, sehingga menjadi:
di mana y* adalah nilai crisp dan R(y) adalah derajat keanggotaan dari y.
Defuzzification
• Height method– Metode ini dikenal sebagai prinsip keanggotaan
maksimum karena metode ini secara sederhana memilih nilai crisp yang memiliki derajat keanggotaan maksimum.
– Oleh karena itu, metode ini hanya bisa dipakai untuk fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan dan 0 pada semua nilai crisp yang lain.
– Fungsi seperti ini sering disebut sebagai singleton.
Defuzzification
• First (or Last) of Maxima– Metode ini juga merupakan generalisasi dari height
method untuk kasus di mana fungsi keanggotaan output memiliki lebih dari satu nilai maksimum.
– Sehingga nilai crisp yang digunakan adalah salah satu dari nilai yang dihasilkan dari maksimum pertama atau maksimum terakhir (tergantung pada aplikasi yang akan dibangun).
Defuzzification
• Mean-Max Method– Metode ini disebut juga sebagai Middle of Maxima.
– Merupakan generalisasi dari height method untuk kasus di mana terdapat lebih dari satu nilai crisp yang memiliki derajat keanggotaan maksimum.
– Sehingga y* didefinisikan 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.
Defuzzification
• Weighted Average– Metode ini mengambil nilai rata-rata dengan
menggunakan pembobotan berupa derajat keanggotaan. Sehingga y* didefinisikan sebagai:
di mana y adalah nilai crisp dan (y) adalah derajat keanggotan dari nilai crisp y.
Studi kasus
• Teori tentang fuzzy set dan fuzzy logic banyak digunakan untuk membangun sistem berbasis aturan fuzzy untuk masalah kontrol, seperti masalah sprinkler control system (sistem kontrol penyiram air).
• Misalkan nilai crisp yang diterima oleh sensor suhu adalah 370 C dan nilai crisp yang diterima sensor kelembaban adalah 12%.
• Berapa lama durasi penyiraman yang harus dilakukan?
Proses fuzzification
• Misalkan, untuk suhu udara kita menggunakan fungsi keanggotaan trapesium dengan lima variabel linguistik: Cold, Cool, Normal, Warm, dan Hot
• Dengan fungsi ini, maka crisp input suhu 370 C dikonversi ke nilai fuzzy dengan cara:– Suhu 370 C berada pada nilai linguistik Warm
dan Hot.– Semantik atau derajat keanggotaan untuk Warm
dihitung menggunakan rumus: • -(x-d)/(d-c), c< x ddi mana c=36, dan d=39.• Sehingga derajat keanggotaan Warm=
-(37-39)/(39-36)=2/3– Derajat keanggotaan untuk Hot dihitung
menggunakan rumus (x-a)/(b-a), a < x < b, di mana a=36, dan b=39.
• Sehingga derajat keanggotaan untuk Hot=(37-36)/(39-36)=1/3.
• Misalkan, kita juga menggunakan fungsi keanggotaan trapesium untuk kelembaban tanah.
• Dengan fungsi 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
di mana c=10, dan d=20.• Sehingga derajat keanggotaan untuk Dry adalah
-(12-20)/(20-10)=4/5.– Derajat keanggotaan untuk Moist dihitung dengan
menggunakan 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.
• Jadi, proses fuzzification menghasilkan empat fuzzy input: – Suhu Udara = Warm (2/3) dan Hot(1/3)
– Kelembaban tanah = Dry (4/5) dan Moist(1/5).
Proses Inferensi• Terdapat berbagai macam cara dalam menentukan aturan
fuzzy.• Misalkan, untuk durasi penyiraman digunakan fungsi
keanggotaan trapesium dengan tiga nilai linguistik: Short, Medium, dan Long.
• Misalkan aturan fuzzy didefinisikan sebagai berikut:
• Dengan definisi aturan fuzzy tersebut, didapatkan 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 akan dibahas penggunaan inferensi menggunakan model Mandani dan Model Sugeno.
Proses Inferensi menggunakan Model Mamdani
• Jika menggunakan Model Mamdani, dapat digunakan 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), didapatkan empat aturan (dari 15 aturan) yang dapat diaplikasikan:– IF Suhu is Warm AND Kelembaban is Dry THEN
Durasi is Long
– IF Suhu is 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 Moist THEN Durasi is Medium
• Dari empat aturan fuzzy dan empat fuzzy input tersebut, maka proses inferensi yang terjadi adalah seperti di bawah ini.
• Gunakan aturan Conjunction () dengan memilih derajat keanggotaan minimum dari nilai-nilai linguistik yang dihubungkan oleh dan lakukan clipping pada fungsi keanggotaan trapesium untuk Durasi Penyiraman, sehingga diperoleh:– 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 maksimum dari nilai-nilai linguistik yang dihubungkan oleh .
• Dari ‘Durasi is Long (2/3) Durasi is Long (1/3)’ dihasilkan ‘Durasi is Long (2/3)’.
• Sedangkan dari ‘Durasi is Medium (1/5) ‘Durasi is Medium (1/5) dihasilkan ‘Durasi is Medium (1/5) ‘
• Dengan demikian diperoleh dua pernyataan: – Durasi is Long (2/3), dan
– Durasi is Medium (1/5)
• Proses inferensi menggunakan Model Mamdani menggunakan proses clipping menghasilkan dua area abu-abu seperti gambar berikut:
Proses Inference menggunakan Model Sugeno
• Model Sugeno menggunakan fungsi keanggotaan yang lebih sederhana dibandingkan Model Mamdani.
• Fungsi keanggotaan tersebut adalah Singleton, yaitu fungsi keanggotaan yang memiliki derajat keanggotaan 1 pada suatu nilai crisp tunggal dan 0 pada semua nilai crisp yang lain.
• Misalkan fungsi Singleton untuk Durasi Penyiraman didefinisikan seperti gambar berikut:
• Dengan cara yang sama seperti Model Mamdani, diperoleh: Durasi is Long (2/3) dan Durasi is Medium (1/5).
• Proses inferensi menggunakan Model Sugeno menghasilkan dua derajat keanggotaan sebagai berikut:
Proses Defuzzification
• Sebelum defuzzification, harus dilakukan proses composition, yaitu agregasi hasil clipping dari semua aturan fuzzy sehingga didapatkan satu fuzzy set tunggal.
Proses Defuzzification menggunakan Model Mamdani
• Proses composition dari dua fuzzy set, Durasi is Medium (1/5) dan Durasi is Long (2/3) menghasilkan satu fuzzy set tunggal seperti berikut:
• Misalkan digunakan Centroid method untuk proses defuzzification.
• Titik-titik pada area abu-abu ditentukan secara acak sehingga akan didapatkan satu titik pusat area (center of area atau center of gravity).
• Misalkan titik-titik sembarang tersebut adalah: 24, 28, 32, 36, 40, 48, 60, 70, 80, 90.
• Dengan menggunakan titik-titik tersebut dan persamaan:
diperoleh hasil sebagai berikut:
• Jadi, dengan menggunakan Model Mamdani, untuk Suhu Udara 370 C dan Kelembaban Tanah 12%, sprinkle akan secara otomatis menyiramkan air selama 60,97 menit.
Proses defuzzification dengan menggunakan Model Sugeno
• Proses composition dari dua fuzzy set, Durasi is Medium (1/5) dan Durasi is Long (2/3), menghasilkan satu fuzzy set tunggal yang ditunjukkan pada gambar berikut:
• Jika untuk proses defuzzification digunakan Height Method, 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 defuzzification menghasilkan nilai crisp sebesar 60.
• Dengan demikian, Durasi Penyiraman adalah 60 menit.• Jika menggunakan Weighted Average untuk proses
defuzzification diperoleh hasil:
• Dengan demikian, jika menggunakan Model Sugeno dengan defuzzification berupa Weighted Average, maka Durasi Penyiraman adalah 55,38 menit.