algoritma buble sort dan sourcode dengan pemrograman PHP, Java dan C++

buble sort adalah teknik mengurutkan data dari yang dilakukan secara berangsur-angsur metode ini seperti gelembung yang keluar dari gelas soda.  Bubble sort mengurutkan data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. 

  • jika elemen sekarang  lebih besar dari elemen berikutnya maka elemen tersebut ditukar (untuk pengurutan ascending) 
  • jika elemen sekarang lebih kecil daripada elemen berikutnya, maka kedua elemen  tersebut ditukar (untuk pengurutan descending). 
author : Swfung8 
algoritma ini seolanh 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.

contoh 

Langkah Bubble Sort secara ascending

5, 12, 3, 19, 1, 47

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

Langkah Bubble Sort Secara Descending

 5, 12, 3, 19, 1, 47

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

contoh program buble short dengan ascending

 pemrograman Java



hasilnya adalah : 




pemrograman PHP




Hasilnya adalah


pemrograman C++



Hasilnya adalah


pemrograman C



Hasilnya adalah 




Contoh Buble sort Secara Descending

Pemrograman Java


hasilnya adalah :

Pemrograman C


hasilnya adalah










REFERENSI DAFTAR PUSTAKA

  1. https://www.geeksforgeeks.org/bubble-sort/
  2. https://teknojurnal.com/pengertian-algoritma-bubble-sort/
  3. https://lunarphue.wordpress.com/information-technology/asd/macam-macam-sorting/
  4. https://www.codepolitan.com/algoritma-bubble-sort-dengan-java


Post a Comment

0 Comments