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