SISTEM CERDAS
FUZZY
S1 TEKNIK ELEKTRO
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS NEGERI MALANG
2019
PRAKTIKUM SISTEM CERDAS – FUZZY
A. Tujuan
Mahasiswa diharapkan mampu mendesain fuzzifikasi, Inference Rule, dan Defuzzifikasi
dari Kontrol Motor.
Mahasiswa diharapkan mampu menerapkan sistem fuzzy pada mikrokontroler
berdasarkan sistem fuzzy yang dibuat.
B. Alat & Bahan
Komputer/Laptop yang terinstall software MATLAB, Arduino atau CV-AVR
C. Dasar Teori
a. Fuzzy System
Sistem Fuzzy adalah suatu sistem yang menggunakan himpunan fuzzy untuk
memetakan suatu inputan menjadi ouput tertentu. Misalnya, jika anda mengetahui
seberapa layanan pada restaurant tersebut, anda dapat menentukan berapa jumlah tip
yang layak diberikan kepada pelayan.
Secara umum dalam sistem logika fuzzy terdapat empat buah elemen dasar, yaitu
Basis kaidah (rule base), yang berisi aturan-aturan secara linguistik yang bersumber dari
para pakar. Suatu mekanisme pengambilan keputusan (inference engine), yang
memperagakan bagaimana para pakar mengambil suatu keputusan dengan menerapkan
pengetahuan (knowledge). Proses fuzzifikasi (fuzzification), yang mengubah besaran
tegas (crisp) ke besaran fuzzy. Proses defuzzifikasi (defuzzification), yang mengubah
besaran fuzzy hasil dari inference engine, menjadi besaran tegas (crisp).
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 dirancang 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.
…………..
………iki pisan gambar” e
Gambar 4. Inference Rule
Tabel 1. Inference Rule
c) Defuzzyfikasi
Pilih metode yang akan digunakan dalam defuzzifikasi, misalnya centroid
Masukkan nilai dari setiap linguistik kedalam rumus.
d) Penerapan pada Mikrokontroler
Fuzzyfikasi Suhu
void FuzzySuhu() {
// untuk suhu dingin
if (sensorSuhu <= 22.5){
suhu [0] = 1;}
else if (sensorSuhu > 22.5 && sensorSuhu <= 25){
suhu [0] = (25 - sensorSuhu) / (25 - 22.5);}
else{
suhu [0] = 0;}
Inference Rule
void RuleEva () {
int i, j;
for ( i = 0; i <= 2; i = i + 1){
for ( j = 0; j <= 2; j = j + 1){
temp = min(suhu[i], jarak[j]);
rule [i][j] = temp;}}
rule00 = rule [0][0]; // (dingin,dekat = Lambat)
rule01 = rule [0][1]; // (dingin,sedang = Lambat)
rule02 = rule [0][2]; // (dingin,jauh = Lambat)
rule10 = rule [1][0]; // (hangat,dekat = lambat)
rule11 = rule [1][1]; // (hangat,sedang = Sedang)
rule12 = rule [1][2]; // (hangat,jauh = Cepat)
rule20 = rule [2][0]; // (panas,dekat = Cepat)
rule21 = rule [2][1]; // (panas,sedang = Cepat)
rule22 = rule [2][2]; // (panas,jauh= Cepat)
}
Defuzzyfikasi
void Defuzzy () {
// metode sugeno (weighted average)
float lambat = 100;
float sedang = 200;
float cepat = 250;
RuleEva();
pwm = (rule00 * lambat) + (rule01 * lambat) + (rule02 * lambat) +
(rule10 * lambat) + (rule11 * sedang) + (rule12 * cepat) + (rule20 *
cepat) + (rule21 * cepat) + (rule22 * cepat);
defuz = 0;
int i, j;
for ( i = 0; i <= 2; i = i + 1){
for ( j = 0; j <= 2; j = j + 1){
defuz = defuz + rule [i][j];}}
pwm = pwm / defuz;
}
//Sensor Suhu
float sensorSuhu;
float temp;
//Rule Base
float suhu [3];
float jarak [3];
float rule [3][3];
float rule00, rule01, rule02;
float rule10, rule11, rule12;
float rule20, rule21, rule22;
void setup(){
Serial.begin(9600);}
void loop(){
if (Serial.available()){
sensorSuhu = Serial.parseInt();
sensorUS = Serial.parseInt();
Serial.parseInt();
FuzzySuhu();
FuzzyJarak();
RuleEva ();
Defuzzy ();
Serial.print("INPUT - SUHU: ");Serial.print(sensorSuhu);
Serial.print(" | JARAK: ");Serial.println(sensorUS);
Serial.print("Suhu: ");Serial.println(sensorSuhu);
Serial.print("Ultrasonic: ");Serial.println(sensorUS);
Serial.print("PWM: ");Serial.println(pwm);}
}
E. Hasil Percobaan
Bagian hasil e mboh …
F. Analisa Percobaan
…………………………………………………………………………………………………
…………………………………………………………………………………………………
G. Kesimpulan
…………………………………………………………………………………………………
…………………………………………………………………………………………………