Tugas AI Iwan
-
Upload
teguh-subekti -
Category
Documents
-
view
237 -
download
1
description
Transcript of Tugas AI Iwan
TUGAS MATA KULIAH KECERDASAN BUATAN
NEURON HEBB
Disusun Oleh :
Nama : Kurniawan Setiadi
NIM : 10111465
Kelas : AI – 12
UNIVERSITAS KOMPUTER INDONESIA
2014
Source Codeusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;
namespace NeuronHebb{ public partial class Form1 : Form { //inisialisasi int[] p1 = new int[10]; int[] fn = new int[10]; int[] n = new int[10]; int[] p2 = new int[10]; int[] satu = new int[10]; int[] t = new int[10]; int[] delta_w1 = new int[10]; int[] delta_w2 = new int[10]; int[] delta_bias = new int[10]; int[] w1 = new int[10]; int[] w2 = new int[10]; int[] b = new int[10]; int i; int nilai_w1, nilai_w2, nilai_b; //end inisialisasi
public Form1() { InitializeComponent(); }
public void Neouron_hebb() { //Header Tabel Masukan target DataTable tabel = new DataTable(); //buat kolomnya tabel.Columns.Add("P1"); tabel.Columns.Add("P2"); tabel.Columns.Add("1"); tabel.Columns.Add("Target"); //End Tabel
//Header Tabel Machine Learning DataTable tb_pelatihan = new DataTable(); //buat kolomnya tb_pelatihan.Columns.Add("P1"); tb_pelatihan.Columns.Add("P2"); tb_pelatihan.Columns.Add("1"); tb_pelatihan.Columns.Add("Target");
tb_pelatihan.Columns.Add("Delta W1"); tb_pelatihan.Columns.Add("Delta W2"); tb_pelatihan.Columns.Add("Delta B"); tb_pelatihan.Columns.Add(" W1"); tb_pelatihan.Columns.Add(" W2"); tb_pelatihan.Columns.Add(" B"); //End Tabel
// End Inisialisasi tabel Machine Learning
//Header Tabel Hasil Akhir DataTable tb_hasil_akhir = new DataTable(); //buat kolomnya tb_hasil_akhir.Columns.Add("P1"); tb_hasil_akhir.Columns.Add("P2"); tb_hasil_akhir.Columns.Add("n = p1 w1 +p2 w2+ b "); tb_hasil_akhir.Columns.Add("a = f(n)");
//End Tabel
// End Inisialisasi tabel Hasil akhir
//inisialisai p1 p1[1] = int.Parse(p1_1.Text); p1[2] = int.Parse(p1_2.Text); ; p1[3] = int.Parse(p1_3.Text); p1[4] = int.Parse(p1_4.Text); //end inisialisasi p1
//inisialisai p2 p2[1] = int.Parse(p2_1.Text); p2[2] = int.Parse(p2_2.Text); p2[3] = int.Parse(p2_3.Text); p2[4] = int.Parse(p2_4.Text); //end inisialisasi p2
//inisialisasi 1 satu[1] = 1; satu[2] = 1; satu[3] = 1; satu[4] = 1; //end inisialisasi 1
//inisialisasi target t[1] = int.Parse(t_1.Text); t[2] = int.Parse(t_2.Text); t[3] = int.Parse(t_3.Text); t[4] = int.Parse(t_4.Text); //end inisialisasi target
//for untuk menampilkan nilai masukan
for (i = 1; i <= 4; i++) {
//Menampilkan Tabel Masukan target
DataRow baris; baris = tabel.NewRow(); tabel.Rows.Add(baris);
baris[0] = p1[i]; baris[1] = p2[i]; baris[2] = satu[i]; baris[3] = t[i];
//--lanjutkan pengisian baris -- //memasukkan tabel kedalam datasgrid this.dgv_awal.DataSource = tabel; //mengatur judul header dan alternate back color this.dgv_awal.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgv_awal.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; //mengatur lebar dan perataan text masing2 kolom this.dgv_awal.Columns[0].Width = 100; this.dgv_awal.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; this.dgv_awal.Columns[1].Width = 100; this.dgv_awal.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgv_awal.Columns[2].Width = 150; this.dgv_awal.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
//Menampilkan Tabel Masukan target
}
//for untuk proses machile learning dan menampilkanya for (i = 1; i <= 4; i++) { //inisialisasi Tabel Masukan target
// 1. inisialisasi Bobot dan Bias w1[0] = 0; w2[0] = 0; b[0] = 0;
//End Inisialisasi Bobot dan Bias
//2. Set Masukan Pi = si(1,2,3,4 . R) delta_w1[i] = p1[i] * t[i]; delta_w2[i] = p2[i] * t[i]; delta_bias[i] = t[i];
//End 2
//3. Bobot Baru
w1[i] = w1[i - 1] + delta_w1[i]; w2[i] = w2[i - 1] + delta_w2[i]; b[i] = b[i - 1] + delta_bias[i];
//End 3
//Menampilkan Ke Dalam Tabel Machine Learning DataRow br_pelatihan; br_pelatihan = tb_pelatihan.NewRow(); tb_pelatihan.Rows.Add(br_pelatihan);
br_pelatihan[0] = p1[i]; br_pelatihan[1] = p2[i]; br_pelatihan[2] = satu[i]; br_pelatihan[3] = t[i]; br_pelatihan[4] = delta_w1[i]; br_pelatihan[5] = delta_w2[i]; br_pelatihan[6] = delta_bias[i]; br_pelatihan[7] = w1[i]; br_pelatihan[8] = w2[i]; br_pelatihan[9] = b[i];
//--lanjutkan pengisian baris -- //memasukkan tabel kedalam datasgrid this.dgv_pelatihan.DataSource = tb_pelatihan; //mengatur judul header dan alternate back color this.dgv_pelatihan.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgv_pelatihan.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; //mengatur lebar dan perataan text masing2 kolom }
//4.Nilai w1 , w2 dan b
nilai_w1 = w1[4]; nilai_w2 = w2[4]; nilai_b = b[4];
nilai_w_1.Text = Convert.ToString(nilai_w1); nilai_w_2.Text = Convert.ToString(nilai_w2); nilai_bias.Text = Convert.ToString(nilai_b); int temp_w1 = int.Parse(nilai_w_1.Text);
//End 4
for (i = 1; i <= 4; i++) { //5. Hitung Nilai n = p1 w1 +p2 w2+ b n[i] = (p1[i] * nilai_w1) + (p2[i] * nilai_w2) + (nilai_b); fn[i] = 0;
if ((int.Parse(p1_1.Text) < 0) || (int.Parse(p1_2.Text) < 0) || (int.Parse(p1_3.Text) < 0) || (int.Parse(p1_4.Text) < 0) || (int.Parse(p2_1.Text) < 0) || (int.Parse(p2_2.Text) < 0) || (int.Parse(p2_3.Text) < 0) || (int.Parse(p2_4.Text) < 0) || (int.Parse(t_1.Text) < 0) || (int.Parse(t_2.Text) < 0) || (int.Parse(t_3.Text) < 0) || (int.Parse(t_4.Text) < 0)) { if (n[i] >= 0) { fn[i] = 1; } else if (n[i] < 0) { fn[i] = -1; }
} else { //6. Menentukan Nilai a=f(n) if (n[i] >= 0) { fn[i] = 1; } else if (n[i] < 0) { fn[i] = 0; } } //end 6
// 7.Menyocokan a=f(n) dengan target if ((t[1] == fn[1]) && (t[2] == fn[2]) && (t[3] == fn[3]) && (t[4] == fn[4])) { lbl_kesimpulan.Text = " Keluaran = target Jaringan Hebb ‘mengerti’ pola yang dimaksud"; }
else { lbl_kesimpulan.Text = "Keluaran Tidak Sama Dengan target Jaringan Hebb tidak dapat ‘mengerti’ pola yang dimaksud "; }
//end 7
//Menampilkan Tabel Masukan target
DataRow br_hasil_akhir; br_hasil_akhir = tb_hasil_akhir.NewRow(); tb_hasil_akhir.Rows.Add(br_hasil_akhir);
br_hasil_akhir[0] = p1[i]; br_hasil_akhir[1] = p2[i]; br_hasil_akhir[2] = n[i]; br_hasil_akhir[3] = fn[i]; //--lanjutkan pengisian baris -- //memasukkan tabel kedalam datasgrid this.dgv_hasil_akhir.DataSource = tb_hasil_akhir; //mengatur judul header dan alternate back color this.dgv_hasil_akhir.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgv_hasil_akhir.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGray; //mengatur lebar dan perataan text masing2 kolom this.dgv_hasil_akhir.Columns[0].Width = 100; this.dgv_hasil_akhir.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight; this.dgv_hasil_akhir.Columns[1].Width = 100; this.dgv_hasil_akhir.Columns[1].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter; this.dgv_hasil_akhir.Columns[2].Width = 150; this.dgv_hasil_akhir.Columns[2].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleLeft;
//Menampilkan Tabel Masukan target
}
}
private void btn_generate_Click(object sender, EventArgs e) { Neouron_hebb(); }
}}
Screenshoot Program
Gerbang Logika AND Input Biner Output Biner
Input Biner Output Bipolar
Input Bipolar Output Bipolar
Gerbang Logika OR
Input Biner Output Biner
Input Biner Output Bipolar
Input Bipolar Output Bipolar
Gerbang Logika NOR Input Biner Output Bipolar
Input Biner Output Bipolar
Input Bipolar Output Bipolar
Gerbang Logika NAND
Input Biner Output Biner
Input Biner Output Bipolar
Input Bipolar Output Bipolar