Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Program Sorting Dengan Metode Quick Sort Dan Insertion Sort

Program Sorting Dengan Metode Quick Sort Dan Insertion Sort

Program Sorting Dengan Metode Quick Sort Dan Insertion Sort Pada JavaScript

Program Sorting Dengan Metode Quick Sort Dan Insertion Sort - Artikel kemarin kita membahas tentang sorting dengan metode selectionsort dan bubblesort dan sekarang membahas tentang sorting qicksort dan insertionsort.

Quicksort adalah algoritma sorting yang berdasarkan pembandingan antara dua data dengan metode divide-and-conqueror. Disebut Quicksort, karena algoritma quicksort yang mengurutkan dengan sangat cepat, quicksort sendiri disebut juga dengan partition exchange sort, karena konsepnya membuat partisi-partisi dan sort dilakukan perpartisi. 

Insertionsort dilakukan dengan cara menyisipkan sebuah angka atau huruf ke posisi yang diinginkan. Angka yang disisipkan sesuai dengan urutan iterasinya. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N”. Sekilas algoritma ini sama seperti dengan Bubblesort, tetapi sebenarnya sangat berbeda.  

Kelemahan metode insertionsort terletak pada banyaknya operasi yang diperlukan dalam mencari posisi data yang tepat untuk elemen larik, untuk larik yang jumlahnya besar ini tidak praktis maka gunakannlah metode sort yang lain.

LATIHAN
16     9    12    10    4    1    3
Urutkan dengan metode Quick sort dan Insertion sort.

Program 

import java.util.Scanner;
public class Latihan {
public void main(String[]args){
int jumlah, i;
Scanner scan = new Scanner(System.in);
System.out.print("Masukkan Jumlah Bilangan Yang Mau Di Inputkan : ");
jumlah = scan.nextInt();
int array[] = new int[jumlah];
for(i=0; i<jumlah; i++){
Scanner b = new Scanner(System.in);
System.out.print("Bilangan Ke-"+(i+1)+" : ");
array[i]=scan.nextInt();}
System.out.println("");
int pilihan;
System.out.println("  ***MENU SORTING***  ");
    System.out.println("1. Quick Sort");
    System.out.println("2. Insertion Sort");
    System.out.println("0. Keluar");
    do {
System.out.print("Pilihan : ");
        Scanner p = new Scanner(System.in);
        pilihan = p.nextInt();
        switch(pilihan){
        case 1 : quick();
        quick(array, 0, array.length - 1);
        System.out.print("Hasil Quick Sort:\n");
        for (i = 0; i < array.length; i++) {
            System.out.print(array[i] + "  ");}
            System.out.println("");
            System.out.println("__________________________");
        break;
        case 2 : insertion();
insertion(array, array.length);
System.out.print("Hasil Insertion Sort:\n");
for (i = 0; i < array.length; i++) {
     System.out.print(array[i] + "  ");}
     System.out.println("");
     System.out.println("__________________________");
        System.out.println("");
        break; }
}
while(pilihan != 0);}
private static void insertion(){
}
private static void quick(){
}
public static void insertion(int array[], int n) {
 for (int i = 1; i < n; i++) {
 int j = i;
 int B = array[i];
 while ((j > 0) && (array[j - 1] > B)) {
       array[j] = array[j - 1];
       j--;}
       array[j] = B;}
  }
    public static void quick(int array[], int low, int n) {
        int lo = low;
        int hi = n;
        if (lo >= n) {
            return;}
        int mid = array[(lo + hi) / 2];
        while (lo < hi) {
            while (lo < hi && array[lo] < mid) {
                lo++;}
            while (lo < hi && array[hi] > mid) {
                hi--;}
            if (lo < hi) {
                int T = array[lo];
                array[lo] = array[hi];
                array[hi] = T;}
        }
        if (hi < lo) {
            int T = hi;
            hi = lo;
            lo = T;}
        quick(array, low, lo);
        quick(array, lo == low ? lo + 1 : lo, n);}
}

OUTPUT

Program Sorting Dengan Metode Quick Sort Dan Insertion Sort

Post a Comment for "Program Sorting Dengan Metode Quick Sort Dan Insertion Sort"