Halaman


Senin, 24 Mei 2010

Tugas IV (program JST mengenali pola)

%---------------------------------------------------
% PROGRAM JARINGAN SYARAF TIRUAN kedua (Multi Layer)
% Pendeteksi pola persegi,segitiga, dan lingkaran

% Oleh : ai-toska06

% Anggota :

% Andi Prasetyo        ( 0615031004 )
% Ouriz Pucu           ( 0615031017 )
% Kiki Pratiwi         ( 0615031089 )
% Trivia Anggita       ( 0615031125 )
% Silvia Dewi Prama    ( 0615031115 )

%--------------------------------------------------

clc;
clear all;
close all hidden;

disp('-------------------------------');

disp('Program Pendeteksi Pola Segitiga, Persegi, dan Lingkaran');

disp('-------------------------------');


w11 = input('masukkan nilai w11 = ');
w12 = input('masukkan nilai w12 = ');
w21 = input('masukkan nilai w21 = ');
w22 = input('masukkan nilai w22 = ');
v1  = input('masukkan nilai v1 = ');
v2  = input('masukkan nilai v2 = ');
b1  = input('masukkan nilai Treshoold pertama = ');
b2  = input('masukkan nilai Treshoold kedua= ');
b   = input('masukkan nilai Treshoold ketiga= ');

x1=0;
x2=0;

n11=x1*w11+x2*w12-b1;

if n11 >= 0
      a11 = 1;
elseif n11 < 0
      a11 = 0;
end;

x1=0;
x2=1;
n12=x1*w11+x2*w12-b1;

if n12 >= 0
      a12 = 1;
elseif n12 < 0
      a12 = 0;
end;

x1=1;
x2=0;
n13=x1*w11+x2*w12-b1;

if n13 >= 0
      a13 = 1;
elseif n13 < 0
      a13 = 0;
end;

x1=1;
x2=1;
n14=x1*w11+x2*w12-b1;

if n14 >= 0
      a14 = 1;
elseif n14 < 0
      a14 = 0;
end;

%--------------a11-a12-a13-a14---------------


x1=0;
x2=0;
n21=x1*w21+x2*w22-b2;

if n21 >= 0
      a21 = 1;
elseif n21 < 0
      a21 = 0;
end;

x1=0;
x2=1;
n22=x1*w21+x2*w22-b2;

if n22 >= 0
      a22 = 1;
elseif n22 < 0
      a22 = 0;
end;

x1=1;
x2=0;
n23=x1*w21+x2*w22-b2;

if n23 >= 0
      a23 = 1;
elseif n23 < 0
      a23 = 0;
end;

x1=1;
x2=1;
n24=x1*w21+x2*w22-b2;

if n24 >= 0
      a24 = 1;
elseif n24 < 0
      a24 = 0;
end;


%-----------------a21-a22-a23-a24-------------------


disp('pilih salah satu:');
disp('1. OR ');
disp('2. AND ');
disp('3. NOR ');
disp('4. NAND ');
disp('5. XOR ');
disp('6. XNOR ');
disp('--------------------------');
pilih =input ('pilihan anda (1-6) nomor ->');

switch pilih
 
    case 1  

x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
    disp('Fn = 1');
    disp('error');

elseif y1 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=12;
x2=22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y2 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=13;
x2=23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y3 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=14;
x2=24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y4 < 0
    disp('Fn = 0');
    disp('error');
end;

    case 2
  
x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
    disp('Fn = 1');
    disp('error');

elseif y1 < 0
    disp('Fn = 0');
    disp('benar ');
end;
  
x1=a12;
x2=a22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('error');

elseif y2 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=a13;
x2=a23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('error');

elseif y3 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=a14;
x2=a24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y4 < 0
    disp('Fn = 0');
    disp('error');
end;


    case 3
  
x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y1 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a12;
x2=a22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('error');

elseif y2 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=a13;
x2=a23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('error');

elseif y3 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=a14;
x2=a24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('error');

elseif y4 < 0
    disp('Fn = 0');
    disp('benar ');
end;

    case 4

x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y1 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a12;
x2=a22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y2 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a13;
x2=a23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y3 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a14;
x2=a24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('error');

elseif y4 < 0
    disp('Fn = 0');
    disp('benar ');
end;

    case 5
  
x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
    disp('Fn = 1');
    disp('error');

elseif y1 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=a12;
x2=a22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y2 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a13;
x2=a23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y3 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=a14;
x2=a24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('error');

elseif y4 < 0
    disp('Fn = 0');
    disp('benar ');
end;

    case 6

x1=a11;
x2=a21;
y1=x1*v1+x2*v2-b;
disp(['iterasi 1, Nilai y1 = ' num2str(y1)]);

if y1 >= 0
   disp('Fn = 1');
   disp('benar ');

elseif y1 < 0
    disp('Fn = 0');
    disp('error');
end;

x1=12;
x2=22;
y2=x1*v1+x2*v2-b;
disp(['iterasi 2, Nilai y2 = ' num2str(y2)]);

if y2 >= 0
    disp('Fn = 1');
    disp('error');

elseif y2 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=13;
x2=23;
y3=x1*v1+x2*v2-b;
disp(['iterasi 3, Nilai y3 = ' num2str(y3)]);

if y3 >= 0
    disp('Fn = 1');
    disp('error');

elseif y3 < 0
    disp('Fn = 0');
    disp('benar ');
end;

x1=14;
x2=24;
y4=x1*v1+x2*v2-b;
disp(['iterasi 4, Nilai y4 = ' num2str(y4)]);

if y4 >= 0
    disp('Fn = 1');
    disp('benar ');

elseif y4 < 0
    disp('Fn = 0');
    disp('error');
end;

end;

Tugas III (program JST)


Flow Chart
Diagram Blok Tahapan Perencanaan

 Arsitektur Jaringan Syaraf Tiruan :

 



1.      Masukan dan target yang ingin dicapai (berikut keterangnya)
Prakiraan suhu udara memerlukan target berupa data actual suhu hujan sebagai data target. Dan prakiraan data curah hujan juga memerlukan data target curah hujan harian. Pola data target akan di pelajari oleh jaringan syaraf tiruan  dalam proses belajarnya.


Tabel 1. Variabel target yang digunakan untuk prakiraan suhu udara


Tabel 2. Variabel Input yang digunakan untuk prakiraan Suhu Udara



Tabel 3. Variabel target yang digunakan untuk prakiraan curah hujan



Tabel 4. Variabel input yang digunakan untuk prakiraan curah hujan




1.      Tahapan Pembelajaran
-         Untuk prakiraan suhu udara
             learning rate = 0,17
             bobot/weight (w, v)
            W11=  0,1                   V11= 0,4
            W12= 0,2                    V12 = 0,5
            W13 = 0,3                   V13 = 0,6
            W21 = 0,1                   V21 = 0,4
            W22 = 0,2                   V22 = 0,5
            W23 = 0,3                   V23 = 0,6
            W31 = 0,1
            W32 = 0,2
            W33 = 0,3
            Iterasi = 625
-         Untuk prakiraan curah hujan
learning rate = 0,17
bobot/weight (w, v)
W11=  0,1                   V11= 0,4
W12= 0,2                    V12 = 0,5
W13 = 0,3                   V13 = 0,6
W21 = 0,1                   V21 = 0,4
W22 = 0,2                   V22 = 0,5
W23 = 0,3                   V23 = 0,6
W31 = 0,1
W32 = 0,2
W33 = 0,3
Iterasi = 1000




2.      Program
% SIMULASI MULTILAYER PERCEPTRON

%=====INISIALISASI AWAL MULTILAYER PERCEPTRON=====
input = 3;  %/ Jumlah input layer
hidden = 3;  %/ Jumlah hidden layer
output = 2; %/ Jumlah output layer
lr = 0.5;  %/ Learning Rate
miu = 1;%/Nilai miu
t1 = 0,9;% Target 1 yang diharapkan
t2 = 0,5;% Target 2 yang diharapkan

% INPUT
x1=4;
x2=5;
x3=1;

% BOBOT INPUT KE HIDDEN
w11=0.1;
w12=0.2;
w13=0.3;
w21=0.1;
w22=0.2;
w23=0.3;
w31=0.1;
w32=0.2;
w33=0.3;

% BOBOT HIDDEN LAYER KE OUTPUT
v11=0.4;
v12=0.5;
v13=0.6;
v21=0.4;
v22=0.5;
v23=0.6;

% ITERASI --------
for iterasi= 1:2;

% =====FORWARD=====

% KELUARAN HIDDEN LAYER
h1 =(x1*w11)+(x2*w12)+(x3*w13);
h2 =(x1*w21)+(x2*w22)+(x3*w23);
h3 =(x1*w31)+(x2*w32)+(x3*w33);

H1 =(1/(1+exp(-miu*h1)));
H2 =(1/(1+exp(-miu*h2)));
H3 =(1/(1+exp(-miu*h3)));


% OUTPUT HIDDEN LAYER
y1 =(H1*v11)+(H2*v12)+(H3*v13)
y2 =(H1*v21)+(H2*v22)+(H3*v23)
Y1 =(1/(1+exp(-miu*y1)))
Y2 =(1/(1+exp(-miu*y2)))


% =====BACKPROPAGATION=====

% EROR
e1=t1-Y1;
e2=t2-Y2;

% UPDATE BOBOT OUTPUT KE HIDDEN DENGAN e1
dv11 = lr*e1*Y1*(1-Y1)*H1;
dv12 = lr*e1*Y1*(1-Y1)*H2;
dv13 = lr*e1*Y1*(1-Y1)*H3;

v11 = v11 + dv11;
v12 = v12 + dv12;
v13 = v13 + dv13;
       
% UPDATE BOBOT OUPUT KE HIDDEN DENGAN e2
dv21 = lr*e2*Y2*(1-Y2)*H1;
dv22 = lr*e2*Y2*(1-Y2)*H2;
dv23 = lr*e2*Y2*(1-Y2)*H3;

v21 = v21 + dv21;
v22 = v22 + dv22;
v23 = v23 + dv23;


% UPDATE BOBOT HIDDEN KE INPUT
dW11 = lr*((e1*Y1*(1-Y1)*v11) + (e2*Y2*(1-Y2)*v21))*H1*(1-H1)*x1
dW12 = lr*((e1*Y1*(1-Y1)*v11) + (e2*Y2*(1-Y2)*v21))*H2*(1-H2)*x2
dW13 = lr*((e1*Y1*(1-Y1)*v11) + (e2*Y2*(1-Y2)*v21))*H3*(1-H3)*x3
dW21 = lr*((e1*Y1*(1-Y1)*v12) + (e2*Y2*(1-Y2)*v22))*H1*(1-H1)*x1
dW22 = lr*((e1*Y1*(1-Y1)*v12) + (e2*Y2*(1-Y2)*v22))*H2*(1-H2)*x2
dW23 = lr*((e1*Y1*(1-Y1)*v12) + (e2*Y2*(1-Y2)*v22))*H3*(1-H3)*x3
dW31 = lr*((e1*Y1*(1-Y1)*v13) + (e2*Y2*(1-Y2)*v23))*H1*(1-H1)*x1
dW32 = lr*((e1*Y1*(1-Y1)*v13) + (e2*Y2*(1-Y2)*v23))*H2*(1-H2)*x2
dW33 = lr*((e1*Y1*(1-Y1)*v13) + (e2*Y2*(1-Y2)*v23))*H3*(1-H3)*x3
end;


3.      Hasil Program
t1 = 0
t2 = 0

y1 = 1.2683
y2 = 1.2683
Y1 = 0.7805
Y2 = 0.7805

dW11 =  -0.0240
dW12 = -0.0300
dW13 =  -0.0060
dW21 = -0.0310
dW22 = -0.0387
dW23 = -0.0077
dW31 = -0.0380
dW32 = -0.0475
dW33 = -0.0095

y1 =1.1249
y2 =1.1249
Y1 = 0.7549
Y2 = 0.7549

dW11 = -0.0208
dW12 =-0.0259
dW13 = -0.0052
dW21 = -0.0281
dW22 =  -0.0351
dW23 =  -0.0070
dW31 = -0.0353
dW32 = -0.0442
dW33 = -0.0088
>> 

4.      Kesimpulan

  • Pola data target akan di pelajari oleh jaringan syaraf tiruan  dalam proses belajarnya. 
  • Semakin kecil learning rate, semakin lama proses pembelajarannya.
  • Hal yang sama terjadi pada penambahan node yang berada pada hidden layer akan terjadi penambahan kempleksitas jaringan yang menyebabkan penambahan waktu pelatihan.  



Tugas VIII (Aplikasi Fuzzy Logic Control)

Makalah :Makalah

"Perancangan Logika Fuzzy Untuk Penilaian Mutu The Hitam Orthodox

­­­­

Pembahasan kelompok :

Aplikasi Logika Fuzzy yang digunakan metode Smallest of Maximum (SOM). Metode ini dipilih karena dapat memberikan hasil yang lebih baik dibandingkan dengan metode defuzzifikasi yang lain. Metode SOM memiliki karakteristik lebih ketat dalam memberikan nilai, sehingga nilai – nilainya cenderung lebih kecil dari pada metode yang lain. Metode SOM ini akan memberikan nilai yang besar apabila varibel – variabel inputnya memang layak untuk diberi nilai yang besar.

Kualitas teh merupakan sekumpulan sifat-sifat yang dikehendaki dari the diantaranya kenampakan fisik the kering (outer quality) dan kualitas dalam (inner quality).  Menurut ketentuan SNI-1902-2000 (Badan  Standarisasi Industri, 2000), syarat mutu dari teh hitam ditentukan berdasarkan karakteristik :
1.  Ukuran partikel
2.  Kenampakan (appearance) teh hitam, yang meliputi :
• Bentuk, ukuran serta beratnya
• Tip (jumlah, warna dan keadaan)
• Warna partikel
• Kebersihan
3.  Air seduhan (liquor), yang meliputi :
• Warna 
• Rasa
• Bau
4.  Kenampakan ampas seduhan teh (infusion), yang meliputi :
• Warna 
• Kerataan

Salah satu cara untuk menterjemahkan uji mutu inderawi dari tester teh ke dalam proses uji mutu mekanik adalah menggunakan pendekatan metode fuzzy. Alur sistem logika fuzzy dapat dilihat pada Gambar 1. Sistem logika fuzzy digolongkan menjadi empat modul, yaitu :
•  Fuzzifier
•  Defuzzifier
•  Inference Engine
•  Rule Base



 Gambar 1. Struktur Dari Sistem Logika Fuzzy

Data masukan (input) bagi model logika  fuzzy berasal dari hasil penginderaan manusia (tester) terhadap komoditas teh hitam orthodox. Tester yang digunakan untuk membentuk sistem logika  fuzzy ini berjumlah dua orang. Kedua tester memiliki pengalaman lebih dari 10 tahun dalam pengujian mutu teh hitam orthodox. Himpunan  fuzzy yang dibentuk dapat dilihat pada Tabel 1. dan alur input dan outputnya dapat dilihat pada Gambar 2. 

Tabel 1



Dimana himpunan [A,B,C,D,E] memiliki nilai definisi untuk kemudahan proses hitung pada aturan fuzzy atau proses fuzzifikasi sebagai berikut :
Kelas mutu A = 5; kelas mutu B = 4; kelas mutu C = 3; kelas mutu D = 2 dan kelas mutu E = 1.


Gambar 2. Variabel dari setiap criteria


Membuat Aturan Fuzzy (Rule Base)


  • Aturan kriteria appeareance :

Dengan penentuan Batas Atas (BA) dan Batas Bawah (BB) pada variabel mutu ini didasarkan pada penilaian mutu teh hitam orthodox.
Jumlah aturan appeareance, yaitu sebanyak 5 x 5 x 5 x 5 = 625 aturan. Contoh bentuk aturan, yaitu :
IF Warna 5 AND Kerataan 5 AND Kebersihan 5 AND Ukuran & Bentuk 5 THEN Mutu 5
IF Warna 5 AND Kerataan 5 AND Kebersihan 5 AND Ukuran & Bentuk 4 THEN Mutu 5
IF Warna 5 AND Kerataan 5 AND Kebersihan 5 AND Ukuran & Bentuk 3 THEN Mutu 5
IF Warna 5 AND Kerataan 5 AND Kebersihan 5 AND Ukuran & Bentuk 2 THEN Mutu 4



  • Aturan kriteria liquor :

Penentuan BA dan BB pada variabel mutu ini didasarkan pada penilaian mutu teh hitam orthodox.
Jumlah aturan liquor, yaitu sebanyak  5 x 5 x 5 = 125 aturan. Contoh bentuk aturan, yaitu :
IF Warna Air 5 AND Kekuatan 5 AND Aroma 5 THEN Mutu 5
IF Warna Air 5 AND Kekuatan 5 AND Aroma 4 THEN Mutu 5
IF Warna Air 5 AND Kekuatan 5 AND Aroma 3 THEN Mutu 4
IF Warna Air 5 AND Kekuatan 5 AND Aroma 2 THEN Mutu 4



  • Aturan kriteria infused:

Penentuan BA dan BB pada variabel mutu ini didasarkan pada penilaian mutu teh hitam orthodox.
Jumlah aturan infused, yaitu sebanyak 5 x 5 = 25 aturan. Contoh bentuk aturan, yaitu :
IF Warna 5 AND Kerataan 5 THEN Mutu 5
IF Warna 5 AND Kerataan 4 THEN Mutu 5
IF Warna 5 AND Kerataan 3 THEN Mutu 4

IF Warna 5 AND Kerataan 2 THEN Mutu 4



  • Aturan kriteria mutu akhir:

Penentuan BA dan BB pada variabel mutu ini didasarkan pada penilaian mutu teh hitam orthodox.
Jumlah aturan liquor, yaitu sebanyak  5 x 5 x 5 = 125 aturan. Contoh bentuk aturan, yaitu :
IF Warna Air 5 AND Kekuatan 5 AND Aroma 5 THEN Mutu 5
IF Warna Air 5 AND Kekuatan 5 AND Aroma 4 THEN Mutu 5
IF Warna Air 5 AND Kekuatan 5 AND Aroma 3 THEN Mutu 4
IF Warna Air 5 AND Kekuatan 5 AND Aroma 2 THEN Mutu 4


Kesimpulan :           

1.      Metode logika fuzzy SOM ini dapat lebih mengobjektifkan hasil penilaian mutu teh hitam orthodox dan mengkoreksi hasil penilaian mutu teh hitam orthodox yang dilakukan oleh para tester.
2.      Berdasarkan uji parametrik LSD dan non-parametrik Mann-Whitney, antara hasil penilaian tester dan hasil penilaian dengan menggunakan logika fuzzy tidak berbeda nyata hasilnya.



referensi dapat di download disini

Tugas VII (Merancang fuzzy logic control untuk aplikasi khusus)


  • Spesifikasi sistem yang akan dirancang
Berikut ini adalah salah satu contoh aplikasi fuzzy logic yang digunakan untuk pengaturan putaran kipas angin. Dimana kipas akan menyesuaikan putaran nya dengan suhu ruangan dan jumlah orang yang ada di dalam ruangan nya.
  • Masukan dan Keluaran
Input yang diberikan adalah suhu udara dan jumlah orang yang ada di dalam ruangan. Output nya adalah kecepatan putaran kipas angin.

 Gambar1. Tampilan Input dan output


  • Proses fuzzification
Pada proses fuzzification suatu besaran analog dimasukkan sebagai input (crisp input), lalu input tersebut dimasukkan pada batas scope / domain sehingga input tersebut dapat dinyatakan dengan label (dingin, panas, cepat, dll) dari membership function. Pada program ini input yang diberikan adalah suhu udara dengan label dingin, sedang dan panas , serta jumlah orang dengan label sedikit, sedang dan banyak. 

  • Membership Function
Membership Function pada program ini adalah ;

Input    - Suhu udara dengan label : Dingin , Hangat dan Panas dengan range 20-80
-Jumlah orang dengan label : Sedikit, Sedang, dan Banyak dengan range 5-20
Output  - Putaran kipas dengan label : Lambat, Sedang, dan Cepat dengan Range 20-50


Gambar 2. Membership function suhu udara
Gambar 3. Membership Function untuk jumlah orang



  • Rule base
Berikut adalah rule base yang digunakan pada program ini
Gambar 4. Rule base




  • Defuzzification
Suatu nilai fuzzy output yang berasal dari rule evaluation diambil kemudian dimasukkan ke dalam suatu membership function output. Besar nilai fuzzy output dinyatakan sebagai degree of membership function output. Nilai-nilai tersebut dimasukkan ke dalam suatu rumus yang dinamakan COG (Center Of Gravity) untuk mendapatkan hasil akhir yang disebut crisp output. Crisp output adalah suatu nilai analog yang akan  kita butuhkan untuk mengolah data pada sistem yang telah dirancang. Sehingga didapatkan hasil sebagai berikut : 


Gambar 5. Output yang dihasilkan
Gambar 6. Sistem Keseluruhan fuzzy logic
Kesimpulan 
1.      Fuzzy logic dapat digunakan untuk pengendalian dengan ketelitian yang tinggi.
2.      Pada Gambar 6 terlihat bahwa output dipengaruhi oleh kedua inputnya, yaitu suhu udara dan jumlah orang. Dengan catatan Input 1 (Suhu udara) adalah sumbu X, Input 2 (Jumlah orang) adalah sumbu Y, dan output (Kecepatan putaran kipas) adalah Sumbu Z.