Selasa, 09 April 2019

Rev.2 Array Sorting Algorithms - Selection Sort, Insertion Sort, Bubble Sort C# Form



Ini revisi versi ke-2, ada perubahan sedikit di syntaxnya seperti fungsi untuk output hasil, fungsi clear data dan fungsi sortingnya, kekurangannya belum buat label nampilin jumlah arraynya left right gitu. Kalo ada yang mau nambahin codingnya silahkan komen ..
atau kalau ada yang mau bantuin ane jadi penulis disini bisa hubungi admin ^^

untuk merge sort dan quick sort >> Merge & Quick Sort

edited:
yang mau copy paste matikan javascriptnya dulu ya >> CARANYA 
jangan lupa dihidupin lagi kalo udah. thxx
source : https://www.geeksforgeeks.org

Selection Sort:
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 Sorting
{
    public partial class frm_ss : Form
    {
        int[] data = new int[10];
        int x = 0;
        public frm_ss()
        {
            InitializeComponent();
        }

// ini syntax di button input
        private void btn_input_Click(object sender, EventArgs e)
        {
            data[x] = int.Parse(txt_input.Text);
            lb_awal.Items.Add(data[x]);
            x++;
            txt_input.Clear();
            txt_input.Focus();                                     
        }

// ini syntax di button hasil/tampil
        private void btn_hasil_Click(object sender, EventArgs e)
        {
            sort(data);
            printArray(data, x);     
        }

        private void sort(int[] arr)
        {
            for (int i = 0; i < x; i++)
            {
                for (int j = 0; j < x; j++)
                {
                    if (arr[i] < arr[j])
                    {
                        int temp = arr[i];
                        arr[i] = arr[j];
                        arr[j] = temp;
                    }
                }
            }
        }

        private void printArray(int[] arr, int n)
        {
            for (int i = 0; i < n; i++)
                lb_akhir.Items.Add(arr[i]);
        }

        private void btn_clear_Click(object sender, EventArgs e)
        {
            lb_awal.Items.Clear();
            lb_akhir.Items.Clear();
            x = 0;
        }   
    }
}

Insertion Sort:
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 Sorting
{
    public partial class frm_is : Form
    {
        int[] data = new int[10];
        int x = 0;
        public frm_is()
        {
            InitializeComponent();
        }

// ini syntax di button input
        private void btn_input_Click(object sender, EventArgs e)
        {
            data[x] = int.Parse(txt_input.Text);
            lb_awal.Items.Add(data[x]);
            x++;
            txt_input.Clear();
            txt_input.Focus();     
        }

// ini syntax di button hasil/tampil
        private void btn_hasil_Click(object sender, EventArgs e)
        {
            frm_is ob = new frm_is();
            ob.sort(data, x);
            printArray(data, x);
        }

        void sort(int[] arr, int n)
        {         
            for (int i = 1; i < n; ++i)
            {
                int key = arr[i];
                int j = i - 1;

                // Move elements of arr[0..i-1],
                // that are greater than key,
                // to one position ahead of
                // their current position
                while (j >= 0 && arr[j] > key)
                {
                    arr[j + 1] = arr[j];
                    j = j - 1;
                }
                arr[j + 1] = key;
            }
        }

        private void printArray(int[] arr, int n)
        {
            for (int i = 0; i < n; ++i)
                lb_akhir.Items.Add(arr[i]);
        }

        private void btn_clear_Click(object sender, EventArgs e)
        {
            lb_awal.Items.Clear();
            lb_akhir.Items.Clear();
            x = 0;
        }
    }
}

Bubble Sort:
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 Sorting
{
    public partial class frm_bs : Form
    {
        int[] data = new int[10];
        int x = 0 ;
        public frm_bs()
        {
            InitializeComponent();
        }

// ini syntax di button input
        private void btn_input_Click(object sender, EventArgs e)
        {
            data[x] = int.Parse(txt_input.Text);
            lb_awal.Items.Add(data[x]);
            x++;
            txt_input.Clear();
            txt_input.Focus();         
        }

// ini syntax di button hasil/tampil
        private void btn_hasil_Click(object sender, EventArgs e)
        {
            bubbleSort(data, x);
            printArray(data, x);
        }
     
        private void bubbleSort(int[] arr, int n)
        {
            for (int i = 0; i < n - 1; i++)
                for (int j = 0; j < n - i - 1; j++)
                    if (arr[j] > arr[j + 1])
                    {
                        // swap temp and arr[i]
                        int temp = arr[j];
                        arr[j] = arr[j + 1];
                        arr[j + 1] = temp;
                    }
        }

        private void printArray(int[] arr, int n)
        {
            for (int i = 0; i < n; ++i)
                lb_akhir.Items.Add(arr[i]);
        }

        private void btn_clear_Click(object sender, EventArgs e)
        {
            lb_awal.Items.Clear();
            lb_akhir.Items.Clear();
            x = 0;
        }
    }
}

Visual Studio 2012 C# C sharp membuat Form tampilan GUI Algoritma Pemrograman Sorting Array Selection Sort Bubble Sort Insertion Sort Merge Sort Quick Sort
Agus Mulyanto, S.Kom., M.T., M.Sc Universitas Teknokrat Indonesia
Teknik Informatika IF18Fx

Tidak ada komentar:

Posting Komentar