Bubble Sort

  • Upload
    cherys

  • View
    68

  • Download
    0

Embed Size (px)

Citation preview

Algoritma Bubble Sort Menggunakan Bahasa CAlgoritma 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

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

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

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

Pengulangan luar kelima i=4, pengulangan dalam dilakukan dari j=5 sampai dengan j=5. Pada pengulangan ini tidak terjadi pengulangan karena array sudah terurut. Maka hasilnya sama dengan pengulangan sebelumnya. Berikut kode dalam bahasa C #include #include int main() { int arr[6]={12, 48, 9, 20, 7, 34}; //Inisialisasi array yang akan digunakan untuk sorting int i, j, test; int temp; for(i=0;ii;j--) { if(arr[j]