Friday, August 9, 2019

Bubble Sort

Algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending).  Algoritma Bubble Sort adalah algoritma sorting paling sederhana. proses pengurutannya mirip seperti gelembung. Terdapat proses pertukaran atau istilah kerennya swapping.

Membuat urutan pada angka yang masih acak, baik dari yang terbesar ataupun dari yang terkecil (ascending / descending)


Algoritma ini seolah olah menggeser satu per satu elemen dari kenan ke kiri atau kiri ke kanan. tergantung jenis pengurutannya. Ketika suatu proses telah selesai, maka bubble sort akan mengalami proses, demikian seterusnya.


Bubble sort berhenti jika seluruh array telah diperiksa dan tidak ada pertukaran lagi yang bisa dilakukan,serta tercapai pengurutan yang telah diinginkan


     5  1  4  2  8

Kondisi awal adalah pada posisi J = 0. Pertama, kita bandingkan antara Bil[0] dengan Bil[1]. Bil[0] = 5 sedangkan Bil[1] = 1. Berdasarkan aturan bubble sort, isi dari Bil[0] tidak sesuai letaknya karena lebih besar dari isi Bil[1]. Sehingga, kita perlu menukar isi dari dua elemen array ini, sampai Bil[0] = 1 dan Bil[1] = 5 (perhatikan baris pada J = 1). Langkah berikutnya kita membandingkan Bil[1] dengan Bil[2]. Bil[1] = 5 dan Bil[2] = 4, sehingga kembali kita harus menukar isi dari elemen ini (perhatikan baris J = 2). Hal ini terus dilakukan sampai pada perbandingan Bil[3] dengan Bil[4].


  Algoritma :
1. Tentukan jumlah bilangan yang akan diinput
2. Inputkan bilangan 4, 2, 3, 8, 5
3. Bandingkan bilangan 1> / < bilangan 2
4. Jika benar pindahkan bilangan 2 ke bilangan siap
5. Pindahkan bilangan 1 ke bilangan 2
6. Pindahkan bilangan sisip ke bilangan 1
7. Jika tidak lanjutkan proses
8. Bandingkan bilangan 2> / < bilangan 3
9. Jika benar pindahkan bilangan 3 ke bilangan siap
10. Pindahkan bilangan 2 ke bilangan 3
11. Pindahkan bilangan sisip ke bilangan 2
12. Jika tidak lanjutkan proses
13. Ulangi langkah no 3 hingga hasil sesuai yang 
      diinginkan 

No comments:

Post a Comment