Metode ini merupakan metode yang paling sederhana dan paling tidak efisien, karena memerlukan waktu yang relatif lebih lama dibandingkan dengan metode-metode yang lainnya. Konsep dasar dari Bubble sort ialah membandingkan elemen yang sekarang degan elemen yang berikutnya, jika elemen sekarang > elemen berikutnya (untuk ascending), maka dilakukan proses penukaran. Proses sorting dapat dimulai dari data awal atau data akhir. Contoh dari proses Sorting dengan menggunakan metode Bubble Sort :
Array A sebelum diurutkan dengan metode gelembung :
25 | 22 | 18 | 20 | 15 |
A[1] | A[2] | A[3] | A[4] | A[5] |
Di sini kita akan mengurutkan array tersebut secara menaik, yaitu dengan mengapungkan nilai terkecil ke posisi teratas (paling kiri). Proses ini tentu akan dilakukan dengan menggunakan pertukaran antar elemen array. Tahapan-tahapan yang harus dilakukan adalah sebagai berikut.
Tahap 1
Mulai dari A[5] sampai A[2], lakukan perbandingan nilai antara A[k] dan A[k-1] dimana variabel k mewakili indeks array yang sedang aktif. Apabila nilai A[k] lebih kecil, maka tukarkan nilai A[k] dengan A[k-1]. Sampai di sini, array tersebut akan menjadi seperti berikut.
Hasil Pengurutan Array A tahap 1
15 | 22 | 18 | 20 | 25 |
A[1] | A[2] | A[3] | A[4] | A[5] |
Tahap 2
Mulai dari A[5] sampai A[3], lakukan proses seperti pada tahap 1 sehingga array akan menjadi seperti berikut.
Hasil Pengurutan Array A tahap 2
15 | 20 | 18 | 2 | 25 |
A[1] | A[2] | A[3] | A[4] | A[5] |
Tahap 3
Mulai dari A[5] sampai A[4], lakukan proses seperti pada tahap 1 dan 2 sehingga array akan menjadi seperti berikut.
Hasil Pengurutan Array A tahap 3
15 | 18 | 20 | 22 | 25 |
A[1] | A[2] | A[3] | A[4] | A[5] |
Tahap 4
Tahap ini merupakan tahap terakhir dimana kita akan melakukan perbandingan terhadap nilai dari elemen terakhir (A5]) dengan elemen terakhir-1 (A[4]). Apabila nilai A[5] lebih kecil maka tukarkan nilainya dengan A[4] sehingga array A di atas akan terurut secara menaik seperti yang tampak berikut ini
15 | 18 | 20 | 22 | 25 |
A[1] | A[2] | A[3] | A[4] | A[5] |
0 comments:
Posting Komentar