Bubble Sort Java


Bubble sort (metode gelembung) adalah metode pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

Berikut contoh coding bubble sort pada java, menggunakan eclipse :

//* ABDUL HAMID *//
public class UASBubbleSort {

    public static void main(String[] args) {
          
            //membuat array int yang akan diurutkan menggunakan algoritma bubble sort
            int intArray[] = new int[]{5,90,35,45,150,3};
          
            //print array sebelum diurutkan menggunakan algoritma bubble sort
            System.out.println("Nilai Sebelum diurutkan");
            for(int i=0; i < intArray.length; i++){
                    System.out.print(intArray[i] + " ");}
          
            //sort array menggunakan bubble sort
            bubbleSort(intArray);
                    System.out.println("");
          
            //print array sesudah diurutkan menggunakan algoritma bubble sort
            System.out.println("Nilai Sesudah diurutkan");
            for(int i=0; i < intArray.length; i++){
                    System.out.print(intArray[i] + " ");}}

    private static void bubbleSort(int[] intArray) {
     
      /* Dalam bubble sort,  dasarnya kita akan melintasi dari array pertama
        * Untuk array_length - 1 posisi dan membandingkan elemen dengan yang berikutnya.
        * Elemen bertukar tempat (swap) dengan elemen berikutnya jika elemen berikutnya lebih besar.
        * Langkah Bubble sort adalah sebagai berikut.
        * 1. Membandingkan array [0] & array [1]
        * 2. Jika array [0]> array [1] swap.
        * 3. Bandingkan array [1] & array [2]
        * 4. Jika array [1]> array [2] swap.
        * 5. Bandingkan array [n-1] & array [n]
        * 6. jika [n-1]> array [n] kemudian swap.
        * Setelah langkah ini kita akan memiliki elemen terbesar di indeks terakhir.
        * mengulangi langkah yang sama untuk array [1] untuk array [n-1]*/
          
            int n = intArray.length;
            int temp = 0;
          
            for(int i=0; i < n; i++){
            for(int j=1; j < (n-i); j++){
            if(intArray[j-1] > intArray[j]){
                                    //menukar tempat (swap) elemen!
                                    temp = intArray[j-1];
                                    intArray[j-1] = intArray[j];
                                    intArray[j] = temp; }}}}}


Output :
Nilai Sebelum diurutkan
5 90 35 45 150 3
Nilai Sesudah diurutkan
3 5 35 45 90 150

Screen Shoot Program pada saat dijalankan di eclipse






0 komentar: