0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan6 halaman

Algoritma Bubble Sort Dengan Java

7th4t4hg4

Diunggah oleh

Syahrul Rasyid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
35 tayangan6 halaman

Algoritma Bubble Sort Dengan Java

7th4t4hg4

Diunggah oleh

Syahrul Rasyid
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai DOCX, PDF, TXT atau baca online di Scribd

Algoritma Bubble Sort dengan Java

Dalam perancangan dan analisis pemrograman, ada beberapa metode umum yang wajib
dipelajari seorang programmer dalam melatih pola pikir algoritmanya yakni, Algoritma Sorting.
Pada Algoritma Sorting terdapat banyak metode. Beberapa metode yang saya ketahui ialah,
Bubble Sort, Selection Sort, Insertion Sort, Merge Sort dan masih banyak lagi. Nah, pada
kesempatan ini saya mau menulis tutorial tentang algoritma dari metode Bubble Sort.
Bubble Sort merupakan salah satu metode sorting yang menurut saya cukup gampang untuk
dipelajari. Kenapa gampang? Karena, pada dasarnya Bubble Sort hanya melakukan pemindahan
value dari kiri ke kanan untuk Ascending dan dari kanan ke kiri untuk Descending. Seperti nama
metodenya yakni, "Bubble Sort" yang berarti menggelembungkan. "Apa yang
digelembungkan?" value yang ingin di sorting.
Sebelum masuk ke program, berikut syarat dan langkah-langkah pada metode Bubble Sort:

1. Jumlah iterasi sama dengan banyaknya bilangan dikurang 1.


2. Setiap iterasi, jumlah pertukaran bilangannya sama dengan banyaknya bilangan.
3. Dalam Bubble Sort, walaupun deretan bilangan tersebut sudah ter-sorting maka, proses
sorting akan tetap dilakukan.
4. Tidak ada perbedaan cara untuk Bubble Sort Ascending dan Descending.

Mungkin bagi Anda yang pemula masih bingung dengan kalimat - kalimat diatas, khususnya
untuk kata iterasi. Baik saya jelaskan secara sederhana apa itu iterasi, sebenarnya iterasi ialah
proses yang dilakukan untuk meng-sorting 1 buah bilangan atau dengan kata lain, iterasi bisa
juga disebut dengan proses.
Sekarang saatnya untuk contoh kasus. Pada contoh kasus ini, saya akan menjelaskan untuk kasus
Ascending dan Descending

Ascending
Berikut diberikan sebuah deretan bilangan seperti berikut:
5, 12, 3, 19, 1, 47
Langkah Bubble Sort:
Iterasi 1:
5, 12, 3, 19, 1, 47 --> Tidak ada pertukaran. (5 < 12 == true)
5, 3, 12, 19, 1, 47 --> Ada pertukaran. (12 < 3 == false)
5, 3, 12, 19, 1, 47 --> Tidak ada pertukaran. (12 < 19 == true)
5, 3, 12, 1, 19, 47 --> Ada pertukaran. (19 < 1 == false)
5, 3, 12, 1, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Iterasi 2:
3, 5, 12, 1, 19, 47 --> Ada petukaran. (5 < 3 == false)
3, 5, 12, 1, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
3, 5, 1, 12, 19, 47 --> Ada pertukaran. (12 < 1 == false)
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Iterasi 3:
3, 5, 1, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
3, 1, 5, 12, 19, 47 --> Ada pertukaran. (5 < 1 == false)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
3, 1, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Iterasi 4:
1, 3, 5, 12, 19, 47 --> Ada pertukaran. (3 < 1 == false)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Iterasi 5:
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (1 < 3 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Iterasi 6:
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (1 < 3 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (3 < 5 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (5 < 12 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (12 < 19 == true)
1, 3, 5, 12, 19, 47 --> Tidak ada pertukaran. (19 < 47 == true)
Jadi, hasil akhir deretan bilangan diatas setelah di Bubble Sort secara Ascending ialah
1, 3, 5, 12, 19, 47

Descending
Masih menggunakan deretan bilangan yang seperti contoh diatas.
5, 12, 3, 19, 1, 47
Langkah Bubble Sort:
Iterasi 1:
12, 5, 3, 19, 1, 47 --> Ada pertukaran. (5 > 12 == false)
12, 5, 3, 19, 1, 47 --> Tidak ada pertukaran. (5 > 3 == true)
12, 5, 19, 3, 1, 47 --> Ada pertukaran. (3 > 19 == false)
12, 5, 19, 3, 1, 47 --> Tidak ada pertukaran. (3 > 1 == true)
12, 5, 19, 3, 47, 1 --> Ada pertukaran. (1 > 47 == false)
Iterasi 2:
12, 5, 19, 3, 47, 1 --> Tidak ada pertukaran. (12 > 5 == true)
12, 19, 5, 3, 47, 1 --> Ada pertukaran. (5 > 19 == false)
12, 19, 5, 3, 47, 1 --> Tidak ada pertukaran. (5 > 3 == true)
12, 19, 5, 47, 3, 1 --> Ada pertukaran. (3 > 47 == false)
12, 19, 5, 47, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
Iterasi 3:
19, 12, 5, 47, 3, 1 --> Ada pertukaran. (12 > 19 == false)
19, 12, 5, 47, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
19, 12, 47, 5, 3, 1 --> Ada pertukaran. (5 > 47 == false)
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
Iterasi 4:
19, 12, 47, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
19, 47, 12, 5, 3, 1 --> Ada pertukaran. (12 > 47 == false)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
19, 47, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
Iterasi 5:
47, 19, 12, 5, 3, 1 --> Ada pertukaran. (19 > 47 == false)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 ==true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
Iterasi 6:
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (47 > 19 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (19 > 12 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (12 > 5 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (5 > 3 == true)
47, 19, 12, 5, 3, 1 --> Tidak ada pertukaran. (3 > 1 == true)
Jadi, hasil akhir deretan bilangan diatas setelah di Bubble Sort secara Descending ialah
47, 19, 12, 5, 3, 1
Gimana, gampangkan belajar Bubble Sort-nya. Perhatikan tiap langkahnya dimana, agar Anda
mudah memahaminya. Nah, it's time to coding.
Ascending

import [Link];
/**
*
* @author Tombilayuk
*
*/
public class BubbleSortAsc {
public static void main(String[] args) {
// Variable
int[] bilangan = {5, 12, 3, 19, 1, 47};

// Tampilkan bilangan
[Link]("Bilangan sebelum di sorting Bubble Sort :
"+[Link](bilangan));

// Proses Bubble Sort


[Link]("\nProses Bubble Sort secara Ascending:");
for(int a = 0; a < [Link]; a++) {

// Tampilkan proses Iterasi


[Link]("Iterasi "+(a+1));
for(int b = 0; b < [Link]-1; b++) { if(bilangan[b] >
bilangan[b+1]) {
// proses pertukaran bilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}
// Tampilkan proses pertukaran tiap iterasi
[Link]([Link](bilangan));
}
[Link]();
}

// Tampilkan hasil akhir


[Link]("Hasil akhir setelah di sorting:
"+[Link](bilangan));
}
}
Descending

import [Link];
/**
*
* @author Tombilayuk
*
*/
public class BubbleSortDesc {
public static void main(String[] args) {
// Variable
int[] bilangan = {5, 12, 3, 19, 1, 47};

//Tampilkan bilangan
[Link]("Bilangan sebelum di sorting Bubble Sort :
"+[Link](bilangan));

// Proses Bubble Sort


[Link]("\nProses Bubble Sort secara Descending:");
for(int a = 0; a < [Link]; a++) {
// Tampilkan proses Iterasi
[Link]("Iterasi "+(a+1));
for(int b = 0; b < [Link]-1; b++) {
if(bilangan[b] < bilangan[b+1]) {
// proses pertukaran bilangan
int temp = bilangan[b];
bilangan[b] = bilangan[b+1];
bilangan[b+1] = temp;
}

// Tampilkan proses pertukaran tiap iterasi


[Link]([Link](bilangan));
}
[Link]();
}

// Tampilkan hasil akhir


[Link]("Hasil akhir setelah di sorting:
"+[Link](bilangan));
}
}
Berikut hasil compile kedua program diatas.

Anda mungkin juga menyukai