Jumat, 08 November 2019

PERBANDINGAN WAKTU SORTING BUBBLE SORT BIASA DAN SORTING BUBBLE SORT MODIFIKASI

Pengertian Bubble Sort

Bubble Sort adalah salah satu metode dalam pengurutan suatu data. Sebenarnya bagi seorang programmer sudah tak asing lagi dengan yang namanya pengurutan data. Banyak metode dalam pengurutan data tersebut, namun yang akan kita bahas adalah Pengurutan data Bubble Sort.

Untuk algoritma Bubble Sort hanya memindahkan data dari satu tempat ke tempat yang lain dengan logika pertukaran tempat. Namun Bubble Sort hanya memindahkan data yang ada disebelah nya mau kanan maupun kiri satu per satu sesuai urutan data yang ditentukan.

Secara sederhana, bisa didefenisikan algoritma Bubble Sort adalah pengurutan dengan cara pertukaran data dengan data disebelahnya secara terus menerus sampai dalam satu iterasi tertentu tidak ada lagi perubahan.

Sumber : http://dauren-seo.blogspot.com/2018/02/logika-bubble-sort-di-java-dan-contoh.html

1. CONTOH PROGRAM BUBBLE SORT PADA PEMPROGRAMAN JAVA 

package belajaralgoritma;

public class BubbleSortAmir {

         public static void cetak(int[] bebas) {
            for(int banyak=0;banyak<bebas.length;banyak++) {
                System.out.print(bebas[banyak]);
            }
        }
        public static void main(String[] A) {

            int[] data2 = new int[10];
            int panjang=data2.length;
            for(int i=0; i<panjang; i++){
                int acak = (int)(Math.random()*panjang);
                data2[i]=acak;
            }
            System.out.print("data : ");
            cetak(data2);
       
            long start=System.nanoTime();
            for(int ulang=0;ulang<data2.length;ulang++) {
                for(int index=1;index<data2.length-ulang;index++) {
                    if(data2[index-1]>data2[index]) {
                        int tampung = data2[index-1];
                        data2[index-1]=data2[index];
                        data2[index]=tampung;
                    }
                }
            }
            long stop=System.nanoTime();
            System.out.print("\ndata : ");
            cetak(data2);
            System.out.println("\nWaktu : "+(stop-start));
    }  
}


OUTPUT :

Menggunakan 1000 data acak dan waktu proses










 





Menggunakan 100 data acak dan waktu proses

















Menggunakan 10 data acak dan waktu proses


















2. CONTOH PROGRAM BUBBLE SORT MODIFIKASI PADA PEMPROGRAMAN JAVA

package belajaralgoritma;

public class BubbleSortModifikasiAmir {
     public static void cetak(int[] bebas) {
  for(int banyak=0;banyak<bebas.length;banyak++) {
   System.out.print(bebas[banyak]);
  }
 }

 public static void main(String[] A) {
 
                int[] data2 = new int[10];
  int panjang=data2.length;
  for(int i=0; i<panjang; i++){
   int acak = (int)(Math.random()*panjang);
   data2[i]=acak;
  }
  // manual data
  //int[] data2= {4,3,1,2,5}; //average case
  //int[] data2= {5,4,3,2,1}; //worse case
  //int[] data2= {1,2,3,4,5}; //best case
  boolean cekLagi = true;
 
  System.out.print("data acak : ");
  cetak(data2);
  //mulai bubble sort
 
  long start=System.nanoTime();
  for(int ulang=0;ulang<5&&cekLagi;ulang++) {
   cekLagi = false;
   for(int index=1;index<data2.length-ulang;index++) {
    if(data2[index-1]>data2[index]) {
     int tampung = data2[index-1];
     data2[index-1]=data2[index];
     data2[index]=tampung;
     cekLagi = true;
    }
   }
  }
  long stop=System.nanoTime();
  System.out.print("\ndata urut : ");
  cetak(data2);
  System.out.println("\nWaktu proses : "+(stop-start));
    }
}



OUTPUT :

Menggunakan 1000 data acak dan proses











 




Menggunakan 100 data acak dan proses












 




Menggunakan 10 data acak dan proses

















1 komentar: