Anda di halaman 1dari 13

TUGAS MATA KULIAH KECERDASAN BUATAN

NEURON HEBB

Disusun Oleh :
Nama

: Kurniawan Setiadi
NIM
Kelas

: 10111465
: AI 12

UNIVERSITAS KOMPUTER INDONESIA


2014
Source Code

using
using
using
using
using
using
using
using

System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
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]
baris[1]
baris[2]
baris[3]

=
=
=
=

p1[i];
p2[i];
satu[i];
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]
br_pelatihan[1]
br_pelatihan[2]
br_pelatihan[3]
br_pelatihan[4]
br_pelatihan[5]
br_pelatihan[6]
br_pelatihan[7]
br_pelatihan[8]
br_pelatihan[9]

=
=
=
=
=
=
=
=
=
=

p1[i];
p2[i];
satu[i];
t[i];
delta_w1[i];
delta_w2[i];
delta_bias[i];
w1[i];
w2[i];
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

Anda mungkin juga menyukai