Page 122 - Project Akhir Media Pendidikan
P. 122

6.9.1.  Menggunakan Metode Gelembung (Bubble Sort)

                      Menurut  sumber  yang  ada,  ide  pembentukan  metode  ini  diinspirasi  oleh  adanya
                      pengapungan gelembung sabun yang terdapat pada permukaan air. Kita semua tahu
                      bahwa berat jenis dari gelembung sabun lebih kecil daripada berat jenis  air sehingga
                      menyebabkan gelembung sabun tersebut selalu terapung ke atas permukaan. Sekarang
                      perhatikan  sebuah  batu  yang  tenggelam  di  dalam  air,  hal  ini  tentu  disebabkan  oleh
                      karena  berat  jenis  batulebih  besar  daripada  berat  jenis  air.  Fenomena  tersebut
                      menunjukkan  bahwa  zat  yang  lebih  ringan  akan  dilempar  ke  atas  (diapungkan),
                      sedangkan benda yang lebih berat akan dilempar ke bawah (ditenggelamkan).

                      Ide ‘pengapungan’ di atas kemudian digunakan untuk membentuk algoritma pengurutan
                      data, yaitu dengan melempar elemen array terkecil ke bagian ujung kiri array (dijadikan
                      sebagai elemen pertama). Proses tersebut tentunya dilakukan dengan melakukan pertukaran
                      antara elemen array.

                      Sebagai  contoh,  apabila  kita  mempunyai  sebuah  array  (misalnya  dengan  nama  A)
                      dengan 5 buah elemen sebagai berikut.

                         40      4      30       8       7
                       A[0]  A[1]  A[2]  A[3]          A[4]

                      Dalam metode ini, terdapat beberapa tahapan untuk membuat elemen-elemen di atas
                      menjadi terurut secara menaik. Adapun tahapan tersebut adalah sebagai berikut.

                                                                                               Tahapan-1
                      Mulai dari elemen terakhir (A[4]) sampai elemen kedua (A[1]), lakukan perbandingan
                      nilai antara A[x] dengan A[x-1] (dimana x mewakili indeks yang sedang aktif). Apabila
                      A[x] lebih kecil maka lakukan pertukaran dengan A[x-1]. Untuk kasus di atas, elemen
                      array  akan  berubah  menjadi  seperti  di  bawah  ini.

                         4      40      7       30       8
                       A[0]  A[1]  A[2]  A[3]          A[4]

                                                                                               Tahapan-2
                      Mulai dari A[4] sampai A[2], lakukan kembali perbandingan nilai seperti pada
                      tahapan-1 sehingga sekarang array di atas akan terlihat seperti di bawah ini.

                         4       7      40       8      30
                       A[0]  A[1]  A[2]  A[3]          A[4]

                                                                                               Tahapan-3
                      Mulai dari A[4] sampai A[3], lakukan kembali perbandingan nilai seperti pada
                      tahapan-1. Proses pada tahapan ini akan memberikan hasil seperti di bawah ini.

                         4       7      8       40      30
                       A[0]  A[1]  A[2]  A[3]          A[4]

                                                                                               Tahapan-4
                      Tahapan ini adalah tahapan terakhir dimana kita akan melakukan perbandingan elemen
                      terakhir (A[4])  dengan  elemen  terakhir-1  (A[3]).  Apabila  A[4] lebih  kecil,  maka

                                                          118
   117   118   119   120   121   122   123   124   125   126   127