Program Visual Basic 2012 Jaringan Syaraf Tiruan ( JST )
1. Tampilan Layout JST
2. Program VB 2012
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
double x1, x2, a, b, c, d ;
double z1, z2, t, w=1, w1=2, w2=-1,
Output01 , b_or=1, b_and=2 ;
public double E = 0.2;
//Deklarasi HEbb
public double nett, y;
public double[] bias = new double[5] { 0, 0, 0, 0, 0 };
public double[] wsatu = new double[5] {
0, 0, 0, 0, 0 };
public double[] wdua = new double[5] { 0, 0, 0, 0, 0 };
public double[] target = new
double[4];
public double[] sigW1 = new double [5];
public double[] sigW2 = new double [5];
public double[] sigb = new double [5];
double pilihan,logika, A1, B1, C1, D1,
A11, B11, C11, D11;
public int i=0, keluar =
0,hitung=0;
//Delta roll da perseptron
double xx, qq, aa, xx1, xx2, yy, ww1,
ww2, bb, tt;
double[] xx11 = { -1, 1, -1, 1 };
double[] xx22 = { -1, -1, 1, 1 };
double[] bias11 = { 1, 1, 1, 1 };
double[] te = { 0, 0, 0, 0 };
double[] fe = { 0, 0, 0, 0 };
double[] del = { 0, 0, 0, 0 };
double[] dw1 = { 0, 0, 0, 0 };
double[] dw2 = { 0, 0, 0, 0 };
double[] dbias = { 0, 0, 0, 0 };
double[] zz1 = { 0, 0, 0, 0 };
double[] zz2 = { 0, 0, 0, 0 };
public Form1()
{
InitializeComponent();
}
private void
radioButton1_CheckedChanged(object sender, EventArgs e)
{
if (radioButton5.Checked ==
true||radioButton10.Checked==true) { x1 = -1; }
else x1 = 0;
if (xx == 1) { xx1 = -1; } else xx1
= 0;
}
private void
radioButton2_CheckedChanged(object sender, EventArgs e)
{
x1 = 1;
xx1 = 1;
}
private void
radioButton4_CheckedChanged_1(object sender, EventArgs e)
{
if (radioButton5.Checked ==
true||radioButton10.Checked == true) { x2 = -1; }
else x2 = 0;
if (xx2 == 1) { xx2 = -1;
} else xx2 = 0;
}
private void
radioButton3_CheckedChanged_1(object sender, EventArgs e)
{
x2 = 1;
xx2 = 1;
}
private void OR_CheckedChanged(object
sender, EventArgs e)
{
logika = 1;
target[0] = 1;
target[1] = 1;
target[2] = 1;
target[3] = -1;
if (xx == 1) { te = new double[] {
-1, 1, 1, 1 }; }
else { te = new double[] { 0, 1, 1,
1 }; }
}
private void AND_CheckedChanged(object
sender, EventArgs e)
{
logika = 2;
target[0] = 1;
target[1] = -1;
target[2] = -1;
target[3] = -1;
if (xx == 1)
{
te = new double[] { -1, -1, -1,
1 };
}
else
{
te = new double[] { 0, 0, 0, 1
};
}
}
private void XOR_CheckedChanged(object
sender, EventArgs e)
{
//####################################### awal XOR
logika = 3;
target[0] = -1;
target[1] = 1;
target[2] = 1;
target[3] = -1;
if (xx == 1)
{
te = new double[] { -1, 1, -1,
-1 };
for (int d = 0; d < 1000;
d++)
{
for (int i = 0; i < 4;
i++)
{
dw1[i] = aa / 10 *
xx11[i] * te[i];
dw2[i] = aa / 10 *
xx11[i] * te[i];
dbias[i] = aa / 10 *
bias[i] * te[i];
if (fe[i] == te[i])
{
dw1[i] =
dw2[i] = dbias[i] = 0;
}
else
{
ww1 = dw1[i] + ww1;
ww2 = dw2[i] + ww2;
bb = dbias[i] + bb;
}
del[i] = ww1 * xx11[i]
+ ww2 * xx22[i] + bb;
if (del[i] > tt)
{
fe[i] = 1;
}
else if (del[i] <
-tt)
{
fe[i] = -1;
}
else fe[i] = del[i];
zz1[i] = fe[i];
}
}
te = new double[] { -1, -1, 1,
-1 };
for (int d = 0; d < 1000;
d++)
{
for (int i = 0; i < 4;
i++)
{
dw1[i] = aa / 10 *
xx11[i] * te[i];
dw2[i] = aa / 10 *
xx22[i] *te[i];
dbias[i] = aa / 10 *
bias11[i] * te[i];
if (fe[i] == te[i])
{
dw1[i] = dw2[i] =
dbias[i] = 0;
}
else
{
ww1 = dw1[i] + ww1;
ww2 = dw2[i] + ww2;
bb = dbias[i] + bb;
}
del[i] = ww1 * xx11[i]
+ ww2 * xx22[i] + bb;
if (del[i] > tt)
{
fe[i] = 1;
}
else if (del[i] <
-tt)
{
fe[i] = -1;
}
else fe[i] = del[i];
zz2[i] = fe[i];
}
}
}
else
{
te = new double[] { 0, 1, 0, 0
};
for (int d = 0; d < 1000;
d++)
{
for (int i = 0; i < 4;
i++)
{
del[i] = te[i] - fe[i];
dw1[i] = aa / 10 *
del[i] * xx11[i];
dw2[i] = aa / 10 *
del[i] * xx22[i];
ww1 = ww1 + dw1[i];
ww2 = ww2 + dw2[i];
dbias[i] = xx11[i] * ww1
+ xx22[i] * ww2;
if (dbias[i] < tt)
{
fe[i] = 0;
}
else fe[i] = 1;
zz1[i] = fe[i];
}
}
te = new double[] { 0, 0, 1, 0
};
for (int d = 0; d < 1000;
d++)
{
for (int i = 0; i < 4;
i++)
{
del[i] = te[i] - fe[i];
dw1[i] = aa /
10 * del[i] * xx11[i];
dw2[i] = aa / 10 *
del[i] * xx22[i];
ww1 = ww1 + dw1[i];
ww2 = ww2 + dw2[i];
dbias[i] = xx11[i] *
ww1 + xx22[i] * ww2;
if (dbias[i] < tt)
{
fe[i] = 0;
}
else fe[i] = 1;
zz2[i] = fe[i];
}
} }
//#######################################Akhir XOR
}
private void button1_Click(object
sender, EventArgs e)
{
keluar = 0;
if (radioButton6.Checked == true)
//McCulloch
{
if (logika == 1) //OR
{
a = (x1 * w) + (x2 * w);
if (a >= b_or) b = 1;
else b = 0;
textBox1.Text = Convert.ToString(a);
textBox2.Text =
Convert.ToString(b);
}
if (logika == 2) //AND
{
a = (x1 * w) + (x2 * w);
if (a >= b_and) b = 1;
else b = 0;
textBox1.Text =
Convert.ToString(a);
textBox2.Text =
Convert.ToString(b);
}
if (logika == 3) //xor
{
z1 = (x1 * w1) + (x2 * w2);
if (z1 >= b_and) c = 1; else c = 0;
z2 = (x1 * (-1)) + (x2 *
2);
if (z2 >= b_and) d = 1;
else d = 0;
a = (c * 1) + (d * 1);
if (a >= b_or) b = 1;
else b = 0;
textBox1.Text = Convert.ToString(a);
textBox2.Text =
Convert.ToString(b);
}
}
if (radioButton5.Checked==true) //
HEBB
{
if (logika == 1)
{
sigW1 [i] = x1 * target[i];
sigW2 [i] = x2 * target[i];
sigb [i] =
target[i];
wsatu [i + 1] = wsatu[i] + sigW1[i];
wdua [i +
1] = wdua[i] + sigW2[i];
bias [i +
1] = sigb[i] + bias [i];
i++;
textBox4.Text =
Convert.ToString(wsatu[i]);
textBox3.Text =
Convert.ToString(wdua[i]);
if (i > 4) { i = 0;
}
nett = x1 * wsatu[i] +
x2 * wdua[i] + bias[i];
//textBox15.Text =
Convert.ToString(nett);
if (nett >= 0) y =
1; else y = -1;
textBox10.Text =
Convert.ToString(y);
}
if (logika == 2)
{
sigW1 [i] = x1 *
target[i];
sigW2 [i] = x2 *
target[i];
sigb
[i] = target[i];
wsatu [i + 1] =
wsatu[i]+sigW1[i];
wdua [i + 1] = wdua[i] + sigW2[i];
bias [i + 1] = sigb[i] + bias[i];
i++;
textBox4.Text = Convert.ToString (wsatu[i]);
textBox3.Text =
Convert.ToString (wdua [i]);
if (i > 4) { i = 0;
}
nett = x1 * wsatu[i] +
x2 * wdua[i] + bias[i];
if (nett >= 0) y = 1; else y = -1;
textBox10.Text=Convert.ToString(y);
}
if (logika == 3)
{
sigW1 [i] = x1 *
target[i];
sigW2 [i] = x2 *
target[i];
sigb [i] = target[i];
wsatu [i + 1] = wsatu
[i] + sigW1[i];
wdua [i + 1] = wdua [i] + sigW2[i];
bias [i + 1] = sigb [i] + bias [i];
i++;
textBox4.Text =
Convert.ToString(wsatu[i]);
textBox3.Text =
Convert.ToString(wdua[i]);
if (i > 4) { i = 0;
}
nett = x1 * wsatu[i] + x2 * wdua[i] +
bias[i];
if (nett >= 0) y =
1; else y = -1;
textBox10.Text =
Convert.ToString(y);
}
}
if (radioButton7.Checked ==
true)
{
keluar = 0;
A1 =
Convert.ToDouble(textBox6.Text);
B1 =
Convert.ToDouble(textBox5.Text);
C1 =
Convert.ToDouble(textBox7.Text);
D1 =
Convert.ToDouble(textBox8.Text);
while (keluar == 0)
{
if (A1 > 0)
{
A11 = A1 - E * (B1 + C1
+ D1);
}
else
{
A11 = 0;
}
if (B1 > 0)
{
B11 = B1 - E * (A1 + C1
+ D1);
}
else
{
B11 = 0;
}
if (C1 > 0)
{
C11 = C1 - E * (A1 + B1
+ D1);
}
else
{
C11 = 0;
}
if (D1 > 0)
{
D11 = D1 - E * (A1 + B1
+ C1);
}
else
{
D11 = 0;
}
A1 = A11;
B1 = B11;
C1 = C11;
D1 = D11;
Output01 = A1 + B1 + C1 +
D1;
if ( Output01 == A1)
{
textBox9.Text =
textBox6.Text;
keluar = 1;
}
if (Output01 == B1)
{
textBox9.Text =
textBox5.Text;
keluar = 1;
}
if (Output01 == C1)
{
textBox9.Text =
textBox7.Text;
keluar = 1;
}
if (Output01 == D1)
{
textBox9.Text =
textBox8.Text;
keluar = 1;
}
}
}
if (xx == 1)
{
if (XOR.Checked == true)
{
te = new double[] { -1, 1,
1, -1 };
for (int i = 0; i < 4;
i++)
{
xx11[i] = zz1[i];
xx22[i] = zz2[i];
}
}
else
{
xx11 = new double[] { -1,
1, -1, 1 };
xx22 = new double[] { -1,
-1, 1, 1 };
}
qq++;
for (int i = 0; i < 4; i++)
{
dw1[i] = aa/10 * xx11[i] *
te[i];
dw2[i] = aa/10 * xx22[i] *
te[i];
dbias[i] = aa/10 *
bias11[i] * te[i];
if (fe[i] == te[i])
{
dw1[i] = dw2[i] =
dbias[i] = 0;
}
else
{
ww1 = dw1[i] + ww1;
ww2 = dw2[i] + ww2;
bb = dbias[i] + bb;
}
del[i] = ww1 * xx11[i] +
ww2 * xx22[i] + bb;
if (del[i] > tt)
{
fe[i] = 1;
}
else if (del[i] < -tt)
{
fe[i] = -1;
}
else fe[i] = del[i];
if (i == 0)
{
wbaru1_1.Text =
Convert.ToString(ww1);
wbaru2_1.Text =
Convert.ToString(ww2);
bbaru1.Text =
Convert.ToString(bb);
}
else if (i == 1)
{
wbaru1_2.Text =
Convert.ToString(ww1);
wbaru2_2.Text =
Convert.ToString(ww2);
bbaru2.Text =
Convert.ToString(bb);
}
else if (i == 2)
{
wbaru1_3.Text =
Convert.ToString(ww1);
wbaru2_3.Text = Convert.ToString(ww2);
bbaru3.Text =
Convert.ToString(bb);
}
else
{
wbaru1_4.Text =
Convert.ToString(ww1);
wbaru2_4.Text = Convert.ToString(ww2);
bbaru4.Text =
Convert.ToString(bb);
} }
tx1_1.Text =
Convert.ToString(xx11[0]);
tx1_2.Text =
Convert.ToString(xx11[1]);
tx1_3.Text = Convert.ToString(xx11[2]);
tx1_4.Text =
Convert.ToString(xx11[3]);
tx2_1.Text =
Convert.ToString(xx22[0]);
tx2_2.Text =
Convert.ToString(xx22[1]);
tx2_3.Text =
Convert.ToString(xx22[2]);
tx2_4.Text =
Convert.ToString(xx22[3]);
bs1.Text =
Convert.ToString(bias11[0]);
bs2.Text =
Convert.ToString(bias11[1]);
bs3.Text = Convert.ToString(bias11[2]);
bs4.Text =
Convert.ToString(bias11[3]);
tar1.Text =
Convert.ToString(te[0]);
tar2.Text =
Convert.ToString(te[1]);
tar3.Text =
Convert.ToString(te[2]);
tar4.Text = Convert.ToString(te[3]);
target1.Text =
Convert.ToString(fe[0]);
target2.Text =
Convert.ToString(fe[1]);
target3.Text =
Convert.ToString(fe[2]);
target4.Text =
Convert.ToString(fe[3]);
y1.Text =
Convert.ToString(del[0]);
y2.Text =
Convert.ToString(del[1]);
y3.Text =
Convert.ToString(del[2]);
y4.Text =
Convert.ToString(del[3]);
w1_1.Text = Convert.ToString(dw1[0]);
w1_2.Text =
Convert.ToString(dw1[1]);
w1_3.Text =
Convert.ToString(dw1[2]);
w1_4.Text =
Convert.ToString(dw1[3]);
w2_1.Text =
Convert.ToString(dw2[0]);
w2_2.Text =
Convert.ToString(dw2[1]);
w2_3.Text =
Convert.ToString(dw2[2]);
w2_4.Text =
Convert.ToString(dw2[3]);
bias1.Text =
Convert.ToString(dbias[0]);
bias2.Text = Convert.ToString(dbias[1]);
bias3.Text =
Convert.ToString(dbias[2]);
bias4.Text =
Convert.ToString(dbias[3]);
t_epoch.Text =
Convert.ToString(qq);
}
if (xx == 2)
{
if (XOR.Checked == true)
{
te = new double[] { 0, 1,
1, 0 };
for (int i = 0; i < 4;
i++)
{
xx11[i] = zz1[i];
xx22[i] = zz2[i];
}
}
else
{
xx11 = new double[] { 0, 1,
0, 1 };
xx22 = new double[] { 0, 0,
1, 1 };
}
qq++;
for (int i = 0; i < 4; i++)
{
del[i] = te[i] - fe[i];
dw1[i] = aa / 10 * del[i] *
xx11[i];
dw2[i] = aa / 10 * del[i] *
xx22[i];
ww1 = ww1 + dw1[i];
ww2 = ww2 + dw2[i];
dbias[i] = xx11[i] * ww1 +
xx22[i] * ww2;
if (dbias[i] < tt)
{
fe[i] = 0;
}
else fe[i] = 1;
if (i == 0)
{
wbaru1_1.Text =
Convert.ToString(ww1);
wbaru2_1.Text =
Convert.ToString(ww2);
}
else if (i == 1)
{
wbaru1_2.Text =
Convert.ToString(ww1);
wbaru2_2.Text =
Convert.ToString(ww2);
}
else if (i == 2)
{
wbaru1_3.Text =
Convert.ToString(ww1);
wbaru2_3.Text =
Convert.ToString(ww2);
}
else
{
wbaru1_4.Text =
Convert.ToString(ww1);
wbaru2_4.Text =
Convert.ToString(ww2);
}
}
tx1_1.Text =
Convert.ToString(xx11[0]);
tx1_2.Text =
Convert.ToString(xx11[1]);
tx1_3.Text = Convert.ToString(xx11[2]);
tx1_4.Text =
Convert.ToString(xx11[3]);
tx2_1.Text =
Convert.ToString(xx22[0]);
tx2_2.Text =
Convert.ToString(xx22[1]);
tx2_3.Text =
Convert.ToString(xx22[2]);
tx2_4.Text = Convert.ToString(xx22[3]);
bs1.Text =
Convert.ToString(bias11[0]);
bs2.Text =
Convert.ToString(bias11[1]);
bs3.Text =
Convert.ToString(bias11[2]);
bs4.Text = Convert.ToString(bias11[3]);
tar1.Text =
Convert.ToString(te[0]);
tar2.Text =
Convert.ToString(te[1]);
tar3.Text =
Convert.ToString(te[2]);
tar4.Text =
Convert.ToString(te[3]);
target1.Text =
Convert.ToString(fe[0]);
target2.Text =
Convert.ToString(fe[1]);
target3.Text =
Convert.ToString(fe[2]);
target4.Text =
Convert.ToString(fe[3]);
y1.Text = Convert.ToString(del[0]);
y2.Text =
Convert.ToString(del[1]);
y3.Text =
Convert.ToString(del[2]);
y4.Text =
Convert.ToString(del[3]);
w1_1.Text =
Convert.ToString(dw1[0]);
w1_2.Text =
Convert.ToString(dw1[1]);
w1_3.Text =
Convert.ToString(dw1[2]);
w1_4.Text =
Convert.ToString(dw1[3]);
w2_1.Text =
Convert.ToString(dw2[0]);
w2_2.Text =
Convert.ToString(dw2[1]);
w2_3.Text = Convert.ToString(dw2[2]);
w2_4.Text =
Convert.ToString(dw2[3]);
bias1.Text =
Convert.ToString(dbias[0]);
bias2.Text =
Convert.ToString(dbias[1]);
bias3.Text =
Convert.ToString(dbias[2]);
bias4.Text =
Convert.ToString(dbias[3]);
t_epoch.Text =
Convert.ToString(qq);
}
}
private void button2_Click(object
sender, EventArgs e)
{
this.Close();
}
private void
radioButton7_CheckedChanged(object sender, EventArgs e)
{
pilihan = 3;
}
private void Form1_Load(object sender,
EventArgs e)
{
}
private void
button3_Click(object sender, EventArgs e)
{
a=0;b=0;c=0;d=0;z1=0;z2=0;
t=0;w=0;w1=0;w2=0; Output01=0;b_or=0;b_and=0;E = 0.2;
nett = 0; y = 0;
//epoch = 0;
A1=0;B1=0;C1=0;D1=0;A11=0;B11=0;C11=0;D11=0;i=0;keluar=0;
for (i = 0; i < 4; i++)
{
bias [i] = 0;
wsatu[i] = 0;
wdua [i] = 0;
sigW1[i] = 0;
sigW2[i] = 0;
sigb [i] = 0;
}
for (i = 0; i < 5; i++)
{
bias [i] = 0 ;
wsatu [i] = 0 ;
wdua [i] = 0 ;
}
i = 0;
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
textBox9.Clear();
textBox10.Clear();
w1_0.Clear ();
w2_0.Clear ();
bias_0.Clear();
/*
tx1_1.Clear ();
foreach (Control tx in
this.Controls)
{
if (tx is TextBox)
{
((TextBox)tx).Clear();
}
}
foreach (Control ch in
this.Controls)
{
if (ch is CheckBox)
{
((CheckBox)ch).Checked=false;
}
}
foreach (Control tb in
this.Controls)
{
if (tb is TrackBar)
{
((TrackBar)tb).Value = 1;
}
}
}
private void
radioButton10_CheckedChanged(object sender, EventArgs e)
{
xx = 1;
label24.Text = "F(net)";
label26.Text = "BB";
}
private void vScrollBar1_Scroll(object
sender, ScrollEventArgs e)
{
aa = scrol_alfa.Value;
boxalfa.Text = Convert.ToString( aa
/ 100);
}
private void scrol_tetha_Scroll(object
sender, ScrollEventArgs e)
{
tt = scrol_tetha.Value;
boxtetha.Text =
Convert.ToString(tt);
}
private void
radioButton11_CheckedChanged(object sender, EventArgs e)
{
xx = 2;
xx11 = new double[] { 0, 1, 0, 1 };
xx22 = new double[] { 0, 0, 1, 1 };
label24.Text = "Delta";
label26.Text = "F(net)";
Random kk = new Random();
for (int uu = 0; uu < 100; uu++)
{
ww1 = kk.NextDouble();
boxw1.Text =
Convert.ToString(ww1);
}
Random ll = new Random();
for (int uu = 0; uu < 10; uu++)
{
ww2 = ll.NextDouble();
boxw2.Text =
Convert.ToString(ww2);
}
}
}
}NB : Menginginkan Program Mentahnya Hubungi Admin
Terimakasih
Bagi anda yang hobby bermain judi online seperti :
ReplyDeleteBandar Ceme, Ceme Keliling, Capsa Susun, Domino, Bandar Poker dan Live Poker.
Mari segera bergabung bersama kami di www,s1288poker,com
Kami agen penyediaan jasa judi online terbaik dan terpercaya.
Kami hadir untuk anda para pecinta judi online di tanah air.
Kami juga akan memudahkan anda untuk pembuatan ID dengan registrasi secara gratis.
Dan untuk proses DEPO & WITHDRAW langsung ditangani oleh
customer service kami yang profesional dan ramah. (PIN BBM : 7AC8D76B)
Permisi min, bisa minta mentahannya?
ReplyDelete