Algoritma Bubble Sort Menggunakan Bahasa C

Algoritma bubble sort terinspirasi dari gelembung sabun yang naik ke permukaan air karena masa jenis gelembung sabun lebih ringan daripada air. Maka pada algoritma bubble sort kita akan ³mengapungkan´ elemen yang nilainya lebih kecil. Algoritma ini adalah algoritma pengurutan yang paling sederhana, maka dari itu sangat disarankan bagi orang-orang yang baru mengenal metode pengurutan karena ada banyak algoritma pengurutan yang lebih rumit. Baiklah langsung saja ke pembahasan mengenai algoritma bubble sort. Di dalam algoritma ini terdapat nested looping atau pengulangan bersarang. Pengulangan luar berfungsi sebagai pembatas dari pengulangan dalam. Pengulangan ini dilakukan sebanyak jumlah elemen dikurangi 1 Pengulangan dalam merupakan inti dari algoritma ini di dalamnya berisi perbandingan antara sebuah elemen dan elemen di belakangnya (di sebelah kirinya). Apabila elemen lebih kecil daripada elemen di belakangnya maka tukar posisi dari kedua elemen tersebut. Dengan cara ini maka pada akhir pengulangan luar akan didapatkan array yang terurut menaik. Sebagai contoh Algoritma bubble sort pada array berisi 6 elemen yang isinya sebagai berikut

Varibel-variabel yang saya gunakan dalam algoritma ini adalah: 1. 2. 3. 4. i, variabel untuk pengulangan luar j, variabel untuk pengulangan dalam arr, array of integer yang akan disorting/diurutkan temp, varibel untuk penampung nilai sementara ketika terjadi pertukaran isi elemen

Pengulangan luar pertama i=0, pengulangan dalam dilakukan dari j=5 sampai dengan j=1. Pada pengulangan ini terjadi 4 kali pertukaran, yaitu ketika j=4, j=3, j=2, dan j=1. Hasil dari pengulangan luar pertama adalah

Pengulangan luar kedua

Hasil dari pengulangan ini adalah Pengulangan luar keempat i=3. Pada pengulangan ini terjadi 1 kali pertukaran. yaitu ketika j=3 dan j=2. //Inisialisasi array yang akan digunakan untuk sorting int i. pengulangan dalam dilakukan dari j=5 sampai dengan j=5. Hasil dari pengulangan ini adalah Pengulangan luar ketiga i=2. 7. test. pengulangan dalam dilakukan dari j=5 sampai dengan j=4. Hasil dari pengulangan ini adalah Pengulangan luar kelima i=4. 34}. 9. int temp.i=1. Pada pengulangan ini terjadi 2 kali pertukaran. yaitu ketika j=4. 20.h> int main() { int arr[6]={12. j. pengulangan dalam dilakukan dari j=5 sampai dengan j=3.i++) //lakukan pengulangan sebanyak jumlah elemen dikurangi 1 . for(i=0.h> #include <stdlib. yaitu ketika j=5. Pada pengulangan ini tidak terjadi pengulangan karena array sudah terurut.i<5. Berikut kode dalam bahasa C #include <stdio. 48. Pada pengulangan ini terjadi 1 kali pertukaran. Maka hasilnya sama dengan pengulangan sebelumnya. pengulangan dalam dilakukan dari j=5 sampai dengan j=2.

i+1).j>i.i++) { printf("%d ". arr[j-1]=temp. for(i=0. } return 0. } } printf("Hasil sementara : "). } printf("\nHasil akhir : "). arr[i]).com/2011/06/04/algoritma-bubble-sort-menggunakan-bahasa-c/ .test++) { printf("%d ".j--) { if(arr[j]<arr[j-1]) //Apabila elemen lebih kecil daripada elemen di belakangnya { temp=arr[j].{ printf("Pengulangan ke-%d\n". for(j=5. } printf("\n\n"). for(test=0. arr[j]=arr[j-1].test<6.wordpress. } Sumber : http://cooretan.i<6. arr[test]).