Penjelasan lengkap Bubble Sorting di bahasa Java


 

Assalamu'alaikum teman-teman.... Apa Kabar?

Muly bawain penjelasan tentang Bubble Sort...apa itu Bubble Sort?

langsung saja yuk simak penjelasannya!


    Bubble Sort adalah salah satu metode dalam pengurutan suatu data untuk mengurutkan sebuah data mejadi terstruktur baik secara Ascending (dari naik sampai turun) maupun Descending (dari menurun sampai naik).

Pengurutan Bubble Sort dilakukan dengan cara: 

- Bandingkan masing-masing data dalam suatu list secara bersamaan.

- Tukar posisi data tersebut jika diperlukan atau diharuskan untuk di tukar.

- Ulangi sampai selesai hingga tidak ada lagi data yang dapat ditukar.

CONTOH BUBBLE SORT :

penjabaran gif :

Iterasi ke-1 :
6  5  3  1  8  7  2  4
5  6  3  1  8  7  2  4
5  3  6  1  8  7  2  4
5  3  1  6  8  7  2  4
5  3  1  6  8  7  2  4
5  3  1  6  7  2  8  4
5  3  1  6  7  2  4  8 (iterasi pertama selesai)

Iterasi ke-2 :
5  3  1  6  7  2  4  8
3  5  1  6  7  2  4  8
3  1  5  6  7  2  4  8
3  1  5  6  7  2  4  8
3  1  5  6  2  7  4  8
3  1  5  6  2  4  7  8 (iterasi kedua selesai)

Iterasi ke-3 :
3  1  5  6  2  4  7  8
1  3  5  6  2  4  7  8
1  3  5  6  2  4  7  8
1  3  5  2  6  4  7  8
1  3  5  2  4  6  7  8 ( iterasi ketiga selesai)

Iterasi ke-4 :
1  3  5  2  4  6  7  8
1  3  5  2  4  6  7  8
1  3  5  2  4  6  7  8
1  3  2  5  4  6  7  8
1  3  2  4  5  6  7  8 (iterasi keempat selesai)

Iterasi ke-5 :
1  3  2  4  5  6  7  8
1  3  2  4  5  6  7  8
1  2  3  4  5  6  7  8 (iterasi kelima selesai)

contoh program bubble sort :
import java.util.Scanner;
  
public class BubbleSort1{
    public static void main(String[] args){
        //buat Objek Scanner untuk menyimpan nilai masukkan
        Scanner scan = new Scanner(System.in);
        System.out.println("PROGRAM BUBBLE SORT PENGURUTAN DATA");
        //Masukkan jumlah nilai angka/data yang ingin dimasukkan
        System.out.print("Masukkan jumlah Data yang ingin diurutkan : ");
        int nilaimasuk = scan.nextInt();
         
        //Input nilai tiap Data
        int[] data = new int[nilaimasuk];//Array untuk menampung nilai tiap Data
        System.out.println();
        for(int a = 0; a < nilaimasuk; a++)
        {
            System.out.print("Nilai Data ke-"+(a+1)+" : ");
            data[a] = scan.nextInt();
        }
         
        //Tampilkan Data Sebelum di Sorting
        System.out.println("\nurutan data Sebelum di Sorting");
        for(int a = 0; a < nilaimasuk; a++){
            System.out.print(data[a]+" ");
        }
         
        //Proses Bubble Sort
        System.out.println("\nProses Bubble Sort");
        for(int a = 0; a < nilaimasuk; a++)
        {
           System.out.println("Iterasi ke-"+(a+1)+" :"); //untuk menampilkan jumlah iterasi keberapa
            for(int b = 0; b < nilaimasuk; b++)//perulangan bersarang untuk menampilkan iterai
            System.out.print(data[b]+"  "); //untuk menampilkan nilai perulangan iterasi
           
           /*
           untuk menampilkan note atau tanda apakah ada pertukaran nilai atau tidak
           */

            System.out.println("\tBandingkan nilai "+data[0]+" dengan "+data[1]);
            for(int b = 0; b < nilaimasuk-1; b++)
            {
              String note =("\tTidak ada pertukaran nilai");
                if(data[b] > data[b+1])
                {
                    //    proses pertukaran nilai Data
                    note = "\tnilai "+data[b]+" ditukar dengan nilai "+data[b+1];
                    int tampung = data[b];//variabel tampung Sebagai pihak ketiga untuk menampung nilai sementara dari data[b]
                    data[b] = data[b+1];   
                    data[b+1] = tampung;
                     
                }
             
                if(b < nilaimasuk-(a+1))
                {
                    for(int c = 0; c < nilaimasuk; c++)
                        System.out.print(data[c]+"  ");
                    System.out.println(note);
                }
            }
 
            System.out.println("\n");
        }
         
        //    menampilkan Data Setelah di Sorting
        System.out.print("urutan data Sesudah di Sorting : ");
        for(int a = 0; a < nilaimasuk; a++)
            System.out.print(data[a]+"  ");
 System.out.println();
 System.out.println("\tTERIMAKASIH SUDAH MENCOBA PROGRAMNYA");

    }
}

Penjelasan kodingan ada di link di bawah ini:
https://www.youtube.com/watch?v=ObF1qPsPBuY


Terimakasih sudah scroll sampai akhir...semoga bermanfaat ya!


Komentar