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:
- 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++;
}
}
}
- 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.
Tag :
PRAK KECERDASAN BUATAN,
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.
Tag :
PRAK KECERDASAN BUATAN,







