This is default featured slide 1 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 2 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 3 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 4 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

This is default featured slide 5 title

Selamat datang di blog saya, jika kalian suka ngeblogger berbagilah ilmu www.cahilangall012.blogspot.com.

Monday, October 8, 2018

Algoritma Genetika dibuktikan dengan enam Cromosom Secara ACAK berbantuan Visual Basic 2012

Algoritma Genetika dibuktikan dengan enam Cromosom Secara ACAK

1. Desain Tampilan

2. Program Visual Basic

using 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 AL_Set
{
   
    public partial class Form1 : Form
    {
        double FungOb, FungOb2, FIT, x;
        int[,] Populasi = new int[4, 6];
        int[,]    Proba = new int[4, 6];
        double[]   Roll = new double[6];
        double[]  Roll2 = new double[6];

        int[] FO = new int[6];
        double[] FI = new double[6];
        double[] PB = new double[6];
        double[] KP = new double[6];
        int[][] CH = new int[][]
        {
           new int[4],
           new int[4],
           new int[4],
           new int[4],
           new int[4],
           new int[4],       
        };
       
        public Form1()
        {
            InitializeComponent();
        }

        private void RANDOM_Click(object sender, EventArgs e)
        {
            Random n = new Random();
            for (int i = 1; i < 4; i++)
            {
                for (int j = 0; j < 6; j++)
                {
                    for (int l = 0; l < 1000; l++)
                    {
                        Populasi[0, j] = n.Next(30);
                        Populasi[i, j] = n.Next(10);
                        Roll[j] = n.NextDouble();
                        Roll[j] = Math.Round(Roll[j], 3);
                    }
                }
            }
            //Nilai awal chromosome
            Cro00.Text = Convert.ToString(Populasi[0, 0]);
            Cro01.Text = Convert.ToString(Populasi[0, 1]);
            Cro02.Text = Convert.ToString(Populasi[0, 2]);
            Cro03.Text = Convert.ToString(Populasi[0, 3]);
            Cro04.Text = Convert.ToString(Populasi[0, 4]);
            Cro05.Text = Convert.ToString(Populasi[0, 5]);

            Cro10.Text = Convert.ToString(Populasi[1, 0]);
            Cro11.Text = Convert.ToString(Populasi[1, 1]);
            Cro12.Text = Convert.ToString(Populasi[1, 2]);
            Cro13.Text = Convert.ToString(Populasi[1, 3]);
            Cro14.Text = Convert.ToString(Populasi[1, 4]);
            Cro15.Text = Convert.ToString(Populasi[1, 5]);

            Cro20.Text = Convert.ToString(Populasi[2, 0]);
            Cro21.Text = Convert.ToString(Populasi[2, 1]);
            Cro22.Text = Convert.ToString(Populasi[2, 2]);
            Cro23.Text = Convert.ToString(Populasi[2, 3]);
            Cro24.Text = Convert.ToString(Populasi[2, 4]);
            Cro25.Text = Convert.ToString(Populasi[2, 5]);

            Cro30.Text = Convert.ToString(Populasi[3, 0]);
            Cro31.Text = Convert.ToString(Populasi[3, 1]);
            Cro32.Text = Convert.ToString(Populasi[3, 2]);
            Cro33.Text = Convert.ToString(Populasi[3, 3]);
            Cro34.Text = Convert.ToString(Populasi[3, 4]);
            Cro35.Text = Convert.ToString(Populasi[3, 5]);
            //Roulete whell
            Rou0.Text = Convert.ToString(Roll[0]);
            Rou1.Text = Convert.ToString(Roll[1]);
            Rou2.Text = Convert.ToString(Roll[2]);
            Rou3.Text = Convert.ToString(Roll[3]);
            Rou4.Text = Convert.ToString(Roll[4]);
            Rou5.Text = Convert.ToString(Roll[5]);
        }

        private void PROCESS_Click(object sender, EventArgs e)
        {
            FungOb = 0;
            FIT = 0;
            for (int j = 0; j < 6; j++)
            {
                FO[j] = Math.Abs((Populasi[0, j] + Populasi[1, j] * 2 + Populasi[2, j] * 3 + Populasi[3, j]*4) - 30);
                FungOb = FungOb + FO[j];
            }
            for (int j = 0; j < 6; j++)
            {
                FI[j] = FO[j] + 1;
                FIT = FIT + (1/FI[j]);           
            }

            for (int j = 0; j < 6; j++)
            {
                PB[j] = (1 / FI[j]) / FIT;
            }
            KP[0] = PB[0];
            KP[1] = PB[0] + PB[1];
            KP[2] = PB[0] + PB[1] + PB[2];
            KP[3] = PB[0] + PB[1] + PB[2] + PB[3];
            KP[4] = PB[0] + PB[1] + PB[2] + PB[3] + PB[4];
            KP[5] = PB[0] + PB[1] + PB[2] + PB[3] + PB[4] + PB[5];

            FungOb2 = FungOb / 6;
            FungOb2 = Math.Round(FungOb2, 2);
            for (int K = 0; K < 6; K++)
            {               
                for (int J = 0; J < 4; J++)
                {
                    if (Roll[K] < KP[0])
                {
                    Proba[J,K] = Populasi[J,0];
                } }
               
            }
            for (int i = 0; i < 100; i++)
            {
                for (int K = 0; K < 6; K++)
                {
                    for (int J = 0; J < 4; J++)
                    {
                        if (KP[0] < Roll[K] && Roll[K] < KP[1])
                        {
                            Proba[J, K] = Populasi[J, 1];
                        }
                        if (KP[1] < Roll[K] && Roll[K] < KP[2])
                        {
                            Proba[J, K] = Populasi[J, 2];
                        }
                        if (KP[2] < Roll[K] && Roll[K] < KP[3])
                        {
                            Proba[J, K] = Populasi[J, 3];
                        }
                        if (KP[3] < Roll[K] && Roll[K] < KP[4])
                        {
                            Proba[J, K] = Populasi[J, 4];
                        }
                        if (KP[4] < Roll[K] && Roll[K] < KP[5])
                        {
                            Proba[J, K] = Populasi[J, 5];
                        }
                 }}}

            CH[0] = new int[] { Proba[0, 0], Proba[1, 0], Proba[2, 0], Proba[3, 0] };
            CH[1] = new int[] { Proba[0, 1], Proba[1, 1], Proba[2, 1], Proba[3, 1] };
            CH[2] = new int[] { Proba[0, 2], Proba[1, 2], Proba[2, 2], Proba[3, 2] };
            CH[3] = new int[] { Proba[0, 3], Proba[1, 3], Proba[2, 3], Proba[3, 3] };
            CH[4] = new int[] { Proba[0, 4], Proba[1, 4], Proba[2, 4], Proba[3, 4] };
            CH[5] = new int[] { Proba[0, 5], Proba[1, 5], Proba[2, 5], Proba[3, 5] };
            x=0;
            do
            {
                Random n = new Random();
                for (int j = 0; j < 6; j++)
                {
                    for (int l = 0; l < 1000; l++)
                    {                       
                        Roll[j] = n.NextDouble();
                        Roll[j] = Math.Round(Roll[j], 3);
                    }
                    if (Roll[j] < 0.25)
                    {
                       
                        x++;
                    }
                }
            } while (x < 4);
            //Fungsi Obyek
            FO0.Text = Convert.ToString(FO[0]);
            FO1.Text = Convert.ToString(FO[1]);
            FO2.Text = Convert.ToString(FO[2]);
            FO3.Text = Convert.ToString(FO[3]);
            FO4.Text = Convert.ToString(FO[4]);
            FO5.Text = Convert.ToString(FO[5]);
            rata_FO.Text = Convert.ToString(FungOb2);
            //Fitnes
            fit0.Text = Convert.ToString(1/FI[0]);
            fit1.Text = Convert.ToString(1/FI[1]);
            fit2.Text = Convert.ToString(1/FI[2]);
            fit3.Text = Convert.ToString(1/FI[3]);
            fit4.Text = Convert.ToString(1/FI[4]);
            fit5.Text = Convert.ToString(1/FI[5]);
            total_Fit.Text = Convert.ToString(FIT);
            //Probalitas
            pro0.Text = Convert.ToString(PB[0]);
            pro1.Text = Convert.ToString(PB[1]);
            pro2.Text = Convert.ToString(PB[2]);
            pro3.Text = Convert.ToString(PB[3]);
            pro4.Text = Convert.ToString(PB[4]);
            pro5.Text = Convert.ToString(PB[5]);
            //Komulatif
            kom0.Text = Convert.ToString(KP[0]);
            kom1.Text = Convert.ToString(KP[1]);
            kom2.Text = Convert.ToString(KP[2]);
            kom3.Text = Convert.ToString(KP[3]);
            kom4.Text = Convert.ToString(KP[4]);
            kom5.Text = Convert.ToString(KP[5]);
            // Populasi Baru Chromosome
            Cro200.Text = Convert.ToString(Proba[0, 0]);
            Cro201.Text = Convert.ToString(Proba[0, 1]);
            Cro202.Text = Convert.ToString(Proba[0, 2]);
            Cro203.Text = Convert.ToString(Proba[0, 3]);
            Cro204.Text = Convert.ToString(Proba[0, 4]);
            Cro205.Text = Convert.ToString(Proba[0, 5]);

            Cro210.Text = Convert.ToString(Proba[1, 0]);
            Cro211.Text = Convert.ToString(Proba[1, 1]);
            Cro212.Text = Convert.ToString(Proba[1, 2]);
            Cro213.Text = Convert.ToString(Proba[1, 3]);
            Cro214.Text = Convert.ToString(Proba[1, 4]);
            Cro215.Text = Convert.ToString(Proba[1, 5]);

            Cro220.Text = Convert.ToString(Proba[2, 0]);
            Cro221.Text = Convert.ToString(Proba[2, 1]);
            Cro222.Text = Convert.ToString(Proba[2, 2]);
            Cro223.Text = Convert.ToString(Proba[2, 3]);
            Cro224.Text = Convert.ToString(Proba[2, 4]);
            Cro225.Text = Convert.ToString(Proba[2, 5]);

            Cro230.Text = Convert.ToString(Proba[3, 0]);
            Cro231.Text = Convert.ToString(Proba[3, 1]);
            Cro232.Text = Convert.ToString(Proba[3, 2]);
            Cro233.Text = Convert.ToString(Proba[3, 3]);
            Cro234.Text = Convert.ToString(Proba[3, 4]);
            Cro235.Text = Convert.ToString(Proba[3, 5]);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            this.Close();
        }
        private void button2_Click(object sender, EventArgs e)
        {
             Random n = new Random();
             for (int i = 1; i < 4; i++)
             {
                 for (int j = 0; j < 6; j++)
                 {
                     for (int l = 0; l < 1000; l++)
                     {
                         Populasi[0, j] = n.Next(30);
                         Populasi[i, j] = n.Next(10);
                         Roll2[j] = n.NextDouble();
                         Roll2[j] = Math.Round(Roll2[j], 3);
                     } }}
            //Roulate ke 2
             rou20.Text = Convert.ToString(Roll2[0]);
             rou21.Text = Convert.ToString(Roll2[1]);
             rou22.Text = Convert.ToString(Roll2[2]);
             rou23.Text = Convert.ToString(Roll2[3]);
             rou24.Text = Convert.ToString(Roll2[4]);
             rou25.Text = Convert.ToString(Roll2[5]);
        }}}






#visual Basic #algoritma #Algoritmagenetika

NB: Jika menginginkan file asli, silahkan PM melalui CP

Friday, September 28, 2018

Implenentasi Program Kecerdasan buatan Back Propagasi X Y dengan Visual Basic

Implenentasi Program Kecerdasan buatan Back Propagasi X Y 

1. Tampilan Layout
2. Program Visual Basic


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

{
    public partial class Form1 : Form
    {
double W1, W2, W3, W4, B, X1V1;
double X1V2, X1V3, X1V4, X2V1, X2V2, X2V3, X2V4;
double bV1, bV2, bV3, bV4, a, Yin, q;
double Zin1, Zin2, Zin3, Zin4, Z1, Z2, Z3, Z4;
double YN, Delta, DW1, DW2, DW3, DW4, DB, Din1, Din2, Din3, Din4;
double D1, D2, D3, D4, Error1, error;
double  dX1V1, dX1V2, dX1V3, dX1V4;
double  dX2V1, dX2V2, dX2V3, dX2V4, dB1, dB2, dB3, dB4;       
       
double[] X1 = { 0, 0, 0, 0 };
double[] X2 = { 0, 0, 0, 0 };
double[] T = { 0, 0, 0, 0 };
double[] Y = { 0, 0, 0, 0 };
double[] Yout = { 0, 0, 0, 0 };
public Form1()
        {
            InitializeComponent();
        }

        private void Random_Click(object sender, EventArgs e)
        {
            Random n = new Random();
            for (int i=0;i<1000;i++)
            {
                W1 = n.Next(-10000, 10000);
                W1 = W1 / 10000;
                w1awal.Text = Convert.ToString(W1);
                W2 = n.Next(-10000, 10000);
                W2 = W2 / 10000;
                w2awal.Text = Convert.ToString(W2);
                W3 = n.Next(-10000, 10000);
                W3 = W3 / 10000;
                w3awal.Text = Convert.ToString(W3);
                W4 = n.Next(-10000, 10000);
                W4 = W4 / 10000;
                w4awal.Text = Convert.ToString(W4);
                B = n.Next(-10000, 10000);
                B = B / 10000;
                BB.Text = Convert.ToString(B);

                X1V1 = n.Next(-10000, 10000);
                X1V1 = X1V1 / 10000;
                x1v1awal.Text = Convert.ToString(X1V1);
                X1V2 = n.Next(-10000, 10000);
                X1V2 = X1V2 / 10000;
                x1v2awal.Text = Convert.ToString(X1V2);
                X1V3 = n.Next(-10000, 10000);
                X1V3 = X1V3 / 10000;
                x1v3awal.Text = Convert.ToString(X1V3);
                X1V4 = n.Next(-10000, 10000);
                X1V2 = X1V2 / 10000;
                x1v4awal.Text = Convert.ToString(X1V4);

                X2V1 = n.Next(-10000, 10000);
                X2V1 = X2V1 / 10000;
                x2v1awal.Text = Convert.ToString(X2V1);
                X2V2 = n.Next(-10000, 10000);
                X2V2 = X2V2 / 10000;
                x2v2awal.Text = Convert.ToString(X2V2);
                X2V3 = n.Next(-10000, 10000);
                X2V3 = X2V3 / 10000;
                x2v3awal.Text = Convert.ToString(X2V3);
                X2V4 = n.Next(-10000, 10000);
                X2V4 = X2V4 / 10000;
                x2v4awal.Text = Convert.ToString(X2V4);

                bV1 = n.Next(-10000, 10000);
                bV1 = bV1 / 10000;
                bv1awal.Text = Convert.ToString(bV1);
                bV2 = n.Next(-10000, 10000);
                bV2 = bV2 / 10000;
                bv2awal.Text = Convert.ToString(bV2);
                bV3 = n.Next(-10000, 10000);
                bV3 = bV3 / 10000;
                bv3awal.Text = Convert.ToString(bV3);
                bV4 = n.Next(-10000, 10000);
                bV4 = bV4 / 10000;
                bv4awal.Text = Convert.ToString(bV4);
            }
        }

        private void Calculate_Click(object sender, EventArgs e)
        {
            q = 0;
            X1[0] = double.Parse(in_x11.Text);
            X1[1] = double.Parse(in_x12.Text);
            X1[2] = double.Parse(in_x13.Text);
            X1[3] = double.Parse(in_x14.Text);

            X2[0] = double.Parse(in_x21.Text);
            X2[1] = double.Parse(in_x22.Text);
            X2[2] = double.Parse(in_x23.Text);
            X2[3] = double.Parse(in_x24.Text);

            T[0] = double.Parse(in_t1.Text);
            T[1] = double.Parse(in_t2.Text);
            T[2] = double.Parse(in_t3.Text);
            T[3] = double.Parse(in_t4.Text);
            do
            {
                q++;
                for (int i = 0; i < 4; i++)
                {
                   
                    Zin1 = bV1 + X1[i] * X1V1 + X2[i] * X2V1;
                    Zin2 = bV2 + X1[i] * X1V2 + X2[i] * X2V2;
                    Zin3 = bV3 + X1[i] * X1V3 + X2[i] * X2V3;
                    Zin4 = bV4 + X1[i] * X1V4 + X2[i] * X2V4;

                    Z1 = 1 / (1 + (Math.Pow(2.7, -Zin1)));
                    Z2 = 1 / (1 + (Math.Pow(2.7, -Zin2)));
                    Z3 = 1 / (1 + (Math.Pow(2.7, -Zin3)));
                    Z4 = 1 / (1 + (Math.Pow(2.7, -Zin4)));

                    YN = B + Z1 * W1 + Z2 * W2 + Z3 * W3 + Z4 * W4;
                    Y[i] = 1 / (1 + (Math.Pow(2.7, -YN)));
                    Error1 = T[i] - Y[i];
                    error = Math.Pow(Er, 2);
                    Delta = Er * (1 / (1 + (Math.Pow(2.7, -YN)))) * (1 - (1 / (1 + (Math.Pow(2.7, -YN)))));

                    DW1 = a / 10 * Delta * Z1;
                    DW2 = a / 10 * Delta * Z2;
                    DW3 = a / 10 * Delta * Z3;
                    DW4 = a / 10 * Delta * Z4;
                    DB = a / 10 * Delta;

                    Din1 = Delta * W1;
                    Din2 = Delta * W2;
                    Din3 = Delta * W3;
                    Din4 = Delta * W4;

                    D1 = Din1 * Z1 * (1 - Z1);
                    D2 = Din2 * Z2 * (1 - Z2);
                    D3 = Din3 * Z3 * (1 - Z3);
                    D4 = Din4 * Z4 * (1 - Z4);

                    dX1V1 = a / 10 * D1 * X1[i];
                    dX1V2 = a / 10 * D2 * X1[i];
                    dX1V3 = a / 10 * D3 * X1[i];
                    dX1V4 = a / 10 * D4 * X1[i];

                    dX2V1 = a / 10 * D1 * X1[i];
                    dX2V2 = a / 10 * D2 * X1[i];
                    dX2V3 = a / 10 * D3 * X1[i];
                    dX2V4 = a / 10 * D4 * X1[i];

                    dB1 = a / 10 * D1;
                    dB2 = a / 10 * D2;
                    dB3 = a / 10 * D3;
                    dB4 = a / 10 * D4;

                    X1V1 = X1V1 + dX1V1;
                    X1V2 = X1V2 + dX1V2;
                    X1V3 = X1V3 + dX1V3;
                    X1V4 = X1V4 + dX1V4;

                    X2V1 = X2V1 + dX2V1;
                    X2V2 = X2V2 + dX2V2;
                    X2V3 = X2V3 + dX2V3;
                    X2V4 = X2V4 + dX2V4;

                    bV1 = bV1 + dB1;
                    bV2 = bV2 + dB2;
                    bV3 = bV3 + dB3;
                    bV4 = bV4 + dB4;

                    W1 = W1 + DW1;
                    W2 = W2 + DW2;
                    W3 = W3 + DW3;
                    W4 = W4 + DW4;
                    B = B + DB;

                    Yin = B + Z1 * W1 + Z2 * W2 + Z3 * W3 + Z4 * W4;
                    Y[i] = 1 / (1 + (Math.Pow(2.7, -Yin)));
                }
                x1v1akhir.Text = Convert.ToString(X1V1);
                x1v2akhir.Text = Convert.ToString(X1V2);
                x1v3akhir.Text = Convert.ToString(X1V3);
                x1v4akhir.Text = Convert.ToString(X1V4);

                x2v1akhir.Text = Convert.ToString(X2V1);
                x2v2akhir.Text = Convert.ToString(X2V2);
                x2v3akhir.Text = Convert.ToString(X2V3);
                x2v4akhir.Text = Convert.ToString(X2V4);

                b1akhir.Text = Convert.ToString(bV1);
                b2akhir.Text = Convert.ToString(bV2);
                b3akhir.Text = Convert.ToString(bV3);
                b4akhir.Text = Convert.ToString(bV4);

                w1akhir.Text = Convert.ToString(W1);
                w2akhir.Text = Convert.ToString(W2);
                w3akhir.Text = Convert.ToString(W3);
                w4akhir.Text = Convert.ToString(W4);
                BA.Text = Convert.ToString(B);

                //Err.Text = Convert.ToString(Er);
                Error.Text = Convert.ToString(sqEr);
            } while ( sqEr > 0.01);
            Epoch.Text = Convert.ToString(q);
        }
        private void Check_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < 4; i++)
            {
                if (Y[i] >= 0.5)
                {
                    Yout[i] = 1;
                }
                else Yout[i] = 0;
            }
            hasil_y1.Text = Convert.ToString(Y[0]);
            hasil_y2.Text = Convert.ToString(Y[1]);
            hasil_y3.Text = Convert.ToString(Y[2]);
            hasil_y4.Text = Convert.ToString(Y[3]);
            hasil_yo1.Text = Convert.ToString(Yout[0]);
            hasil_yo2.Text = Convert.ToString(Yout[1]);
            hasil_yo3.Text = Convert.ToString(Yout[2]);
            hasil_yo4.Text = Convert.ToString(Yout[3]);
        }
        private void Reset_Click(object sender, EventArgs e)
        {
            foreach (Control tx in this.Controls)
            {
                if (tx is TextBox) { ((TextBox)tx).Clear(); }
            }
            foreach (Control tx in groupBox1.Controls)
            {
                if (tx is TextBox) { ((TextBox)tx).Clear(); }
            }
            foreach (Control tx in groupBox2.Controls)
            {
                if (tx is TextBox) { ((TextBox)tx).Clear(); }
            }
            foreach (Control tx in groupBox3.Controls)
            {
                if (tx is TextBox) { ((TextBox)tx).Clear(); }
            }
            foreach (Control tx in groupBox4.Controls)
            {
                if (tx is TextBox) { ((TextBox)tx).Clear(); }
            }
   foreach (Control tb in this.Controls)
            {
                if (tb is TrackBar)
                {
                    ((TrackBar)tb).Value = 1;
                }
            } }
        private void trackBar1_Scroll(object sender, EventArgs e)
        {
            a = Alpha1.Value;
            Alp.Text = Convert.ToString(a / 10);
        }
        private void tombol5_exit_Click(object sender, EventArgs e)
        {
            this.Close();
        }  
            
    }}



NB : Jika ingin program mentah silahkan kirim pesan

Teori Kecerdasan Buatan