Tugas AI Iwan

Post on 15-Dec-2015

237 views 1 download

description

tugas kecerdasan buatan

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