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

3 comments:

  1. https://m.youtube.com/watch?v=HlP6XQfxUIw

    ReplyDelete
  2. 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