Implementasi Algoritma Sorting Bubble Sort dalam Bahasa Pemrograman Java
Sorting Algorithm (Algoritma Pengurutan)
int kumpulan[] = {3, 5, 2, 1, 4};
lalu kita ditantang untuk mengurutkan nilai-nilai dari kumpulan data tersebut menjadi seperti berikut
{1, 2, 3, 4, 5}
//index : 0 1 2 3 4 int kumpulanAngka[] = {5, 2, 1, 4, 3}
Berikut adalah kode awalnya :
package com.informatikakoding;
import java.util.Arrays;
public class BubbleSort {
public static void main(String args[]){
int kumpulanAngka[] = {5, 2, 1, 4, 3};
System.out.println("Nilai kumpulanAngka sebelum diurutkan : ");
System.out.println(Arrays.toString(kumpulanAngka));
}
}
Saat kode diatas dijalankan, maka akan menampilkan output sebagai berikut
Nilai kumpulanAngka sebelum diurutkan : [5, 2, 1, 4, 3]
Lalu kita terapkan algoritma bubble sort kedalam kode
package com.informatikakoding;
import java.util.Arrays;
public class BubbleSort {
public static void main(String args[]){
int kumpulanAngka[] = {5, 2, 1, 4, 3};
System.out.println("Nilai kumpulanAngka sebelum diurutkan : ");
System.out.println(Arrays.toString(kumpulanAngka));
// Bubble Sort Algorithm
for(int i = 0; i < kumpulanAngka.length; i++){
for(int j = 0; j < kumpulanAngka.length - i - 1; j++){
if (kumpulanAngka[j] > kumpulanAngka[j+1]) {
int temp = kumpulanAngka[j];
kumpulanAngka[j] = kumpulanAngka[j+1];
kumpulanAngka[j+1] = temp;
}
}
}
System.out.println("Nilai kumpulanAngka setelah diurutkan : ");
System.out.println(Arrays.toString(kumpulanAngka));
}
}
Apabila kita menjalakankan kode diatas, maka akan menampilkan output sebagai berikut
Nilai kumpulanAngka sebelum diurutkan :
[5, 2, 1, 4, 3]
Nilai kumpulanAngka setelah diurutkan :
[1, 2, 3, 4, 5]
Proses Algoritma Bubble Sort Bekerja
Perulangan Pertama :
( 5 2 1 4 3 ) –> ( 2 5 1 4 3 ), Tukar posisi karena 5 > 2
( 2 5 1 4 3 ) –> ( 2 1 5 4 3 ), Tukar posisi karena 5 > 1
( 2 1 5 4 3 ) –> ( 2 1 4 5 3 ), Tukar posisi karena 5 > 4
( 2 1 4 5 3 ) –> ( 2 1 4 3 5 ), Tukar posisi karena 5 > 3
Perulangan Kedua :
( 2 1 4 3 5 ) –> ( 1 2 4 3 5 ), Tukar posisi karena 2 > 1
( 1 2 4 3 5 ) –> ( 1 2 4 3 5 )
( 1 2 4 3 5 ) –> ( 1 2 3 4 5 ), Tukar posisi karena 4 > 3
( 1 2 3 4 5 ) –> ( 1 2 3 4 5 )
Saat semua elemen sudah terurut maka proses yang terakhir akan melakukan pengecekan saja tanpa ada proses pertukaran posisi pada elemen array
Perulangan Ketiga :
( 1 2 3 4 5 ) –> ( 1 2 3 4 5 )
( 1 2 3 5 6 ) –> ( 1 2 3 4 5 )
( 1 2 3 4 5 ) –> ( 1 2 3 4 5 )
( 1 2 3 4 5 ) –> ( 1 2 3 4 5 )
Bonus :
Apabila ingin mengurutkan nilai-nilai pada array dari yang terbesar ke yang terkecil cukup merubah tanda > pada if menjadi <
Mantap
ReplyDelete