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
Posting Komentar