Diberdayakan oleh Blogger.

Tampilkan postingan dengan label PRAK KECERDASAN BUATAN. Tampilkan semua postingan

LAPORAN PRAK AI MODUL2

LAPORAN PRAKTIKUM
Praktikum Kecerdasan Buatan(AI)

MODUL2

NAMA           : DEDE ISKANDAR

NIM               : 3411121140
KELAS          : SIE [B]



INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JENDERAL ACHMAD YANI
2014
BAB I
HASIL PRAKTIKUM
Langkah Kerja:
1.      Tambahkan code di bawah ini pada kelas “SinglePerceptron”.
private doublelrn;
private doublethr;
private interr,acOutput,tarOutput;
private double[] w;
private inti,j,k,it;
private booleanOK;
2.      Tambahkan dua method dibawah ini pada kelas “SinglePerceptron”.
public booleaninputCheck() {
if(lrn > 1) {
solution.append("Koefisien harus di bawah 1 \n");
OK = false;
     }
if(thr <= 0) {
solution.append("Bobot harus positif \n");
OK = false;
}
return OK;
}





3.      Tambahkan kode berikut ini pada saat user memilih item pada JComboBox.
funcName = (String)cb.getSelectedItem();
4.      Tambahkan kode berikut ini pada saat user menekan tombol “START”.
startButton = new JButton("Link Start !");
    startButton.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent e){
          // pertemuan 2 tambahan
          try{
               w = new double[3];
               w[0] = 0.1;
               w[1] = 0.2;
               w[2] = 0.3;
               lrn = Double.parseDouble(learning.getText());
               thr = Double.parseDouble(threshold.getText());
               OK = true;
               solution.setText("");
              if(inputCheck()) {
              while(OK) {
                 it = 1;
                 solution.append("Iterasi" + "\t" + "x1" + "\t"+ "x2" +
                 "\t"+ "output" + "\t"+ "target" + "\t"+ "error" + "\t" + "w1" + "\t"+
                 "w2" + "\t" + "w3 \n");
                 solution.append(" \n");
              for(i=0;i<2;i++) {
                   for(j=0;j<2;j++) {
                   err = 1;
                   if(funcName == "AND") {
                    if(i==0 && j==0) {tarOutput = 0;}
                    if(i==0 && j==1) {tarOutput = 0;}
                    if(i==1 && j==0) {tarOutput = 0;}
                    if(i==1 && j==1) {tarOutput = 1;}
                   }
                   if(funcName == "OR") {
                    if(i==0 && j==0) {tarOutput = 0;}
                    if(i==0 && j==1) {tarOutput = 1;}
                    if(i==1 && j==0) {tarOutput = 1;}
                    if(i==1 && j==1) {tarOutput = 1;}
                   }
                   while(err != 0) {
                    if(i*w[0] + j*w[1] + w[2] >= thr){
                         acOutput = 1;
                    }
                    else{
                         acOutput = 0;
                    }
                    err = Math.abs(tarOutput -
                    acOutput);
                       if(err > 0) {
                         for(k=0;k<3;k++) {
                             if(tarOutput==0 && acOutput==1){
                                  w[k] = w[k] - lrn*err;
                             }
                             if(tarOutput==1 && acOutput == 0){
                                  w[k] = w[k] + lrn*err;
                             }
                         }
                       }
                    solution.append(it + "\t" + i +
                    "\t" + j + "\t" + acOutput + "\t" + tarOutput + "\t" + err + "\t" +
                    fmt.format(w[0]) + "\t" + fmt.format(w[1]) + "\t" +fmt.format(w[2]) +
                    "\n");                       
                    it++;
                   }
                  }
                 }
                 OK = false;
                }
               }
              }
              catch(NumberFormatException numberformatexception) {
               solution.append("Error");
              }
          // JOptionPane.showMessageDialog(null,"Sedang Pelatihan..\n Menggunakan Operator " +funcList.getSelectedItem());
    }
    });

Hasil Program
            Menggunakan Fungsi AND.
Menggunakan Fungsi OR

Tugas:
  1. Perhitungan kesalahan yang digunakan
for(i=0;i<2;i++) {
                   for(j=0;j<2;j++) {
                   err = 1;
                   if(funcName == "AND") {
                    if(i==0 && j==0) {tarOutput = 0;}
                    if(i==0 && j==1) {tarOutput = 0;}
                    if(i==1 && j==0) {tarOutput = 0;}
                    if(i==1 && j==1) {tarOutput = 1;}
                   }
                   if(funcName == "OR") {
                    if(i==0 && j==0) {tarOutput = 0;}
                    if(i==0 && j==1) {tarOutput = 1;}
                    if(i==1 && j==0) {tarOutput = 1;}
                    if(i==1 && j==1) {tarOutput = 1;}
                   }
                   while(err != 0) {
                    if(i*w[0] + j*w[1] + w[2] >= thr){
                         acOutput = 1;
                    }
                    else{
                         acOutput = 0;
                    }
                    err = Math.abs(tarOutput -
                    acOutput);
                       if(err > 0) {
                         for(k=0;k<3;k++) {
                             if(tarOutput==0 && acOutput==1){
                                  w[k] = w[k] - lrn*err;
                             }
                             if(tarOutput==1 && acOutput == 0){
                                  w[k] = w[k] + lrn*err;
                             }
                         }
                       }
                    solution.append(it + "\t" + i +
                    "\t" + j + "\t" + acOutput + "\t" + tarOutput + "\t" + err + "\t" +
                    fmt.format(w[0]) + "\t" + fmt.format(w[1]) + "\t" +fmt.format(w[2]) +
                    "\n");
                    
                    it++;
                   }
                  }
                 }
  1. Fungsi NumberFormatException
            Berfungsi sebagai indikasi bahwa aplikasi telah berusaha untuk mengkonversi String ke salah satu jenis numerik, tetapi bahwa string tidak memiliki format yang sesuai.
BAB II
KESIMPULAN
Kecerdasan Buatan adalah salah satu cabang Ilmu pengetahuan berhubungan dengan pemanfaatan mesin untuk memecahkan persoalan yang rumit dengan cara yang lebih manusiawi. Hal Ini biasanya dilakukan dengan mengikuti/mencontoh karakteristik dan analogi berpikir dari kecerdasan/Inteligensia manusia, dan menerapkannya sebagai algoritma yang dikenal oleh komputer. Dengan suatu pendekatan yang kurang lebih fleksibel dan efisien dapat diambil tergantung dari keperluan, yang mempengaruhi bagaimana wujud dari perilaku kecerdasan buatan. AI biasanya dihubungkan dengan Ilmu Komputer, akan tetapi juga terkait erat dengan bidang lain seperti Matematika, Psikologi, Pengamatan, Biologi, Filosofi, dan yang lainnya. Kemampuan untuk mengkombinasikan pengetahuan dari semua  bidang ini pada akhirnya akan bermanfaat bagi kemajuan dalam upaya menciptakan suatu kecerdasan buatan.
            NumberFormatException Berfungsi sebagai indikasi bahwa aplikasi telah berusaha untuk mengkonversi String ke salah satu jenis numerik, tetapi bahwa string tidak memiliki format yang sesuai.




PRAK AI MODUL1



LAPORAN PRAKTIKUM
Praktikum Kecerdasan Buatan(AI)
MODUL 1





NAMA           : DEDE ISKANDAR
NIM               : 3411121140
KELAS          : SIE [B]



INFORMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS JENDERAL ACHMAD YANI
2014


BAB I
ANALISA DAN HASIL PRAKTIKUM
1.      Buat sebuah kelas bernama “SinglePerceptron1”, kemudian ketikkaN program berikut ini.
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.text.NumberFormat;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
@SuppressWarnings("serial")
public class SinglePerceptron1 extends JFrame {
private JButton startButton;
private JTextField learning;
private JTextField threshold;
private JTextArea solution;
private JComboBox<?> funcList;
private String funcName;
private NumberFormat fmt;

public SinglePerceptron1() {
setVisualComponent();
}
public void setVisualComponent() {
// seting frame
setTitle("Single Perceptron");
setExtendedState(MAXIMIZED_BOTH);
setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent arg0) {
int pilihan = JOptionPane.showConfirmDialog(null,"Anda yakin?", "Konfirmasi", JOptionPane.YES_NO_OPTION);
if (pilihan == JOptionPane.YES_OPTION)
System.exit(0);
}
});

startButton = new JButton("Start");

startButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
JOptionPane.showMessageDialog(null, "Sedang Latihan \n Dengan Function "+funcList.getSelectedItem());
}});
learning = new JTextField(6);
threshold = new JTextField(6);
    solution = new JTextArea(17, 35);
    String[] func = {"AND","OR"};
    funcName = "AND";
    funcList = new JComboBox<Object>(func);
    funcList.setSelectedIndex(0);
    JScrollPane jscrollpane = new JScrollPane(solution);
    JPanel jpanel = new JPanel(new GridLayout(3, 1));
    jpanel.add(new JLabel("           ", 4));
    jpanel.add(new JLabel("Single Perceptron Learning: input vector {(0,0),(1,0),(0,1),(1,1)}", 2));
    jpanel.add(new JLabel("           ", 4));
    JPanel jpanel1 = new JPanel(new GridLayout(2, 4));
    jpanel1.add(new JLabel("Learning coefficient: ", 4));
    jpanel1.add(learning);
    jpanel1.add(new JLabel("Logical function: ", 4));
    jpanel1.add(funcList);
    jpanel1.add(new JLabel("Threshold: ", 4));
    jpanel1.add(threshold);
    jpanel1.add(new JLabel("           ", 4));
    jpanel1.add(new JLabel("           ", 4));
    JPanel jpanel2 = new JPanel(new GridLayout(1, 6));
    jpanel2.add(startButton);
    jpanel2.add(new JLabel("           ", 4));
    jpanel2.add(new JLabel("           ", 4));
    jpanel2.add(new JLabel("           ", 4));
    jpanel2.add(new JLabel("           ", 4));
    jpanel2.add(new JLabel("           ", 4));
    JPanel jpanel3 = new JPanel(new BorderLayout());
    jpanel3.add(jpanel, "North");
    jpanel3.add(jpanel1, "South");
    JPanel jpanel4 = new JPanel(new BorderLayout());
    jpanel4.add(jpanel3, "North");
    jpanel4.add(jscrollpane, "Center");
    jpanel4.add(jpanel2, "South");
    getContentPane().add(jpanel4);
    fmt = NumberFormat.getNumberInstance();
    fmt.setMaximumFractionDigits(8);
    fmt.setMinimumFractionDigits(8);
    // seting frame
    setMinimumSize(getPreferredSize());
    setVisible(true);}
public static void main(String[] args) {
    new SinglePerceptron();}}

======================>INTERFACE PROGAM<==========================
Analisa :
Program di atas merupakan class SinglePerceptron anak dari class JFrame sehingga semua sifat dan atribut yang ada di class JFrame dapat di akses di class SinglePerceptron. Selain JFrame program diatas mengimport Seperti JButton, JComboBox, JLabe, JOptionPane, JPanel, JScrollPane, JTextArea, JTextField. Tampilan dari program di atas dibuat secara GUI sehingga di butuhkan library untuk membuat tampilan GUI seperti yang telah disebutkan di atas.
BAB 11
TUGAS

1.      Tambahkan event yang menangkap aksi dari user  terhadap tombol “START” dengan menampilkan pesan “Sedang pelatihan” pada JTextArea dalam komponen JFrame!
List Code
Tambahkan List Code di bawah ini setelah “startButton = new JButton("Start");”
startButton = new JButton("Start");
startButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
            JOptionPane.showMessageDialog(null, "Sedang Latihan ");
            }});

Analisa
Untuk menampilkan Pesan atau Message Box ‘’Sedang Pelatihan’’ menggunakan JOptionPane, sehingga program di atas harus mengimport class JOptionPane yang ada di Class Object. Dan untuk menampilkan pesan dalam JOptionPane tinggal Tambahkan JOptionPane.showMessageDialog untuk memanggil method showMessageDioalog.
1.      Tambahkan sebuah event yang menangkap aksi dari user pada saat memilih JcomboBox dengan menampilkan nama dari item yang dipilih!
List Code
Tambahkan List Code di bawah ini di baris JOptionPane.ShowMessageDialog
JOptionPane.showMessageDialog(null, "Sedang Latihan \n Dengan Function "+funcList.getSelectedItem());
public void setVisualComponent() {
    // seting frame
    setTitle("Single Perceptron");
    setExtendedState(MAXIMIZED_BOTH);
    setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent arg0) {
        int pilihan = JOptionPane.showConfirmDialog(null,"Anda Yakin?", "Konfirmasi", JOptionPane.YES_NO_OPTION);
        if (pilihan == JOptionPane.YES_OPTION)
            System.exit(0);
            }
}); 
    

Analisa
Untk menambahkan sebuah event yang menangkap aksi dari user pada saat memilih JcomboBox dengan menampilkan nama dari item yang dipilih yaitu dengan menggunakan method accessor getSelectedItem.





- Copyright © datakuliah - Skyblue - Powered by Blogger - Designed by Johanes Djogan -