Translate

Monday, January 30, 2017

Implementasi Algoritma Sorting pada Pemrograman Java

Apa Itu Algoritma Sorting?

Algoritma Sorting merupakan kumpulan langkah sistematis untuk melakukan pengurutan sejumlah data berdasarkan nilai tertentu. Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) ataupun sebalikanya.

Pada pembahasan algoritma sorting ini yang saya bahas adalah Comparation Sort. Comparation Sort atau pengurutan dengan pembandingan merupakan algoritma sorting yang dalam proses pengurutannya melaakukan pembandingan antar data. Berikut ini saya berikan contoh implementasi algoritma Bubble Sort, Selection Sort dan Insertion Sort.

Algoritma Sorting in Java

Implementasi Algoritma Bubble Sort

Kita bisa membuat program java untuk mengurutkan element array menggunakan bubble sort. algoritma bubble sort dikenal sebagai algoritma sorting yang paling sederhana. Dalam algoritma bubble sort, setiap array dilalui dari elemen pertama sampai elemen terakhir. Di sini, element saat ini dibandingkan dengan element berikutnya. Jika element saat ini lebih besar dari element berikutnya, itu bertukar.

    private static void bubbleSort(int[] arr) {  
        int n = arr.length;  
        int temp = 0;  
        for(int i=0; i < n; i++){  
            for(int j=1; j < (n-i); j++){  
                if(arr[j-1] > arr[j]){  
                    temp = arr[j-1];  
                    arr[j-1] = arr[j];  
                    arr[j] = temp;  
                }  
            }  
         }  
    }

Implementasi Algoritma Selection Sort

Kita bisa membuat program java untuk mengurutkan element array menggunakan selection sort. Dalam algoritma selection sort, kita mencari element terendah dan mengaturnya ke lokasi yang tepat. Kemudian menukar element saat ini dengan jumlah terendah berikutnya.

    private static void selectionSort(int[] bilangan){  
        for (int i = 0; i < bilangan.length - 1; i++){  
            int index = i;  
            for (int j = i + 1; j < bilangan.length; j++){  
                if (bilangan[j] < bilangan[index]){  
                    index = j;
                }  
            }  
            int smallerNumber = bilangan[index];   
            bilangan[index] = bilangan[i];  
            bilangan[i] = smallerNumber;  
        }  
    }

Implementasi Algoritma Insertion Sort

Kita bisa membuat program java untuk mengurutkan element array menggunakan insertion sort. Penyisipan baik untuk elemen kecil hanya karena membutuhkan lebih banyak waktu untuk menyortir sejumlah besar elemen.

    private static void insertionSort(int bilangan[]) {  
        int n = bilangan.length;  
        for (int j = 1; j < n; j++) {  
            int key = bilangan[j];  
            int i = j-1;  
            while ( (i > -1) && ( bilangan [i] > key ) ) {  
                bilangan [i+1] = bilangan [i];  
                i--;  
            }  
            bilangan[i+1] = key;  
        }  
    }  

Cara Mengimplementasikan Algoritma Sorting

/**
 *
 * @author Akira
 */
public class AlgoritmaSorting {
    
    private static void bubbleSort(int[] arr) {  
        int n = arr.length;  
        int temp = 0;  
        for(int i=0; i < n; i++){  
            for(int j=1; j < (n-i); j++){  
                if(arr[j-1] > arr[j]){  
                    temp = arr[j-1];  
                    arr[j-1] = arr[j];  
                    arr[j] = temp;  
                }  
            }  
         }  
    }
    
    public static void main(String[] args){
        int bilangan[] ={3,60,35,21,45,32,5};  
                 
        System.out.println("Sebelum Dilakukan Sorting");  
        for(int i=0; i < bilangan.length; i++){  
            System.out.print(bilangan[i] + " ");  
        }  
        
        System.out.println();  
                  
        bubbleSort(bilangan);
                 
        System.out.println("Sesudah Dilakukan Sorting");  
        for(int i=0; i < bilangan.length; i++){  
            System.out.print(bilangan[i] + " ");  
        }  
    }
}

Jika kalian ingin mengimplementasikan algoritma sorting yang lainnya silahkan ganti method bubbleSort() dengan method sorting lainnya. 

Silahkan mencoba 3 algoritma sorting tersebut. Silahkan tinggalkan komentar.