Need a unique gift idea?
A Pastebin account makes a great Christmas gift
SHARE
TWEET

Untitled

a guest Nov 20th, 2018 85 Never
Upgrade to PRO!
ENDING IN00days00hours00mins00secs
 
  1. using System;
  2. /*********************************************
  3.  * Name File : QuickSort                     *
  4.  * Description  : Program QuickSort dalam C# *
  5.  *********************************************/
  6.  
  7. // Menggunakan namespace System.
  8. namespace QuickSort_AlifYoga
  9. {
  10.     //Membuat kelas.
  11.     class QuickSort
  12.     {
  13.         // Membuat metode utama
  14.         static void Main(string[] args)
  15.         {
  16.             //Pengulangan data
  17.             /* Jika menginputkan Y maka dia akan mengulang datanya jika selain Y maka program langsung berhenti */
  18.             char ulang = 'Y';
  19.             while (ulang == 'Y')
  20.             {
  21.                 Console.WriteLine("Aplikasi Quick Sort Data Alif Yoga");
  22.                 Console.WriteLine("---------------------------------");
  23.  
  24.                 Console.WriteLine("Pilihan Menu : ");
  25.                 Console.WriteLine("1. QuickSort Ascending  ");
  26.                 Console.WriteLine("2. QuickSort Descending");
  27.                 Console.Write("Silahkan Masukan Pilihan Anda : ");
  28.  
  29.                 //proses statement switch case
  30.                 int pilihan = Convert.ToInt32(Console.ReadLine());
  31.                 switch (pilihan)
  32.                 {
  33.                     case 1:
  34.                         hitungQuickSort_Ascending();
  35.                         break;
  36.                     case 2:
  37.                         hitungQuickSort_Descending();
  38.                         break;
  39.                     default:
  40.                         Console.WriteLine("Anda salah memasukkan datanya cuk!!! wkwkwkwkw");
  41.                         break;
  42.                 }
  43.                 Console.Write("Apakah Anda Ingin Mengulang Prosesnya...??? (Y/N)");
  44.                 ulang = Convert.ToChar(Console.ReadLine());
  45.                 //creator program
  46.                 Console.WriteLine("************************************");
  47.                 Console.WriteLine("* Author Name : Alif Yoga Darmawan *");
  48.                 Console.WriteLine("* Author Nim  : 1803040020         *");
  49.                 Console.WriteLine("************************************");
  50.             }
  51.         }
  52.         static public int Partition_Ascending(int[] jumlah, int i, int j)
  53.         {
  54.             int pivot = jumlah[i];
  55.             while (true)
  56.             {
  57.                 while (jumlah[i] < pivot)
  58.                     i++;
  59.                 while (jumlah[j] > pivot)
  60.                     j--;
  61.                 if (i < j)
  62.                 {
  63.                     //swap
  64.                     int temp = jumlah[j];
  65.                     jumlah[j] = jumlah[i];
  66.                     jumlah[i] = temp;
  67.                 }
  68.                 else
  69.                 {
  70.                     return j;
  71.                 }
  72.             }
  73.         }
  74.         static public void SortQuick_Ascending(int[] arr, int left, int right)
  75.         {
  76.             // Rekursif  
  77.             if (left < right)
  78.             {
  79.                 int pivot = Partition_Ascending(arr, left, right);
  80.                 if (pivot > 1)
  81.                     SortQuick_Ascending(arr, left, pivot - 1);
  82.                 if (pivot + 1 < right)
  83.                     SortQuick_Ascending(arr, pivot + 1, right);
  84.             }
  85.         }
  86.         static public int Partition_Descending(int[] jumlah, int i, int j)
  87.         {
  88.             int pivot = jumlah[i];
  89.             while (true)
  90.             {
  91.                 while (jumlah[i] > pivot)
  92.                     i++;
  93.                 while (jumlah[j] < pivot)
  94.                     j--;
  95.                 if (i < j)
  96.                 {
  97.                     //swap
  98.                     int temp = jumlah[j];
  99.                     jumlah[j] = jumlah[i];
  100.                     jumlah[i] = temp;
  101.                 }
  102.                 else
  103.                 {
  104.                     return j;
  105.                 }
  106.             }
  107.         }
  108.         static public void SortQuick_Descending(int[] arr, int i, int j)
  109.         {
  110.             // Rekursif  
  111.             if (i < j)
  112.             {
  113.                 int pivot = Partition_Descending(arr, i, j);
  114.                 if (pivot > 1)
  115.                     SortQuick_Descending(arr, i, pivot - 1);
  116.                 if (pivot + 1 < j)
  117.                     SortQuick_Descending(arr, pivot + 1, j);
  118.             }
  119.         }
  120.         public static void hitungQuickSort_Ascending()
  121.         {
  122.             //Mendeteksi jika ada error
  123.             try
  124.             {
  125.                 //Membuat variable
  126.                 int i, j;
  127.                 //Menginputkan Array
  128.                 Console.Write("Masukkan Array yang akan diurutkan ya!!! ");
  129.                 int jumlah = int.Parse(Console.ReadLine());
  130.                 // ukuran array sesuai inputan pada variabel n.
  131.                 int[] angka = new int[jumlah];
  132.                 for (i = 0; i < jumlah; i++)
  133.                 {
  134.                     Console.Write("Index {" + (i + 1) + "} : ");
  135.                     angka[i] = Convert.ToInt16(Console.ReadLine());
  136.                 }
  137.                 //Menampilkan Array yang sudah diinputkan
  138.                 Console.Write("Array yang diinputkan  : ");
  139.                 for (i = 0; i < jumlah; i++)
  140.                 {
  141.                     Console.Write(" " + angka[i]);
  142.                 }
  143.                 //Hasil dari array yang diurutkan
  144.                 Console.Write("\nAscending : ");
  145.                 //Mengurutkan Array
  146.                 SortQuick_Ascending(angka, 0, jumlah - 1);
  147.                 for (i = 0; i < jumlah; i++)
  148.                 {
  149.                     Console.Write(angka[i] + " ");
  150.                 }
  151.             }
  152.             //Memunculkan Pesan Pemberitahuan Kesalahan
  153.             catch
  154.             {
  155.                 Console.WriteLine("\nAnda memasukkan data yang salah wkwkwkwkwkkw");
  156.             }
  157.             finally
  158.             {
  159.                 Console.WriteLine("\nThank You!!!");
  160.             }
  161.         }
  162.  
  163.         public static void hitungQuickSort_Descending()
  164.         {
  165.             //Mendeteksi jika ada error
  166.             try
  167.             {
  168.                 //Membuat variable
  169.                 int i, j;
  170.                 //Menginputkan Array
  171.                 Console.Write("Masukkan Array yang akan diurutkan ya!!! ");
  172.                 int jumlah = int.Parse(Console.ReadLine());
  173.                 // ukuran array sesuai inputan pada variabel n.
  174.                 int[] angka = new int[jumlah];
  175.                 for (i = 0; i < jumlah; i++)
  176.                 {
  177.                     Console.Write("Index {" + (i + 1) + "} : ");
  178.                     angka[i] = Convert.ToInt16(Console.ReadLine());
  179.                 }
  180.                 Console.Write("Array yang diinputkan  : ");
  181.                 for (i = 0; i < jumlah; i++)
  182.                 {
  183.                     Console.Write(" " + angka[i]);
  184.                 }
  185.                 //Hasil dari array yang diurutkan
  186.                 Console.Write("\nDescending : ");
  187.                 //Mengurutkan Array
  188.                 SortQuick_Descending(angka, 0, jumlah - 1);
  189.                 for (i = 0; i < jumlah; i++)
  190.                 {
  191.                     Console.Write(angka [i] + " ");
  192.                 }
  193.             }
  194.             //Memunculkan Pesan Kesalahan
  195.             catch
  196.             {
  197.                 Console.WriteLine("\nAnda memasukkan data yang salah wkwkwkwkwkkw");
  198.             }
  199.             finally
  200.             {
  201.                 Console.WriteLine("\nThank You!!!");
  202.             }
  203.         }
  204.     }
  205. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top