Monday, September 24, 2018

Program Visual Basic 2012 Jaringan Syaraf Tiruan ( JST )

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 

2 comments:

  1. Bagi anda yang hobby bermain judi online seperti :
    Bandar 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)

    ReplyDelete
  2. Permisi min, bisa minta mentahannya?

    ReplyDelete