1. Bubble Sort
2. Selection Sort
3. Insertion Sort
4. Quick Sort
5. Shell Short
6. Merge Sort
7. Radix Sort
8. Heap Sort
Dan pada kesempatan kali ini, saya akan membahas tentang motede Bubble Sort. Dilihat dari namanya metode ini memiliki arti yaitu pengurutan gelembung, mungkin dikarenakan proses pengurutannya menggunakan bubble atau exchange. Untuk lebih jelasnya silahkan perhatikan kode berikut ini, sebelumnya saya anggap kalian telah memahami dan mengerti tentang array dan perulangan, karna ke-2 fungsi ini lah yg menjadi komponen utama pada metode pengurutan data.
import java.util.Scanner;
public class bubble{
public static void main(String[] args){
Scanner show = new Scanner(System.in);
int[] angka = new int[10];
for(int a= 0; a<= 9; a++){
System.out.print("Masukan angka ke-"+(a+1)+" : ");
angka[a] = show.nextInt();
}
for (int j= 0; j<= 8; j++) {
for (int k= j+1; k<= 9; k++) {
if(angka[j] > angka[k]){
int temp = angka[j];
angka[j] = angka[k];
angka[k] = temp;
}
}
}
System.out.println("\n\n***Data Setelah Diurutkan Dengan Bubble Sort***");
for(int i=0; i<10; i++){
System.out.print(angka[i]+" ");
}
}
}
Fokuskan perhatian kalian pada potongan kode berikut ini. Karena kode berikut inilah yg merupakan metode dari bubble sort tersebut.
for (int j= 0; j<= 8; j++) {
for (int k= j+1; k<= 9; k++) {
if(angka[j] > angka[k]){
int temp = angka[j];
angka[j] = angka[k];
angka[k] = temp;
}
}
}
Algortitma
-. Terdapat perulangan bersarang pada potongan kode tersebut yaitu, for(int j) dan for(int k), dimana batas perulangan for(int j) adalah 0 sampai 8, dan perulangan for(int k) adalah j+1 sampai 9.
-. perulangan pertama dilakukan pengkondisian/perbandingan pada Angka[j] dan Angka[k], yaitu Angka[indeks ke-0], dan Angka[indeks ke-1], jika nilai pada Angka[j]lebih besar dari nilai Angka[k], maka nilai dari Angka[j] disimpan terlebih dahulu pada variabel tamp (int tamp = Angka[j]), kemudian nilai pada array Angka[j] diubah nilainya denganmenggunakan nilai dari Angka[k] (Angka[j] = Angka[k]), dan selanjutnya nilai pada Angka[k], di ubah nilainya dengan menggunakan nilai yg ada pada variabel tamp (yg sebelumnya adalah nilai dari array Angka[j]). Sehingga kesimpulannya adalah jika nilai pada Angka[j] lebih besar dari nilai pada Angka[k], maka
posisi nilai nya diubah saling bertukaran.
-. Pada perulangan selanjutnya, akan menbandingkan antara indeks ke-0 dengan indeks ke-2, kemudian indeks ke-0 dengan indeks ke-3, sampai seterusnya hingga akhir perbandingan yaitu indeks ke-7 dengan indeks ke-8.
Screenshot Output
Peta Perbandingan Pada Setiap Perulangan (dimulai dari perulangan 1 hingga akhir)
Kita ambil contoh bahwa nilai yg harus diurutkan adalah 4 buah (4, 1, 3, 2).
1. Membandingkan indeks ke 0 dengan 1
2. Membandingkan indeks ke 0 dengan 2
3. Membandingkan indeks ke 0 dengan 3
Sampai disini, nilai terkecil sudah berada pada indeks ke-0 (awal). ==> 1, 4, 3, 2
4. Membandingkan indeks ke 1 dengan 2
5. Membandingkan indeks ke 1 dengan 3
Sampai disini, nilai terkecil kedua sudah berada pada indeks ke-1. ==> 1, 2, 4, 3
6. Membandingkan indeks ke 2 dengan 3
Sampai disini, nilai terkecil ketiga sudah berada pada indeks ke-2, sehingga proses ini adalah proses terakhir, yg mana data telah terurut. ==> 1, 2, 3, 4
0 comments:
Post a Comment
https://www.instagram.com/endskuulzyr027st.blogspot.com_/