Logika Fuzzy Metode Tsukamoto
Logika Fuzzy
Logika fuzzy adalah salah satu komponen pembentu k soft computing. Logika fuzzy pertama kali diperkena lka n oleh Prof. Lotfi A. Zadeh pd
tahun 1965. Dasar logika fuzzy adalah teori himpuna n fuzzy. Pada teori himpuna n fuzzy, peranan derajat keanggotaan sbg penentu
keberadaan elemen dalam suatu himpunan sangatlah penting. Nilai keanggotaan / derajat keanggotaa n / memb e rsh ip function mjd ciri utama
dalam penalaran dengan logika fuzzy tsb (Kusuma Dewi, 2003).
Logika fuzzy dapat dianggap sbg kotak hitam yg berhubungan antara ruang input menuju ruang output (Kusuma Dewi, 2003). Kotak hitam tsb
berisi cara / metode yg dapat digunaka n untuk mengola h data input mjd output dalam bentuk informas i yg baik.
Alasan Digunakannya Logika Fuzzy
Adapun bbrp alasan dipakainya logika fuzzy (Kusuma Dewi, 2003), adalah:
1.) Konsep logika fuzzy mudah dimenge rt i. krn logika fuzzy memaka i dasar teori himpunan , maka konsep matemat is yg mendasari penalara n
fuzzy tsb cukup mudah untuk dimenge rti.
2.) Logika fuzzy sangat fleksisbel, artinya dapat beradaptasi dengan perubahan -p e ru ba ha n, & ketidakpast ia n yg menyertai permasa la ha n.
3.) Logika fuzzy memiliki toleransi terhadap data yg cukup homogeny,
& kemud ian ada bbrp data “eksklusif”, maka logika fuzzy memiliki kedapatan untuk menangani data eksklusif tersebut.
4.) Logika fuzzy dapat me mba ng un & mengaplikas ika n pengala ma n-p en ga la ma n para pakar scr langsung tanpa harus mela lu i proses pelatihan . Dalam hal ini, sering dikenal dengan istilah fuzzy expert sistem mjd bagian terpenting.
5.) Logika fuzzy dapat bekerjasa ma dengan teknik-t e kn ik kendali scr konvensional. Hal ini umumn ya terjadi pd aplikasi di bidang teknik
mesin maupu teknik elektro.
6.) Logika fuzzy didasari pd bahasa alami. Logika fuzzy memaka i bahasa sehari-hari sehingga mudah dimenge rti.
Himpunan Fuzzy
kemung kina n, yaitu:
Satu (1), yg berarti bahwa suatu item mjd anggota dalam suatu himpuna n, atau
Nol (0), yg berarti bahwa suatu item tidak mjd anggota dalam suatu himpunan.
Contoh:
Misalkan variabel umur dibagi mjd tiga kategori, yaitu:
MUDA umur < 35 tahun PAROBAYA 35 ≤umur ≤55 tahun TUA umur > 55 tahun
Dari kategori diatas dapat dijelas ka n bahwa:
Apabila seseorang berusia 34 tahun, maka ia dikatakan MUDA ( (34)=1) Apabila seseorang berusia 35 tahun, maka ia dikatakan TIDAK MUDA
( (35)=0)
Apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan
TIDAK MUDA ( (35-1 hari)=1)
Apabila seseorang berusia 35 tahun, maka ia dikatakan PAROBAYA ( (34)=1)
Apabila seseorang berusia 34 tahun, maka ia dikatakan TIDAK PAROBAYA ( (34)=0)
Apabila seseorang berusia 55 tahun, maka ia dikatakan PAROBAYA ( (55)=1)
Apabila seseorang berusia 35 tahun kurang 1 hari, maka ia dikatakan
TIDAK PAROBAYA ( (35-1 hari)=0)
Dari sini dapat dikatakan bahwa pemaka ian himpunan crisp untuk menyata kan umur sangat tidak adil. Adanya perubahan kecil saja pd suatu
nilai mengakibat kan perbedaan kategori yg cukup signifikan.
Himpun an fuzzy digunakan untuk mengantis ip asi hal tersebut. Seseorang dapat masuk dalam dua himpunan yg berbeda, MUDA &
PAROBAYA, PAROBAYA & TUA, & sebagainya. Seberapa besar eksistensinya dalam himpunan tsb dapat dilihat pd nilai keanggotaanya.
Contoh Program Logika Fuzzy
Pada gambar diatas, dapat dilihat bahwa:
1.) Seseorang yg berumur 40 tahun, termasu k dalam himpuna n MUDA dengan ( (40) = 0,25); namun dia juga termasuk dalam himpuna n
PAROBAYA ( (40) = 0,5).
2.) Seseorang yg berumur 50 tahun, termasu k dalam himpuna n TUA dengan ( (50) = 0,25); namun dia juga termasuk dalam himpuna n
PAROBAYA ( (50)=0,5).
Terkadang kemiripan antara keanggotaan fuzzy dengan probabilitas menimbu lkan kerancuan. Keduanya memiliki nilai interval [0,1], namun
interpretas i nilainya sangat berbeda antara kedua kasus tersebut. Keanggotaan fuzzy memb e rika n suatu ukuran terhadap pendapat /
keputusan, sedangkan probabilitas mengindikas ikan proporsi terhadap keseringa n suatu hasil bernilai benar dalam jangka panjang. Misalnya,
jika nilai keanggotaan bernilai suatu himpuna n fuzzy USIA adalah 0,9; maka tidak perlu dipermasa la h ka n berapa seringnya nilai itu diulang
scr individua l untuk mengharap ka n suatu hasil yg hampir pasti muda.
Dilain pihak, nilai probilitas 0,9 usia berarti 10% dari himpuna n tsb diharapkan tidak muda (Kusuma Dewi, 2003).
Himpunan Fuzzy memiliki 2 atribut (Kusuma Dewi, 2003), yaitu:
1.) Linguistik, yaitu penamaa n suatu grup yg mewakili suatu keadaan / kondisi tertentu dengan mema ka i bahasa alami, speerti: MUDA,
2.) Nume ris, yaitu suatu nilai (angka) yg menunjukka n ukuran dari suatu variabel seperti: 40, 25, 50, dsb.
Ada bbrp hal yg perlu diketahui dalam memaha mi sistem fuzzy (Kusuma
Dewi, 2003), yaitu:
1.) Variabel fuzzy yaitu variabel yg hendak dibahas dalam suatu sistem fuzzy. Contohnya: umur, temperatu re, permintaa n, dsb.
2.) Himpun an fuzzy yaitu suatu grup yg mewakili suatu kondisi / keadaan tertentu dalam suatu variabel fuzzy. Contohnya: variabel
temperat u r, terbagi mjd 5 himpuan fuzzy, yaitu: DINGIN, SEJUK, NORMAL, HANGAT, & PANAS .
3.) Semesta Pembica ra an yaitu keseluruhan nilai yg diperoleh untuk dioperasikan dalam suatu variabel fuzzy, semesta pembica ra an
merupa ka n himpunan bilangan real yg senantiasa naik (bertambah ) scr monoton dari kiri kekanan. Nilai semesta pembica raa n dapat berupa
bilangan positif maupun negatif. Adakalanya nilai semesta pembicaraan ini tidak dibatasi batas atasnya. Contohnya semesta pembicaraan
untuk variabel umur: [0 +∞].
Domain Himpunan Fuzzy yaitu keseluruha n nilai yg diijinka n & boleh dioperasika n dalam suatu himpunan fuzzy. Seperti halnya semesta
pembica raa n, domain merupakan himpunan bilangan real yg senantiasa naik (bertambah ) scr monoton dari kiri ke kanan. Nilai domain dapat
berupa bilangan positif maupun negatif. Contoh domain himpua na n fuzzy: DINGIN = [0,20], SEJUK = [15,20], NORMAL = [20,30], HANGAT =
[25,35] & PANAS = [30,40].
Contoh Program Logika Fuzzy Metode Tsukamoto
Contoh Program Logika Fuzzy Metode Tsukamoto dengan Visual Studio
2012, saya akan memba g ikan contoh program kendali logika fuzzy / Fuzzy Logic Controll dengan mema ka i metode Tsukamoto.
Penjelasan Program:
jumlah orang & berat barang bawaan.
program ini dibuat dengan mema ka i software Microsoft Visual Studio
2012 Ultimate dengan bahasa C# (baca : C Sharp)
Contoh Program Logika Fuzzy
Rule Base
1. IF Barang Bawaan RINGAN && Jumlah Orang SEDIKIT THEN Daya Motor BERKURANG
1. IF Barang Bawaan RINGAN && Jumlah Orang BANYAK THEN Daya Motor BERKURANG
1. IF Barang Bawaan BERAT && Jumlah Orang SEDIKIT THEN Daya Motor BERTAMBAH
Algoritma program:
1. Start
2. Masukkan batas bawah &/ batas atas masing2 himpunan (Ringan, Berat, Sedikit, Banyak, Berkurang, Berta mb ah)
3. masukka n input >> berat barang bawaan (input X) & jumlah orang
(input Y)
4. hitung derajat keanggotaan untuk masing 2 himpunan masukan
(uRingan, uBerat, uSedikit, uBanyak)
private voi d hitun g_Click(object s ender, EventAr gs e)
{
double inpu t, BB, BA;
double uRin gan, uB erat;
{
input = dou ble.Pars e(inputX .Text); BB = double. Parse(R ingan.Te xt);
uBanyak = rumus.n aik(BB, BA, in put); textBox3.Te xt = u Sedikit. ToStrin g(); textBox4.Te xt = u Banyak.T oString (); }
double kura ng, tam bah;
kurang = do uble.Par se(berku rang.Te xt); tambah = do uble.Par se(berta mbah.Te xt);
double p1, p2, p3 , p4, z 1, z2, z3, z4 , z;
p1 = Math. Min(uRi ngan, u Banyak); z1 = tamba h ‐ (( tambah ‐ kuran g) * p1 ); z_1.Text = z1.ToS tring();
p2 = Math. Min(uRi ngan, u Sedikit) ; z2 = tamba h ‐ (( tambah ‐ kuran g) * p2 );
z_1.Clear() ; z_2.C lear(); z_3.Cl ear(); z_4.Clea r(); h asil.Cle ar(); }
private voi d Reset Input_Cl ick_1(ob ject sen der, E ventArgs e)