Senin, 25 Desember 2017

Bubble Sort




Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).
Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.

                Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen array dan menukarnya apabila urutannya salah. Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma
ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya. Berikut ini adalah gambaran dari algoritma bubble sort.
Sorting menggunakan Bubble Sort :

6 5 4 8 1 7 2 3


Iterasi 1

6 5 4 8 1 7 2 3

1.       Ambil 2 angka paling kiri dari urutan angka diatas, yaitu angka 6 dan 5.

2.       Angka 6 dan 5 di bandingkan mana yang lebih kecil, angka dengan nilai terkecil akan di letakkan di sebelah kiri.

5 6 4 8 1 7 2 3

3.       Ambil angka 6 dan 4 kemudian, bandingkan kedua nya.

4.       Angka 4 bertukar posisi dengan angka 6.

5 4 6 8 1 7 2 3

5.       Ambil angka 6 dan 8 kemudian, bandingkan kedua nya.

6.       Ternyata angka 6 lebih kecil dari angka 8, jadi kedua angka tidak bertukar posisi.

7.       Ambil angka 8 dan 1 kemudian bandingkan kedua nya.

8.       Angka 8 bertukar posisi dengan angka 1.



5 4 6 1 8 7 2 3

9.       Ambil angka 8 dan 7 kemudian, bandingkan kedua nya.

10.   Angka 8 bertukar posisi dengan angka 7.

5 4 6 1 7 8 2 3



11.   Ambil angka 8 dan 2 kemudian, bandingkan kedua nya.

12.   Angka 8 bertukar posisi dengan angka 2.

5 4 6 1 7 2 8 3

13.   Ambil angka 8 dan 3 kemudian, bandingkan kedua nya.

14.   Angka 8 bertukar posisi dengan angka 3.



5 4 6 1 7 2 3 8







Iterasi 2

1.       Ambil angka 4 dan 5 kemudian, bandingkan kedua nya.

2.       Angka 4 bertukar posisi dengan angka 5.

4 5 6 1 7 2 3 8

3.       Ambil angka 5 dan 6, karena 6 lebih besar dari 5 mereka tidak bertukar posisi.

4.       Ambil angka 6 dan 1 kemudian, bandingkan kedua nya.

5.       Angka 6 bertukar posisi dengan angka 1 .

4 5 1 6 7 2 3 8

6.       Ambil angka 6 dan 7, karena 7 lebih besar dari 6 mereka tidak bertukar posisi.

7.       Ambil angka 7 dan 2 kemudian, bandingkan kedua nya.

8.       Angka 7 bertukar posisi dengan angka 2 .

4 5 1 6 2 7 3 8

9.       Ambil angka 7 dan 3 kemudian, bandingkan kedua nya.

10.   Angka 7 bertukar posisi dengan angka 3 .

4 5 1 6 2 3 7 8

11.   Ambil angka 7 dan 8, karena 8 lebih besar dari 7 mereka tidak bertukar posisi


Iterasi 3

1.       Ambil angka 4 dan 5, karena 5 lebih besar dari 4 mereka tidak bertukar posisi

2.       Ambil angka 5 dan 1 kemudian, bandingkan kedua nya.

3.       Angka 5 bertukar posisi dengan angka 1 .

4 1 5 6 2 3 7 8

4.       Ambil angka 5 dan 6, karena 6 lebih besar dari 5 mereka tidak bertukar posisi

5.       Ambil angka 6 dan 2 kemudian, bandingkan kedua nya.

6.       Angka 6 bertukar posisi dengan angka 2.

4 1 5 2 6 3 7 8

7.       Ambil angka 6 dan 3 kemudian, bandingkan kedua nya.

8.       Angka 6 bertukar posisi dengan angka 3 .

4 1 5 2 3 6 7 8

9.       Angka 6 dan 7 tidak bertukar tempat, karena 7 lebih besar dari 6

10.   Angka 7 dan 8 tidak bertukar tempat, karena 8 lebih besar dari 7



Iterasi 4

1.       Ambil angka 4 dan 1 kemudian, bandingkan kedua nya.

2.       Angka 4 bertukar posisi dengan angka 1.

1 4 5 2 3 6 7 8

3.       Ambil angka 4 dan 5, karena 5 lebih besar dari 4 mereka tidak bertukar posisi

4.       Ambil angka 5 dan 2 kemudian, bandingkan kedua nya.

5.       Angka 5 bertukar posisi dengan angka 2

1 4 2 5 3 6 7 8

6.       Ambil angka 5 dan 3 kemudian, bandingkan kedua nya.

7.       Angka 5 bertukar posisi dengan angka 3

1 4 2 3 5 6 7 8

8.       Angka 5 dan 6, karena 6 lebih besar dari 5 mereka tidak bertukar tempat

9.       Angka 6 dan 7, karena 7 lebih besar dari 6 mereka tidak bertukar tempat

10.   Angka 7 dan 8, karena 8 lebih besar dari 7 mereka tidak bertukar tempat


Iterasi 5

1.       Ambil angka 1 dan 4, karena 4 lebih besar dari 1 mereka tidak bertukar posisi

2.       Ambil angka 4 dan 2 kemudian, bandingkan kedua nya.

3.       Angka 4 bertukar posisi dengan angka 2

1 2 4 3 5 6 7 8

4.       Ambil angka 4 dan 3 kemudian, bandingkan kedua nya.

5.       Angka 4 bertukar posisi dengan angka 3

1 2 3 4 5 6 7 8

6.       Angka 4 dan 5, karena 5 lebih besar dari 4 mereka tidak bertukar tempat

7.       Angka 5 dan 6, karena 6 lebih besar dari 5 mereka tidak bertukar tempat

8.       Angka 6 dan 7, karena 7 lebih besar dari 6 mereka tidak bertukar tempat

9.       Angka 7 dan 8, karena 8 lebih besar dari 7 mereka tidak bertukar tempat



Semua urutan angka sudah sesuai dengan ketentuan yaitu di urutkan dari yang terkeccil ke yang terbesar. Proses bubble sort berlangsung hingga 5 iterasi.

Tidak ada komentar:

Posting Komentar