Anda di halaman 1dari 54

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 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 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 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 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 masukanmasukan 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 ANDAND 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 d di 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)/(2010)=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.