LAPORAN
UNTUK MEMENUHI TUGAS MATAKULIAH
Artificial Intellegent
yang dibina oleh Dr. Eng. Anik Nur Handayani, S.T., M.T.
oleh:
Dyah Ayu Fladya Rizky 160551801139
Rahmat Irsyada 160551801216
Keyword--
BAB I
PENDAHULUAN
A. Latar Belakang
Perkembangan teknologi telah menyentuh berbagai bidang, salah
satunya adalah bidang pendidikan. Pada proses penentuan kelas sekarang ini,
banyak sekolah yang sudah menggunakan sistem online. Penggunaan sistem
online ini dapat menggunakan logika fuzzy. Logika Fuzzy adalah suatu cara
yang tepat untuk memetakan suatu ruang input ke dalam ruang output. 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 matematika. Sistem fuzzy pertama kali diperkenalkan oleh Prof. L. A.
Zadeh dari Barkelay pada tahun 1965.
Dalam fuzzy logic ada beberapa metode untuk merepresentasikan hasil
logika fuzzy yaitu metode Tsukamoto, Sugeno dan Mamdani. Ketiga metode
tersebut digunakan pada permasalahan yang berbeda. Pada metode Tsukamoto,
setiap konsekuen direpresentasikan dengan himpunan fuzzy dengan fungsi
keanggotaan monoton. Output hasil inferensi masing-masing aturan adalah z,
berupa himpunan biasa (crisp) yang ditetapkan berdasarkan predikatnya. Hasil
akhir diperoleh dengan menggunakan rata-rata terbobotnya. Metode sugeno
mampu mengelompokkan data berdasarkan input yang telah dipilih dan
menerapkan aturan yang telah ditetapkan sehingga bisa menghasilkan output
pengelompokan data seperti yang diharapkan.
Sedangkan metode Mamdani adalah satu jenis inferensi fuzzy dimana
himpunan fuzzy yang merupakan konsekuensi dari setiap aturan di
kombinasikan dari setiap aturan fuzzy kemudian didefuzzifikasikan untuk
menghasilkan keluaran tertentu dari suatu sistem. Kelebihan dari metode
inferensi Mamdani ini, antara lain intuitif, dapat diterima lebih luas, dan cocok
untuk masukan berasal dari manusia. Karena kelebihan itulah program
penentuan kelas ini menggunakan metode Mamdani.
LB Tsukamoto
Perkembangan teknologi telah menyentuh berbagai bidang, salah
satunya adalah bidang pendidikan. Pada proses penentuan kelas sekarang ini,
banyak sekolah yang sudah menggunakan sistem online. Penggunaan sistem
online ini dapat menggunakan logika fuzzy. Logika Fuzzy adalah suatu cara
yang tepat untuk memetakan suatu ruang input ke dalam ruang output. 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 matematika. Sistem fuzzy pertama kali diperkenalkan oleh Prof. L. A.
Zadeh dari Barkelay pada tahun 1965.
Dalam fuzzy logic ada beberapa metode untuk merepresentasikan hasil
logika fuzzy yaitu metode Tsukamoto, Sugeno dan Mamdani. Ketiga metode
tersebut digunakan pada permasalahan yang berbeda. Metode sugeno mampu
mengelompokkan data berdasarkan input yang telah dipilih dan menerapkan
aturan yang telah ditetapkan sehingga bisa menghasilkan output pengelompokan
data seperti yang diharapkan. Sedangkan metode Mamdani adalah satu jenis
inferensi fuzzy dimana himpunan fuzzy yang merupakan konsekuensi dari setiap
aturan di kombinasikan dari setiap aturan fuzzy kemudian didefuzzifikasikan
untuk menghasilkan keluaran tertentu dari suatu sistem.
Pada metode Tsukamoto, setiap konsekuen direpresentasikan dengan
himpunan fuzzy dengan fungsi keanggotaan monoton. Output hasil inferensi
masing-masing aturan adalah z, berupa himpunan biasa (crisp) yang ditetapkan
berdasarkan predikatnya. Hasil akhir diperoleh dengan menggunakan rata-rata
terbobotnya. Fuzzy Tsukamoto adalah metode yang memiliki toleransi pada data
dan sangat fleksibel. Kelebihan dari metode Tsukamoto yaitu bersifat intuitif dan
dapat memberikan tanggapan berdasarkan informasi yang bersifat kualitatif,
tidak akurat, dan ambigu. Karena kelebihan itulah program penentuan kelas ini
menggunakan metode Tsukamoto.
B. Rumusan Masalah
Rumusan masalah dari penulisan laporan ini adalah:
1. Apa yang dimaksud dengan logika fuzzy Mamdani ?
2. Bagaimana aplikasi metode fuzzy Mamdani pada program penentuan kelas?
3. Bagaimana algoritma program penentuan kelas menggunakan fuzzy
Mamdani?
4. Bagaimana perbandingan perhitungan manual, perhitungan menggunakan
software Matlab dan perhitungan dengan program penentuan kelas
menggunakan fuzzy Mamdani?
Membership Function
Input Umur
Input Baca
Input Tes
Output (kelas)
Inference Engine
Rule 1-12 → Umur dengan Baca
Umur
Kurang Cukup Lebih
Baca
R [1] R [5] R [9]
Sangat Lancar
Reguler Reguler Reguler
R [2] R [6] R [10]
Lancar
Reguler Reguler Reguler
R [3] R [7] R [11]
Kurang Lancar
Khusus Khusus Reguler
R [4] R [8] R [12]
Tidak Bisa
Khusus Khusus Khusus
Rule
R[1] IF umur is kurang AND baca is sangat lancar THEN kelas reguler
R[2] IF umur is kurang AND baca is lancar THEN kelas reguler
R[3] IF umur is kurang AND baca is kurang lancar THEN kelas khusus
R[4] IF umur is kurang AND baca is tidak bisa THEN kelas khusus
R[5] IF umur is cukup AND baca is sangat lancar THEN kelas reguler
R[6] IF umur is cukup AND baca is lancar THEN kelas reguler
R[7] IF umur is cukup AND baca is kurang lancar THEN kelas khusus
R[8] IF umur is cukup AND baca is tidak bisa THEN kelas khusus
R[9] IF umur is lebih AND baca is sangat lancar THEN kelas reguler
R[10] IF umur is lebih AND baca is lancar THEN kelas reguler
R[11] IF umur is lebih AND baca is kurang lancar THEN kelas reguler
R[12] IF umur is lebih AND baca is tidak bisa THEN kelas khusus
R[13] IF umur is kurang AND nilai is sangat bagus THEN kelas reguler
R[14] IF umur is kurang AND nilai is bagus THEN kelas reguler
R[15] IF umur is kurang AND nilai is cukup THEN kelas reguler
R[16] IF umur is kurang AND nilai is kurang THEN kelas khusus
R[17] IF umur is cukup AND nilai is sangat bagus THEN kelas reguler
R[18] IF umur is cukup AND nilai is bagus THEN kelas reguler
R[19] IF umur is cukup AND nilai is cukup THEN kelas reguler
R[20] IF umur is cukup AND nilai is kurang THEN kelas khusus
R[21] IF umur is lebih AND nilai is sangat bagus THEN kelas reguler
R[22] IF umur is lebih AND nilai is bagus THEN kelas reguler
R[23] IF umur is lebih AND nilai is cukup THEN kelas reguler
R[24] IF umur is lebih AND nilai is kurang THEN kelas khusus
R[25] IF nilai is sangat bagus AND baca is sangat lancar THEN kelas reguler
R[26] IF nilai is sangat bagus AND baca is lancar THEN kelas reguler
R[27] IF nilai is sangat bagus AND baca is kurang lancar THEN kelas khusus
R[28] IF nilai is sangat bagus AND baca is tidak bisa THEN kelas khusus
R[29] IF nilai is bagus AND baca is sangat lancar THEN kelas reguler
R[30] IF nilai is bagus AND baca is lancar THEN kelas reguler
R[31] IF nilai is bagus AND baca is kurang lancar THEN kelas khusus
R[32] IF nilai is bagus AND baca is tidak bisa THEN kelas khusus
R[33] IF nilai is cukup AND baca is sangat lancar THEN kelas reguler
R[34] IF nilai is cukup AND baca is lancar THEN kelas reguler
R[35] IF nilai is cukup AND baca is kurang lancar THEN kelas khusus
R[36] IF nilai is cukup AND baca is tidak bisa THEN kelas khusus
R[37] IF nilai is kurang AND baca is sangat lancar THEN kelas reguler
R[38] IF nilai is kurang AND baca is lancar THEN kelas khusus
R[39] IF nilai is kurang AND baca is kurang lancar THEN kelas khusus
R[40] IF nilai is kurang AND baca is tidak bisa THEN kelas khusus
2. Algoritma
a. Mulai
b. Memasukkan input
Umur
Baca
Tes
c. Fuzzyfication variabel denga menghitung µ dari tiap variabel
µ umur kurang
µ umur cukup
µ umur lebih
µ baca tidak bisa
µ baca kurang lancar
µ lancar
µ sangat lancar
µ tes kurang
µ tes cukup
µ tes bagus
µ tes sangat bagus
d. Menghitung nilai alfa predikat setiap rule yang ada (40 rule) dengan
menggunakan rumus:
Fungsi linier turun → umur kurang, baca tidak bisa, tes kurang
Fungsi segitiga → umur cukup, baca kurang lancar, baca lancar, tes
cukup, dan tes bagus
Fungsi linier naik → umur lebih, baca sangat lancar, tes sangat bagus
e. Menghitung nilai z untuk semua rule (40 rule) menggunakan rumus:
Fungsi linier turun → kelas khusus
Fungsi linier naik → kelas regular
Mamdani
Komposisi aturan dengan menghitung nilai max dari:
Alfa predikat kelas khusus
Alfa predikat kelas reguler
f. Defuzzyfikasi dengan menghitung nilai z total dengan rumus COA
g. Selesai
import javax.swing.JOptionPane;
/**
*
* @author * @author dyah ayu fladya rizky, rahmat irsyada
*/
public class KKJFrame extends javax.swing.JFrame {
/**
* Creates new form KKJFrame
*/
public KKJFrame() {
initComponents();
}
/**
* This method is called from within the constructor to
initialize the form.
* WARNING: Do NOT modify this code. The content of this
method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated
Code">//GEN-BEGIN:initComponents
private void initComponents() {
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_C
LOSE);
setBackground(new java.awt.Color(204, 204, 255));
setCursor(new
java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
fieldUmur.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
fieldUmurActionPerformed(evt);
}
});
fieldBaca.addActionListener(new
java.awt.event.ActionListener() {
public void
actionPerformed(java.awt.event.ActionEvent evt) {
fieldBacaActionPerformed(evt);
}
});
areahasil.setColumns(20);
areahasil.setForeground(new java.awt.Color(0, 0,
102));
areahasil.setRows(5);
jScrollPane1.setViewportView(areahasil);
jLabel4.setFont(new java.awt.Font("Stencil Std", 0,
12)); // NOI18N
jLabel4.setText("PENERAPAN METODE FUZZY TSUKAMOTO
DALAM PENENTUAN KELAS");
jLabel8.setHorizontalAlignment(javax.swing.SwingConstants.CENT
ER);
jLabel8.setText("STUDI KASUS DI SD");
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(37, 37, 37)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jScrollPane1)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel2)
.addComponent(jLabel1))
.addGap(39, 39, 39)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(0, 0, Short.MAX_VALUE)
.addComponent(jButton1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(reset))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(fieldBaca,
javax.swing.GroupLayout.PREFERRED_SIZE, 250,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel6))
.addGroup(layout.createSequentialGroup()
.addComponent(fieldNilai,
javax.swing.GroupLayout.PREFERRED_SIZE, 250,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel7))
.addGroup(layout.createSequentialGroup()
.addComponent(fieldUmur,
javax.swing.GroupLayout.PREFERRED_SIZE, 250,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addComponent(jLabel5)))
.addGap(0, 0,
Short.MAX_VALUE)))))
.addGap(33, 33, 33))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE)
.addComponent(jLabel4)
.addGap(42, 42, 42))
.addGroup(layout.createSequentialGroup()
.addGap(203, 203, 203)
.addComponent(jLabel8,
javax.swing.GroupLayout.PREFERRED_SIZE, 103,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE,
Short.MAX_VALUE))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.L
EADING)
.addGroup(layout.createSequentialGroup()
.addGap(16, 16, 16)
.addComponent(jLabel4,
javax.swing.GroupLayout.PREFERRED_SIZE, 13,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RE
LATED)
.addComponent(jLabel8)
.addGap(27, 27, 27)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(fieldUmur,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel1)
.addComponent(jLabel5))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel2)
.addComponent(fieldBaca,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jLabel3)
.addComponent(fieldNilai,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel7))
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.A
lignment.BASELINE)
.addComponent(jButton1)
.addComponent(reset))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UN
RELATED)
.addComponent(jScrollPane1,
javax.swing.GroupLayout.PREFERRED_SIZE, 190,
javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(23, Short.MAX_VALUE))
);
pack();
}// </editor-fold>//GEN-END:initComponents
private void
fieldUmurActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_fieldUmurActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_fieldUmurActionPerformed
private void
fieldBacaActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_fieldBacaActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_fieldBacaActionPerformed
private void
jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{//GEN-FIRST:event_jButton1ActionPerformed
// TODO add your handling code here:
try{
String umur = fieldUmur.getText();
String baca = fieldBaca.getText();
String nilai = fieldNilai.getText();
//menampilkan hasil - z total
double hasil;
Kkttsukamoto hf = new Kkttsukamoto();
hasil =
hf.hitunghasil(Double.parseDouble(fieldUmur.getText()),
Double.parseDouble(fieldBaca.getText()),
Double.parseDouble(fieldNilai.getText()));
if (hasil<=50){
String pesan = "Siswa ini Masuk Kelas
(Khusus)\nNilai = "+hasil;
areahasil.setText(pesan);
} else if (hasil>=50){
String pesan = "Siswa ini Masuk Kelas
(Reguler)\nNilai = "+hasil;
areahasil.setText(pesan);
}
}
catch(Exception e){
JOptionPane.showMessageDialog(null, "Isi Kolom
Yang Kosong");
}
}//GEN-LAST:event_jButton1ActionPerformed
private void
resetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_resetActionPerformed
// TODO add your handling code here:
fieldUmur.setText(null);
fieldBaca.setText(null);
fieldNilai.setText(null);
}//GEN-LAST:event_resetActionPerformed
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look
and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not
available, stay with the default look and feel.
* For details see
http://download.oracle.com/javase/tutorial/uiswing/lookandfeel
/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info :
javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(KKJFrame.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(KKJFrame.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(KKJFrame.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException
ex) {
java.util.logging.Logger.getLogger(KKJFrame.class.getName()).l
og(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
import java.util.Scanner;
/**
*
* @author dyah ayu fladya rizky, rahmat irsyada
*/
public class Kkttsukamoto {
/**
* @param args the command line arguments
*/
//varibel input
int umur,baca,nilai;
myuUmurKurang = umurKurang(umur);
myuUmurCukup = umurCukup(umur);
myuUmurLebih = umurLebih(umur);
myuBacaTidakBisa = bacaTidakBisa(baca);
myuBacaKurangLancar = bacaKurangLancar(baca);
myuBacaLancar = bacaLancar(baca);
myuBacaSangatLancar = bacaSangatLancar(baca);
myuNilaiKurang = nilaiKurang(nilai);
myuNilaiCukup = nilaiCukup(nilai);
myuNilaiBagus = nilaiBagus(nilai);
myuNilaiSangatBagus = nilaiSangatBagus(nilai);
//DEFUZZYFIKASI
//rumus perhitungan z total -> menggunakan rumus COA
double zTot =
((apred1*z1)+(apred2*z2)+(apred3*z3)+(apred4*z4)
+(apred5*z5)+(apred6*z6)+(apred7*z7)+(apred8*z8)+(apred9*z9)
+(apred10*z10)+(apred11*z11)+(apred12*z12)+(apred13*z13)+(apre
d14*z14)
+(apred15*z15)+(apred16*z16)+(apred17*z17)+(apred18*z18)+(apre
d19*z19)
+(apred20*z20)+(apred21*z21)+(apred22*z22)+(apred23*z23)+(apre
d24*z24)
+(apred25*z25)+(apred26*z26)+(apred27*z27)+(apred28*z28)+(apre
d29*z29)
+(apred30*z30)+(apred31*z31)+(apred32*z32)+(apred33*z33)+(apre
d34*z34)+(apred35*z35)
+(apred36*z36)+(apred37*z37)+(apred38*z38)+(apred39*z39)+(apre
d40*z40))
/(apred1+apred2+apred3+apred4+apred5+apred6+apred7+apred8+apre
d9+apred10
+apred11+apred12+apred13+apred14+apred15+apred16+apred17+apred
18+apred19+apred20
+apred21+apred22+apred23+apred24+apred25+apred26+apred27+apred
28+apred29+apred30
+apred31+apred32+apred33+apred34+apred35+apred36+apred37+apred
38+apred39+apred40);
System.out.println("Z Total = "+zTot);
return zTot;
}
}
BAB IV
HASIL
A. Perbandingan Hasil
Mamdani Tsukamoto Mamdani Tsukamoto Mamdani Tsukamoto Mamdani Tsukamoto Mamdani Tsukamoto Mamdani Tsukamoto
1 58.3 60 60 60 60 97% 97% 2.8% 2.8% 100% 100% 0% 0%
2 52.1 55.4 55.2 55.29 54.98 94% 95% 5.8% 5.2% 100% 100% 0% 0%
3 41.8 56 56.4 56 56.42 75% 74% 25.4% 25.9% 100% 100% 0% 0%
4 50 20 20 20 20 40% 40% 60.0% 60.0% 100% 100% 0% 0%
5 67 50 50 50 50 75% 75% 25.4% 25.4% 100% 100% 0% 0%
6 50 50 51.3 50 51.3 100% 97% 0.0% 2.5% 100% 100% 0% 0%
7 44.9 54.2 54.2 54.9 54.1 82% 83% 18.2% 17.0% 99% 100% 1% 1%
8 51.3 46.6 45.9 46.6 45.9 91% 89% 9.2% 10.5% 100% 100% 0% 0%
9 70.9 77.1 77.9 77 78 92% 91% 7.9% 9.1% 100% 100% 0% 0%
10 42.5 36.1 37.3 36 37.3 85% 88% 15.3% 12.2% 100% 100% 0% 0%
Debug
mu1 = 0.0 apred 14 = 0.0 apred 38 = 0.0 Z21 = 20.0
mu2 = 1.0 apred 15 = 0.0 apred 39 = 0.0 Z22 = 20.0
mu3 = 0.0 apred 16 = 0.0 apred 40 = 0.0 Z23 = 20.0
mb1 = 0.0 apred 17 = 0.0 Z24 = 80.0
mb2 = 0.5 apred 18 = 1.0 Z1 = 20.0 Z25 = 20.0
mb3 = 0.5 apred 19 = 0.0 Z2 = 20.0 Z26 = 20.0
mb4 = 0.0 apred 20 = 0.0 Z3 = 80.0 Z27 = 20.0
mt1 = 0.0 apred 21 = 0.0 Z4 = 80.0 Z28 = 80.0
mt2 = 0.0 apred 22 = 0.0 Z5 = 20.0 Z29 = 20.0
mt3 = 1.0 apred 23 = 0.0 Z6 = 50.0 Z30 = 50.0
mt4 = 0.0 apred 24 = 0.0 Z7 = 50.0 Z31 = 50.0
apred 1 = 0.0 apred 25 = 0.0 Z8 = 80.0 Z32 = 80.0
apred 2 = 0.0 apred 26 = 0.0 Z9 = 20.0 Z33 = 20.0
apred 3 = 0.0 apred 27 = 0.0 Z10 = 20.0 Z34 = 20.0
apred 4 = 0.0 apred 28 = 0.0 Z11 = 20.0 Z35 = 80.0
apred 5 = 0.0 apred 29 = 0.0 Z12 = 80.0 Z36 = 80.0
apred 6 = 0.5 apred 30 = 0.5 Z13 = 20.0 Z37 = 20.0
apred 7 = 0.5 apred 31 = 0.5 Z14 = 20.0 Z38 = 80.0
apred 8 = 0.0 apred 32 = 0.0 Z15 = 20.0 Z39 = 80.0
apred 9 = 0.0 apred 33 = 0.0 Z16 = 80.0 Z40 = 80.0
apred 10 = 0.0 apred 34 = 0.0 Z17 = 20.0
apred 11 = 0.0 apred 35 = 0.0 Z18 = 80.0
apred 12 = 0.0 apred 36 = 0.0 Z19 = 20.0 Z Total = 60.0
apred 13 = 0.0 apred 37 = 0.0 Z20 = 80.0
Mamdani
Debug
apred 1 = 0.0 apred 16 = 0.0 apred 31 = 0.5
apred 2 = 0.0 apred 17 = 0.0 apred 32 = 0.0
apred 3 = 0.0 apred 18 = 1.0 apred 33 = 0.0
apred 4 = 0.0 apred 19 = 0.0 apred 34 = 0.0
apred 5 = 0.0 apred 20 = 0.0 apred 35 = 0.0
apred 6 = 0.5 apred 21 = 0.0 apred 36 = 0.0
apred 7 = 0.5 apred 22 = 0.0 apred 37 = 0.0
apred 8 = 0.0 apred 23 = 0.0 apred 38 = 0.0
apred 9 = 0.0 apred 24 = 0.0 apred 39 = 0.0
apred 10 = 0.0 apred 25 = 0.0 apred 40 = 0.0
apred 11 = 0.0 apred 26 = 0.0
apred 12 = 0.0 apred 27 = 0.0 max khusus = 0.5
apred 13 = 0.0 apred 28 = 0.0 max reguler = 1.0
apred 14 = 0.0 apred 29 = 0.0
apred 15 = 0.0 apred 30 = 0.5 Z Total = 60.0
C. Perhitungan Manual
D. Matlab
1. Input
Gambar diatas merupakan varibel input yang pertama yaitu umur. Variabel
ini terdiri dari 3 kriteria yaitu kurang, cukup, lebih
Gambar diatas merupakan varibel input yang kedua yaitu baca. Variabel ini
terdiri dari 4 kriteria yaitu tidak bisa, kurang lancar, lancar, sangat lancar.
Gambar diatas merupakan varibel input yang ketiga yaitu tes. Variabel ini
terdiri dari 4 kriteria yaitu kurang, cukup, bagus, sangat bagus.
2. Output
BAB IV
KESIMPULAN
1.
REFERENSI