Definisi: Fuzzy logic adalah cabang matematika yang berhubungan dengan penalaran yang tidak pasti atau tidak eksak. Fuzzy logic menyediakan kerangka kerja matematis untuk menangani ketidakpastian dan untuk memodelkan proses pengambilan keputusan yang mirip dengan cara manusia berpikir.
Logika fuzzy merupakan sebuah pendekatan dalam teori pengambilan keputusan yang mengizinkan nilai-nilai kebenaran untuk berkisar antara 0 dan 1, yang mencerminkan bagaimana manusia berpikir dan berkomunikasi secara tidak pasti dan ambigu. Dibandingkan dengan logika boolean tradisional yang hanya mengenal benar (1) atau salah (0), logika fuzzy dapat menggambarkan keadaan antara, seperti “sebagian benar” atau “sebagian salah”.
Sejarah: Logika fuzzy pertama kali dikembangkan oleh Profesor Lotfi Zadeh dari UC Berkeley pada tahun 1965 melalui papernya yang berjudul “Fuzzy Sets”. Konsep ini diusulkan untuk mengatasi ketidakcukupan dalam logika tradisional dalam menghadapi data yang bersifat kompleks dan tidak pasti yang sering ditemukan dalam situasi nyata.
Motivasi: Motivasi utama di balik pengembangan logika fuzzy adalah kebutuhan untuk memodelkan ketidakpastian dan imprecision yang ada dalam banyak keputusan manusia. Dalam banyak kasus, data yang kita hadapi dalam dunia nyata tidak hitam dan putih, melainkan berada pada skala abu-abu yang luas. Logika fuzzy memungkinkan sistem keputusan untuk lebih alami dan manusiawi dengan memasukkan tingkat ketidakpastian ini dalam modelnya.
Perbedaan dengan Logika Klasik:
- Logika klasik mendasarkan setiap pernyataan pada dua kondisi: benar atau salah (0 atau 1).
- Fuzzy logic memungkinkan nilai kebenaran yang berada di antara 0 dan 1, sehingga menggambarkan dunia nyata dengan lebih akurat di mana informasi seringkali tidak lengkap atau kabur.
Himpunan Fuzzy
Pada himpunan tegas (crips), nilai keanggotaan suatu item X dalam suatu himpunan A, yang sering ditulis dengan μA[x], memiliki 2 kemungkinan yaitu :
- satu (1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan, atau
- nol (0), yang berarti bahwa suatu item tidak menjadi anngota dalam suatu suatu himpunan.
Contoh 1 : Jika diketahui,
S = {1,2,3,4,5,6} adalah semesta pembicaraan.
A = {1,2,3}
B = {3,4,5}
Bisa dikatakan bahwa :
- Nilai keanggotaan 2 pada himpunan A, μA[2]=1, karena 2 ∈ A
- Nilai keanggotaan 3 pada himpunan A, μA[3]=1, karena 3 ∈ A
- Nilai keanggotaan 4 pada himpunan A, μA[4]=0, karena 3 ∉ A
- Nilai keanggotaan 2 pada himpunan B, μB[2]=0, karena 2 ∉ B
- Nilai keanggotaan 3 pada himpunan B, μB[3]=1, karena 3 ∈ B
Contoh 2: Misalkan varibel umur dibagi menjadi 3 kategori, yaitu :
MUDA umur < 35 tahun,
PAROBAYA 35 ≤ umur ≤ 55 tahun,
TUA umur > 55 tahun
Nilai keanggotaan secara grafis, himpunan MUDA, PAROBAYA dan TUA ini dapat dilihat pada gambar 1.
Pada gambar 1.a, 1.b, 1.c dapat dijelaskan bahwa :
- apabila seseorang berusia 34 tahun, maka ia dikatakan MUDA ( μMUDA[34]=1 );
- apabila seseorang berusia 35 tahun, maka ia dikatakan TIDAK MUDA ( μMUDA[35]=0 );
- apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan TIDAK MUDA ( μMUDA[35 – 1hr]=0 );
- apabila seseorang berusia 35 tahun, maka ia dikatakan PAROBAYA ( μPAROBAYA[35]=1 );
- apabila seseorang berusia 34 tahun, maka ia dikatakan TIDAK PAROBAYA ( μPAROBAYA[34]=0 );
- apabila seseorang berusia 55 tahun, maka ia dikatakan PAROBAYA ( μPAROBAYA[55]=1 );
- apabila seseorang berusia 35 tahun kurang 1 hari, maka is dikatakan TIDAK PAROBAYA ( μPAROBAYA[35 – 1hr]=0 );
Dari sini bisa dikatakan bahwa pemakaian himpunan crips untuk menyatakan umur sangat tidak adil, adanya perubahan kecil saja pada suatu nilai mengakibatkan perbedaan kategori yang cukup signifikan.
Himpunan fuzzy digunakan untuk mengatasi hal tersebut. Seseorang dapat masuk dalam 2 himpunan yang berbeda, MUDA dan PAROBAYA, PAROBAYA dan TUA, dsb. Seberapa besar ekstensinya dalam himpunan tersebut dapat dilihat pada nilai keanggotaanya. Gambar 2 menunjukan himpunan fuzzy untuk variabel umur.
Pada gambar 2, dapat dilihat bahwa :
- Seseorang yang berumur 40 tahun, termasuk dalam himpunan MUDA dengan μMUDA[40]=0.25; namun dia juga termasuk dalam himpunan PAROBAYA dengan μparobaya[40]=0.7
- Seseorang yang berumur 50 tahun, termasuk dalam himpunan TUA dengan μTUA[50]=0.25; namun dia juga termasuk dalam himpunan PAROBAYA dengan μPAROBAYA[50]=O.7
Jika pada himpunan crips, nilai keanggotaan hanya ada 2 kemungkinan yaitu 0 dan 1, pada himpunan fuzzy nilai ke-anggotaan terletak pada rentang 0 sampai 1. Apabila x memiliki nilai keanggotaan fuzzy μA[x]=0 berarti x tidak menjadi anggota himpunan A, demikian juga apabila x memiliki nilai keanggotaan fuzzy μA[x]=1 berarti x menjadi anggota penuh pada himpunan A.
Himpunan fuzzy memiliki 2 atribut, yaitu :
- Linguistik, yaitu penamaan suatu grup yang mewakili suatu keadaan atau kondisi tertentu dengan menggunakan bahasa alami, seperti : MUDA, PAROBAYA, TUA.
- Numeris, yaitu suatu nilai (angka) yang menunjukan ukuran dari suatu variabel seperti : 40, 25, 50, dsb.
Ada beberapa hal yang perlu diketahui dalam memahami sistem fuzzy yaitu :
1.Variabel fuzzy, merupakan variabel yang hendak dibahas dalam suatu sistem fuzzy. Contoh : umur, temperatur, dsb.
2.Himpunan fuzzy, merupakan suatu grup yang mewakili suatu kondisi atau keadaan tertentu dalam suatu variabel fuzzy. Contoh :
- Variabel umur, terbagi menjadi 3 himpunan fuzzy yaitu : MUDA, PAROBAYA dan TUA.
- Variabel temperatur, terbagi menjadi 5 himpunan fuzzy yaitu : DINGIN, PAROBAYA, SEJUK, NORMAL HANGAT, dan PANAS.
3.Semesta pembicaraan, adalah keseluruhan nilai yang diperbolehkan untuk dioperasikan dalam suatu variabel fuzzy. Semesta pembicaraan merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai semesta pembicaraan dapat berupa bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contoh :
- Semesta pembicaraan untuk variabel umur: [0 ~)
- Semesta pembicaraan untuk variabel temperatur: [0 40]
4.Domain, adalah keseluruhan nilai yang diijinkan dalam semesta pembicaraan dan boleh dioperasikan dalam suatu himpunan fuzzy. Seperti halnya semesta pembicaraan, domain merupakan himpunan bilangan real yang senantiasa naik (bertambah) secara monoton dari kiri ke kanan. Nilai domain dapat berupa bilangan positif maupun negatif. Contoh :
MUDA | = | [0, 45] |
PAROBAYA | = | [35, 55] |
TUA | = | [45, ~) |
DINGIN | = | [0, 20] |
SEJUK | = | [15, 25] |
NORMAL | = | [20, 30] |
HANGAT | = | [25, 35] |
PANAS | = | [30, 40] |