Tugas AI Iwan

15
TUGAS MATA KULIAH KECERDASAN BUATAN NEURON HEBB Disusun Oleh : Nama : Kurniawan Setiadi NIM : 10111465 Kelas : AI – 12

description

tugas kecerdasan buatan

Transcript of Tugas AI Iwan

Page 1: Tugas AI Iwan

TUGAS MATA KULIAH KECERDASAN BUATAN

NEURON HEBB

Disusun Oleh :

Nama : Kurniawan Setiadi

NIM : 10111465

Kelas : AI – 12

UNIVERSITAS KOMPUTER INDONESIA

2014

Page 2: Tugas AI Iwan

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");

Page 3: Tugas AI Iwan

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++) {

Page 4: Tugas AI Iwan

//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

Page 5: Tugas AI Iwan

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

Page 6: Tugas AI Iwan

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

Page 7: Tugas AI Iwan

//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(); }

}}

Page 8: Tugas AI Iwan

Screenshoot Program

Gerbang Logika AND Input Biner Output Biner

Input Biner Output Bipolar

Page 9: Tugas AI Iwan

Input Bipolar Output Bipolar

Gerbang Logika OR

Input Biner Output Biner

Page 10: Tugas AI Iwan

Input Biner Output Bipolar

Input Bipolar Output Bipolar

Page 11: Tugas AI Iwan

Gerbang Logika NOR Input Biner Output Bipolar

Input Biner Output Bipolar

Page 12: Tugas AI Iwan

Input Bipolar Output Bipolar

Gerbang Logika NAND

Input Biner Output Biner

Page 13: Tugas AI Iwan

Input Biner Output Bipolar

Input Bipolar Output Bipolar