“Ascending”
Source Code
import java.util.Scanner;
public class bubble_sort{
public static void main(String[] args){
System.out.println("\t\t*Mengurutkan Angka Menggunakan Teknik
Bubble Sort*");
Scanner masukkan = new Scanner(System.in);
int[] angka = new int[5];
for(int a=0;a<=4;a++){
System.out.print("SIlahkan masukkan angka ke-"+(a+1)+" :
");
angka[a] = masukkan.nextInt(); }
for (int x=0;x<=3;x++) {
for (int y=x+1;y<=4;y++) {
if(angka[x]>angka[y]){
int aryani= angka[x];
angka[x] = angka[y];
angka[y] = aryani;
} }
}
for (int b=0;b<angka.length;b++ ) {
System.out.println("Angka ke-"+(b+1)+" :
"+angka[b]); }}}
Print Screen Source
Code

Output

Penjelasan Souce
Code
import java.util.Scanner; // untuk menginput
data Scanner
public class bubble_sort{ //nama kelas
public static void main(String[] args){ //main method
System.out.println("\t\t*Mengurutkan Angka Menggunakan Teknik
Bubble Sort*");
//menampilkan judul program
Scanner masukkan = new Scanner(System.in); /*untuk memasukkan
input objek Scanner*/
int[] angka = new int[5]; /*mendeklarasikan
variabel array dengan menggunakan tipe data integer yang dapat menyimpan 5
nilai integer*/
for(int a=0;a<=4;a++){ //looping 1 hingga
5
System.out.print("SIlahkan masukkan angka ke-"+(a+1)+" :
"); /*
menampilkan kalimat Silahkan masukkan angka ke-n dengan melakukan nilai perulangan yang ditambah 1 dan dengan diikuti tanda ( : )*/
angka[a] = masukkan.nextInt(); //meminta nilai integer kepada user
}
for (int x=0;x<=3;x++) { //looping yang mengalami kenaikan
for (int y=x+1;y<=4;y++) { /*x+1 artinya data akan dibandingkan dengan indeks yang dimulai dari
indeks+1 sampai maksimal indeks tersebut*/
if(angka[x]>angka[y]){ /*sebuah kondisi dimana bila user menginputkan nilai maka akan dikelola
dengan x lebih dari y*/
int aryani= angka[x];
angka[x] = angka[y];
angka[y] = aryani;
/*data akan ditukar posisi indeksnya jika seleksinya
bernilai benar dengan variabel aryani yang menjadi perantara pertukaran dan x
akan diisi oleh y serta x akan memerlukan tempat nilai sebelumnya agar nilai
itu dapat disimpan pada y*/
}
}
}
for (int b=0;b<angka.length;b++ ) { /*melakukan
perulangan sama dengan pendeklasian
diatasnya yaitu dari 1 hingga 5*/
System.out.println("Angka ke-"+(b+1)+" :
"+angka[b]); /*untuk menampilkan Angka ke- dengan perulangan b yang setiap nilai
ditambah 1 dan tanda ( : ) dengan hasil pengsortiran*/
}
}
}
Algoritma Bubble
Sort
1. Perulangan luar dimulai dari indeks 0 diakhiri dengan indeks 4.
2. Perulangan luar dimulai dari indeks
x+1 artinya data akan dibandingkan dengan indeks yang dimulai dari
indeks +1 sampai maksimal indeks.
3. Data akan ditukar posisi indeksnya jika posisi tersebut bernilai benar.
4. Yang algoritma penukaran data dari indeks yang dibandingkan, variabel
aryani berfungsi untuk menjadi perantara pertukaran, dimana saat indeks x kan
di isi oleh nilai indeks y maka indeks x
memerlukan penyimpanan sementara untuk nilai sebelumnya agar nilai tersebut
dapat disimpan di indeks y.
Contoh Kasus
Misalkan data : 6, 4, 3, 2 dan
kita ingin mengurutkan data ini (ascending) dengan menggunakan bubble sort.
Maka proses yang terjadi :
Iterasi ke-1: 4, 6, 3, 2 Ã 4, 3, 6, 2 Ã 4, 3, 2, 6 (ada 3 pertukaran)
Iterasi ke-2: 3, 4, 2, 6 Ã 3, 2, 4, 6 Ã 3, 2, 4, 6 (ada 2 pertukaran)
Iterasi ke-3: 2, 3, 4, 6 Ã 2, 3, 4, 6 Ã 2, 3, 4, 6 (ada 1 pertukaran)
Iterasi ke-4: 2, 3, 4, 6 Ã 2, 3, 4, 6 Ã 2, 3, 4, 6 (ada
0 pertukaran) Ã proses selesai
Descending
Sama halnya dengan ascending, hanya saja descending
memiliki kondisi data ke-i <data ke-i+1.
Kedua cara diatas dapat dirangkai lagi menjadi sortiran yang lebih hebat jika anda memahaminya, jadi "SELAMAT BELAJAR".
kalau merasa kurang mengerti dan kurang paham. Silahkan bertanya pada kolom komentar dibawah.
👇👇👇
"Jika ingin menjadikannya sebagai referensi adakalanya mencatumkan sumber".
SEMANGAT 45 😃😃