ASAL
MULA FUZZY LOGIC
Konsep Fuzzy Logic diperkenalkan oleh
Prof. Lotfi Zadeh dari Universitas California diBerkeley pada 1965, dan
dipresentasikan bukan sebagai suatu metodologi control, tetapi sebagai suatu
cara pemrosesan data dengan memperkenankan penggunaan partial set
membership dibanding crisp set membership atau non-membership. Pendekatan pada
set teori ini tidak diaplikasikan pada system control sampai tahun 70an karena
kemampuan computer yang tidak cukup pada saat itu. Profesor Zadeh berpikir bahwa
orang tidak membutuhkan kepastian, masukan informasi numeric, dan belum mampu
terhadap control adaptif yang tinggi. Jika pengendali umpan balik dapat
di program untuk menerima derau, masukan yang
tidak tepat, mereka akan menjadi lebih efektif dan mungkin
akan menjadi lebih mudah untuk diimplementasikan. Sayangnya, produsen AS belum
begitu cepat untuk merangkul teknologi ini sementara Eropa dan Jepang telah
agresif produk bangunan nyata di sekitarnya.
APA ITU FUZZY LOGIC ?
Fuzzy Logic adalah metodologi pemecahan
masalah dengan beribu – ribu aplikasi dalam pengendali yang
tersimpan dan pemrosesan informasi. Cocok untuk diimplementasikan
pada sistem yang sederhana, kecil, tertanam pada mikro controller, PC
multi-channel atau workstation berbasis akuisisi data dan control sistem. Fuzzy
logic menyediakan cara sederhana untuk menggambarkan kesimpulan pasti dari
informasi yang ambigu, samar - samar, atau tidak tepat. Sedikit banyak,
fuzzy logic menyerupai pembuatan keputusan pada manusia dengan kemampuannya
untuk bekerja dari data yang ditafsirkan dan mencari solusi yang tepat. Fuzzy
logic pada dasarnya merupakan logika bernilai banyak (multivalued
logic) yang dapat mendefinisikan nilai diantara
keadaan konvensional seperti ya atau tidak, benar atau salah, hitam atau
putih, dan sebagainya. Penalaran fuzzy menyediakan cara untuk memahami kinerja
dari system dengan cara menilai input dan output system dari hasil pengamatan.
ALASAN
MENGGUNAKAN LOGIKA FUZZY
Logika Fuzzy adalah suatu cara yang
tepat untuk memetakan suatu ruang input ke dalam ruang output. Untuk sistem
yang sangat rumit, penggunaan logika fuzzy (fuzzy logic) adalah salah satu
pemecahannya. Sistem tradisional di rancang untuk mengontrol keluaran tunggal
yang berasal dari beberapa masukan yang tidak saling berhubungan. Karena ketidaktergantungan
ini, penambahan masukan yang baru akan memperumit proses kontrol dan
membutuhkan proses perhitungan kembali dari semua fungsi. Kebalikannya,
penambahan masukan baru pada sistem fuzzy, yaitu sistem yang bekerja
berdasarkan prinsip – prinsip logika fuzzy, hanya membutuhkan penambahan fungsi
keanggotaan yang baru dan aturan – aturan yang berhubungan dengannya.
Secara umum, sistem fuzzy sangat
cocok untuk penalaran pendekatan terutama untuk sistem yang menangani
masalah-masalah yang sulit didefinisikan dengan menggunakan model matematis
Misalkan, nilai masukan dan parameter sebuah sistem bersifat kurang akurat atau
kurang jelas, sehingga sulit mendefinisikan model matematikanya.
Sistem fuzzy mempunyai beberapa keuntungan
bila dibandingkan dengan sistem tradisional, misalkan pada jumlah aturan yang
dipergunakan. Pemrosesan awal sejumlah besar nilai menjadi sebuah nilai derajat
keanggotaan pada sistem fuzzy mengurangi jumlah nilai menjadi sebuah nilai
derajat keanggotaan pada sistem fuzzy mengurangi jumlah nilai yang harus
dipergunakan pengontrol untuk membuat suatu keputusan. Keuntungan lainnya
adalah sistem fuzzy mempunyai kemampuan penalaran yang mirip dengan kemampuan
penalaran manusia. Hal ini disebabkan karena sistem fuzzy mempunyai kemampuan
untuk memberikan respon berdasarkan informasi yang bersifat kualitatif, tidak
akurat, dan ambigu.
Fuzzy
logic menawarkan beberapa karakteristik unik yang menjadikannya suatu pilihan
yang baik untuk banyak masalah control. Karakteristik tersebut antara lain
:
- Sudah menjadi sifatnya yang kuat
selama tidak membutuhkan ketepatan, input yang bebas derau, dan dapat
diprogram untuk gagal dengan aman jika sensor arus balik dimatikan
atau rusak. Control output adalah fungsi control halus meskipun jarak
variasi input yang cukup besar.
- Selama fuzzy logic controller
memproses aturan – aturan yang dibuat
user yang memerintah system control target, ia dapat dimodifikasi dengan
mudah untuk meningkatkan atau mengubah secara drastis performa system.
Sensor yang baru dapat dengan mudah digabungkan kedalam system secara
sederhana dengan menghasilkan aturan memerintah yang sesuai.
- Fuzzy logic tidak terbatas pada
sedikit masukan umpan-balik dan satu atau dua output control,
tidak juga penting untuk menilai atau menghitung parameter rata
- rata perubahan dengan tujuan agar ia diimplementasikan. Sensor
data yang menyediakan beberapa indikasi untuk aksi dan reaksi
system sudah cukup. Hal ini memungkinkan sensor menjadi murah dan tidak
tepat sehingga menghemat biaya system keseluruhan dan kompleksitas rendah.
- Karena operasi – operasi yang berbasiskan aturan, jumlah input yang
masuk akal dapat diproses ( 1 sampai 8 atau lebih ) dan banyak
output ( 1 sampai 4 atau lebih ) dihasilkan, Walaupun pendefinisian
rulebase secara cepat menjadi rumit jika terlalu banyak input danoutput
dipilih untuk implementasi tunggal selama pendefinisian rules(aturan),
hubungan timbal baliknya juga harus didefinisikan. Akan lebih baik jika
memecah system kedalam potongan – potongan yang lebih
kecil dan menggunakan fuzzy logic controllers yang lebih kecil untuk
didistribusikan pada system, masing –masing dengan tanggung
jawab yang lebih terbatas.
- Fuzzy Logic dapat mengontrol system nonlinier yang akan sulit atau tidak mungkin untuk dimodelkan secara matematis. Hal ini membuka pintu bagi system control yang secara normal dianggap tidak mungkin untuk otomatisasi.
BAGAIMANA MENGGUNAKAN FUZZY LOGIC ?
Adapun langkah – langkah
penggunaan fuzzy logic adalah sebagai berikut:
A.
Definisikan obyektif dan criteria control
:
1.
Apa yang kita coba control ?
2.
Apa yang harus kita lakukan untuk
mengontrol system ?
3.
Respon seperti apa yang kita butuhkan ?
4.
Apa mode kegagalan system yang
mungkin ?
B. Tentukan hubungan antara input dan output
serta memilih jumlah minimum variable input pada mesin fuzzy logic(secara
khusus error dan rata – rata perubahan error).
C.
Dengan menggunakan struktur berbasis aturan
dari fuzzy logic, jabarkan permasalahancontrol ke dalam aturan IF X AND Y THEN
Z yang mendefinisikan respon output systemyang diinginkan untuk kondisi input
system yang diberikan. Jumlah dan kompleksitas darirules bergantung pada jumlah
parameter input yang diproses dan jumlah variable fuzzy
yang bekerjasama dengan tiap –tiap parameter. Jika
mungkin, gunakan setidaknya satu variable dan turunan waktunya. Walaupun
mungkin untuk menggunakan sebuah parameter tunggalyang error saat itu juga
tanpa mengetahui rata - rata perubahannya, hal ini melumpuhkan kemampuan
system untuk meminamalisasi keterlampauan untuk sebuah tingkat input.
D.
Buat fungsi keanggotaan yang menjelaskan
nilai input atau output yang digunakan.
E. Buat rutinitas proses awal dan akhir yang
penting jika diimplementasikan dalam software,sebaliknya program rules kedalam
mesin hardware fuzzy logic.
F. Test system, evaluasi hasil, atur rules
dan fungsi keanggotaan, dan retest sampai hasil yang memuaskan didapat.
HIMPUNAN FUZZY
Tahun 1965, Profesor L.A. Zadeh
memperkenalkan teori himpunan fuzzy, yang secara tidak langsung
mengisyaratkan bahwa tidak hanya teori probabilitas saja yang dapat
merepresentasikanketidakpastian. Teori himpunan fuzzy adalah merupakan
perluasan dari teori logika Boolean yang menyatakan tingkat angka 1 atau 0 atau
pernyataan benar atau salah, sedang pada teori logika fuzzy terdapat tingkat
nilai, yaitu :
- satu
(1), yang berarti bahwa suatu item menjadi anggota dalam suatu himpunan.
- nol (0), yang berarti bahwa suatu item tidak menjadi anggota dalam suatu himpunan.
Fuzzy logic
didefinisikan sebagai suatu jenis logic yang
bernilai ganda dan berhubungan dengan ketidakpastian dan kebenaran parsial. Yang terdiri dari:
1.
Logical Connection dan Implication
P adalah
suatu fuzzy logic proposition, yaitu
suatu pernyataan mengenai suatu konsep yang batasannya tidak terdefinisi dengan
jelas. Dalam fuzzy Logical connectives dan
implication logic, nilai kebenaran
yang dapat diberikan kepada P adalah
nilai – nilai yang berada dalam interval [ 0,1 ]. Nilai 0 menyatakan bahwa P adalah salah dan nilai 1 menyatakan
bahwa P adalah benar. Pemberian nilai kebenaran untuk P dituliskan sebagai:
T : P → [ 0,1 ]
Di mana T adalah fungsi kebenaran yang memetakan
P ke suatu nilai dalam interval [ 0,1
]. Selanjutnya, 3 buah logical
connectives dapat didefinisikan
sebagai berikut:
Negation T(-P) = 1 – T(P)
Disjunction
T(P ˅ Q) = max{T(P), T(Q)}
Conjunction
T(P ˄ Q) = min{T(P), T(Q)}
Sedangkan untuk implication, terdapat banyak definisi
yang bisa digunakan bergantung pada penerjemahan semantiknya atau pada konteks
penggunaannya. Pada first-order logic,
implication didefinisikan sebagai berikut:
P => Q ≡ -P ˅ Q
Jika kita
mengkonversi implication tersebut ke
dalam fuzzy logic, sebagai berikut:
T(P => Q) = max{1 – T(P),
T(Q)}
2.
Approximate Reasoning
Sebagian besar
penalaran yang dilakukan manusia bersifat perkiraan (approximate) dan hanya
sedikit manusia yang berfikir secara pasti dalam hal – hal yang bersifat kuantitatif
dan logis. Ketika dua orang sedang melakukan percakapan, terdapat banyak
kalimat yang mengandung kata – kata yang tidak pasti. Contohnya:
A : ‘Apakah dia anak pintar?’
B : ‘Sepertinya
begitu.’
A : ‘Apakah indeks Prestasi dan hasil tes
psikologinya bagus?’
B : ‘Ya, keduanya sangat bagus.’
A : ‘Apakah dia layak mendapatkan
beasiswa?’
B : ‘Ya, sepertinya itu adalah keputusan yang baik.’
Pada dialog
diatas, kedua orang tersebut sedang melakukan penalaran yang bersifat perkiraan
atau approximate reasoning, yaitu reasoning terhadap proposisi yang tidak
pasti. Contoh approximate reasoning adalah
sebagai berikut:
P1
: Sebagian besar anak kecil suka permen
P2 :
Andi adalah anak kecil
----------------------------------------------------------
P3
: Sepertinya Andi suka permen
3.
Sistem Berbasis
Aturan Fuzzy
Variabel linguistik
Adalah suatu
interval numerik dan mempunyai nilai – nilai linguistik, yang semantiknya
didefinisikan oleh fungsi keanggotaannya. Misalnya, Suhu adalah suatu variabel linguistik yang bisa didefinisikan pada
interval. Variabel tersebut bisa memiliki nilai – nilai linguistik seperti
‘Dingin’, ‘Hangat’, ‘Panas’ yang semantiknya didefinisikan oleh fungsi – fungsi
keanggotaan tertentu.
Suatu sistem
berbasis aturan fuzzy yang lengkap
terdiri dari 3 komponen utama:
1. Fuzzification ,
mengubah masukan – masukan yang nilai kebenarannya bersifat pasti (crisp input) ke dalam bentuk fuzzy input, yang berupa nilai
linguistik yang semantiknya ditentukan berdasarkan fungsi keanggotaan tertentu.
2. Inference ,
melakukan penalaran menggunakan fuzzy
input dan fuzzy rules yang telah
ditentukan sehingga menghasilkan fuzzy
output.
3. Defuzzification , mengubah
fuzzy output menjadi crisp value berdasarkan fungsi
keanggotaan yang telah ditentukan.
Contoh Penerapan Fuzzy Logic
Bagi anda yang
mempelajari tentang Artificial
Intelligence pada pokok
bahasan Fuzzy Logic,
ada tiga metode yang sering digunakan dalam menyelesaikan masalah dengan
menggunakan konsep fuzzy
logic, yaitu: (1) Metode
Tsukamoto; (2) Metode Mamdani; (3) Metode Sugeno. Pada kesempatan ini, saya
akan menerapkan metode Mamdani untuk menyelesaikan sebuah contoh masalah
sederhana menggunakan aplikasi Matlab. Metode Mamdani adalah metode yang lebih
mudah digunakan dari kedua pada metode lainnya. Sebagaimana kita ketahui bahwa
Matlab menyediakan metode ini (Mamdani) pada toolbox
fuzzy, namun saya akan mencobanya dengan koding.
Prosedur Fuzzy Logic:
1. Fuzzifikasi;
2. Pembentukan Rule
3. Mesin Inferensi
4. Defuzzifikasi
Contoh Kasus
Perhatikan komentar
pada script berikut ini:
a = newfis('MAMDANI IDEAL BADAN');
%Tinggi Badan (Input 1)
a = addvar(a,'input','Tinggi Badan',[0 200]);
a = addmf(a,'input',1,'Pendek','trapmf',[0 0 100 140]);
a = addmf(a,'input',1,'Sedang','trimf',[125 150 175]);
a = addmf(a,'input',1,'Tinggi','trimf',[160 200 200]);
%Berat Badan (Input 2)
a = addvar(a,'input','Berat Badan',[0 100]);
a = addmf(a,'input',2,'Ringan','gaussmf',[15 0]);
a = addmf(a,'input',2,'Normal','gaussmf',[15 50]);
a = addmf(a,'input',2,'Berat','gaussmf',[15 100]);
%Ideal Badan (Output 1)
a = addvar(a,'output','Ideal Badan',[0 10]);
a = addmf(a,'output',1,'Sedikit','trimf',[0 1.5 3]);
a = addmf(a,'output',1,'Sedang','trimf',[3 5 7]);
a = addmf(a,'output',1,'Banyak','trimf',[7 8.5 10]);
% Rule #1 : IF TinggiBadan is Tinggi AND BeratBadan is
Ringan THEN IdealBadan is Kurus
% #2 : IF TinggiBadan is Tinggi AND
BeratBadan is Normal THEN IdealBadan is Kurus
% #3 : IF TinggiBadan is Sedang AND
BeratBadan is Ringan THEN IdealBadan is Kurus
% #4 : IF TinggiBadan is Pendek AND
BeratBadan is Ringan THEN IdealBadan is Ideal
% #5
: IF TinggiBadan is Sedang AND BeratBadan is Normal THEN IdealBadan is Ideal
% #6 : IF TinggiBadan is Tinggi AND
BeratBadan is Berat THEN IdealBadan is Ideal
% #7 : IF TinggiBadan is Pendek AND
BeratBadan is Berat THEN IdealBadan is Gemuk
% #8
: IF TinggiBadan is Pendek AND BeratBadan is Normal THEN IdealBadan is Gemuk
% #9 : IF TinggiBadan is Sedang AND
BeratBadan is Berat THEN IdealBadan is Gemuk
% masing-masing kolom adl input1|input2|output1|weight|OR=2;
AND=1
ruleList=[...
3
1 1 1 1
3
2 1 1 1
2
1 1 1 1
1
1 2 1 1
2
2 2 1 1
3
3 2 1 1
1
3 3 1 1
1
2 3 1 1
2
3 3 1 1];
a = addrule(a,ruleList);
out = evalfis([165 55],a); % 165 = Tinggi Badan; 55 = Berat Badan
writefis(a,'Mamdani_UseCoding_gaussmf'); %
Simpan ke File dng nama "Mamdani_UserCoding.fis"
% fismat = readfis('BuildManualFuzzy'); %Membaca file -->
getfis(fismat); %Membaca file
Untuk menjalankan file ini pada toolbox Fuzzy, silahkan ketik: fuzzy('namaFile'); pada Commmad
Window Matlab lalu
tampilkanlah outputnya dengan memilih menu View
- Rules atau Surface pada tollbox
fuzzy (Fis Editor).
Sumber :
-http://www.academia.edu/4858948/FUZZY_LOGIC_ASAL_MULA_FUZZY_LOGIC_Konsep_Fuzzy_Logic_diperkenalkan_oleh_Prof
- Suyanto, ST, MSc. Artificial Intelligence Searching, Reasoning, Planning dan Learning.
- Jannus Maurits Nainggolan, “Logika Fuzzy (Fuzzy Logic) : Teori dan Penerapan Pada Sistem Daya (Kajian Pengaruh Induksi Medan Magnet)”
- Jannus Maurits Nainggolan, “Logika Fuzzy (Fuzzy Logic) : Teori dan Penerapan Pada Sistem Daya (Kajian Pengaruh Induksi Medan Magnet)”
0 komentar:
Posting Komentar