Dalam
dunia elektro, khususnya bidang kontrol. Kecerdasan buatan atau yang sering
dikenal dengan istila Artificial Intelegence memang sangat penting.
Metode-metode yang dilakukan dalam sistem kontrol juga beragam. Salah satu
metode yang familliar dan sudah sangat sering digunakan di Indonesia adalah
Logika Fuzzy.
Logika yang paling tua adalah logika digital
atau logika Boolean yang juga dikenal dengan logika pasti. Disebut logika
pasti, karena logika ini hanya memiliki dua kemungkinan 1 atau 0, hitam atau
putih, tinggi atau pendek. Logika seperti ini dinilai tidak cocok dengan
kehidupan di lapangan yang memiliki logika yang sangat kompleks. Hal ini lah
yang menjadi dasar penemuan logika Fuzzy oleh ilmuan yang bernama Lutfi A.Zadeh pada tahun
1965.
Fuzzy
artinya kabur atau samar. Dalam logika fuzzy, sesuatu dapat diberi nilai antara 0 sampai 1. Aftniya kita
dapat memberi sesuatu tersebut dengan nilai 0.1, 0.3, 0.7 atau 0.02 dan
seterusnya.Logika seperti ini akan lebih mendekati logika kehidupan sebenarnya,
karena kita bisa membagi sesuatu dengan beberapa kemungkinan dan kita bebas
menentukan batasan kemungkinan tersebut.
Untuk
lebih jelasnya, langsung saja kita simak contoh penyelesaian suatu masalah
dengan menggunakan logika Fuzzy berikut :
Problem
:
Suatu
hari Budi pergi ke bengkel untuk mengganti kaca film untuk mobilnya. Dia akan
memberikan uang persen kepada karyawan bengkel yang memasang kaca film. Budi
ingin memberikan uang persen sebesar 2.5-20% dari total pembelian kaca film. Besarnya
uang persen akan dilihat dari tingkzt pelayanan dan kerapihan pemasangan kaca
film. Buatlah program menggunakan logika fuzzy untuk membantu budi memutuskan
besarnya uang persen yang akan diberika kepada karyawan bengkel, Jika setelah
pemasagan kaca Budi memberikan nilai untuk pelayanan 8 dan untuk kerapihan 6.
Penilaian mempunyai rentang 0-10.
Pelayanan = 8
Kerapihan
= 6
Bonus = 2,5-20%
Penilaian = 0-10
Rules
:
1.
Jika PELAYANAN Jelek
atau KERAPIHAN Buruk maka BONUS
Murah
2.
Jika PELAYANAN Sedang atau KERAPIHAN Baja maka
BONUS Standar
3.
Jika PELAYANAN Bagus atau KERAPIHAN Rapih
maka BONUS Mahal
Step
1.Buat
file FIS (Fuzzy Inference Systems) baru dengan menggunakan perintah
newfis.Misalkan kita memberi nama file nya
AIFuzzy.
a=newfis('AIFuzzy');
2. Definisikan
Inputan pertama PELAYANAN dengan perintah addvar.
a=addvar(a,'input','PELAYANAN',[0 10]);
Tambahkan fungsi keanggotaan
PELAYANAN (Jelek,Sedang,Bagus)
beserta parameter pembentuknya. Dalam program ini digunakan bentuk segitiga
maka wajib memiliki 3 input parameter.Fungsi untuk menambahkan fungsi
keanggotan digunakan perintah addmf().
a=addmf(a,'input',1,'Jelek','trimf',[-4 0 4]);
a=addmf(a,'input',1,'Sedang','trimf',[1 5 9]);
a=addmf(a,'input',1,'Bagus','trimf',[6 10 14]);
Untuk melihat bentuk dari inputan
PELAYANAN, dapat digunakan perintah plotmf()
plotmf(a,'input',1)
a=addvar(a,'input','Kerapihan',[0 10]);
Tambahkan fungsi keanggotaan
KERAPIHAN (Buruk,Baja,Rapih) beserta
parameter pembentuknya.
a=addmf(a,'input',2,'Buruk','trimf',[-3 0 3]);
a=addmf(a,'input',2,'B,aja','trimf',[2 5 8]);
a=addmf(a,'input',2,'Rapih','trimf', [7 10 13]);
Untuk melihat bentuk dari inputan KERAPIHAN, dapat digunakan perintah plotmf()
pada gambar kedua.
figure;
plotmf(a,'input',2)
4. Setelah definisi fungsi input PELAYANAN dan
KERAPIHAN selesai, selanjunya adalah mendufunisikan fungsi Output (BONUS). Caranya
sama dengan pendefinisian inputan.
a=addvar(a,'output','BONUS',[2.5 20]);
Tambahkan
fungsi keanggotaan BONUS (Murah,Standar,Mahal)
beserta parameter pembentuknya
a=addmf(a,'output',1,'Murah','trimf',[0 2.5 5]);
a=addmf(a,'output',1,'Standar','trimf',[5 10 15]);
a=addmf(a,'output',1,'Mahal','trimf',[15 20 25]);
Untuk melihat bentuk dari inputan
PELAYANAN, dapat digunakan perintah plotmf()
pada gambar kedua.
figure;
plotmf(a,'output',1)
15. Selanjutnya
adalah penyusunan aturan-aturan yang berlaku pada sistem.Jika dipermisalkan
kita memiliki sejumlah m input dan n output, maka matriks harus disusun dengan
jumlah kolom= m+n+2.Dalam kasusu ini kita memiliki 2 inputan (PELAYANAN dan
KERAPIHAN) maka m=2 dan satu output (BONUS) maka n=2, dengan demikian jumlah
kolom matriks =2+1+2=5.
Contoh :
aturan1
= [1 1 1 1 2];
1. Kolom pertama pertama mewakili indeks inputan
PELAYANAN (Jelek,Sedang,Bagus) diwakilkan dengan nilai indeks PELAYANAN (1 2 3). Sehingga pada kolom
pertama yang bernilai 1, mewakili indeks PELAYANAN Jelek.
2. Kolom
kedua mewakili indeks inputan KERAPIHAN (Buruk,Baja,Rapih) diwakilkan dengan
nilai indeks KERAPIHAN (1 2 3). Sehingga pada kolom kedua yang bernilai 1,
mewakili indeks KERAPIHAN Buruk.
3. Kolom
kedua mewakili indeks Output BONUS(Murah,Standar,Mahal)
diwakilkan dengan nilai indeks BONUS (1 2 3). Sehingga pada kolom kedua yang
bernilai 1, mewakili indeks BONUS Murah.
4. Kolom keempat merupakan indeks dari dari output,
nilai dari n+m+1 mewakili pembobotan kita.Nilai bobot ini memiliki range 0-1.
Tetapi umumnya dibiarkan menjadi 1.
5. Kolom kelima mewakili operator dalam logika
fuzzy, yaitu operator OR dan AND.Operator OR diwakili dengan angka 2 sementara
operator AND diwakili dengan angka 1.
%
Aturan1: Jika PELAYANAN Jelek ATAU MAKANAN Tengik, maka BONUS Murah
aturan1
= [1 1 1 1 2];
%
Aturan2: Jika PELAYANAN Sedang atau Kerapihan Biasa maka BONUS Standar
aturan2
= [2 2 2 1 2];
% Aturan3: Jika PELAYANAN Bagus
ATAU Rapih, maka BONUS Mahal
aturan3 = [3 3 3
1 2];
6. Selanjutnya adalah penggabungan semua aturan yang telah dibuat dan lakukan evaluasi:
listAturan =
[aturan1;aturan2;aturan3];
a = addrule(a,listAturan);
% Perlihatkan aturan,
apakah sudah sesuai?
showrule(a);
% Lakukan evaluasi untuk
PELAYANAN = 8 dan Kerapihan = 6
evalfis([8 6], a)
Berikut adalah program lengkapnya :
Promo www.Fanspoker.com :
ReplyDelete- Bonus Freechips 5.000 - 10.000 setiap hari (1 hari dibagikan 1 kali) hanya dengan minimal deposit 50.000 dan minimal deposit 100.000 ke atas
- Bonus Cashback 0.5% Setiap Senin
- Bonus Referal 20% Seumur Hidup
|| WA : +855964283802 || LINE : +855964283802 ||