Pengurutan Gelembung (Bubble Sort) Pada Bahasa C

Pada tulisan ini akan di bahas metode pengurutan Bubble. Jika ada pertama lebih besar dari data kedua maka dilakukan pertukaran temapat. Proses ini dilalukan secara terus menerus sampai tidak ada elemen yang layak untuk ditukar lagi. Proses Pengurutan

  • Misalkan mempunyai data larik {43,54,32,67,49}
  • Langkah 1 – Bandingkan data1 dengan data2. Jika data1>data2 maka tukar posisi. Jika data1<data2 tidak dilakukan pertukaran. Data larik{43,54,32,67,49}
  • Langkah 2 – Bandingkan data2dengan data3. Jika data2>data3 maka tukar posisi. Jika data2<data3 tidak dilakukan pertukaran. Data larik{43,32,54,67,49}
  • Langkah 3 – Bandingkan data3 dengan data4. Jika data3>data4 maka tukar posisi. Jika data3<data4 tidak dilakukan pertukaran. Data larik{43,32,54,67,49}
  • Langkah 4 – Bandingkan data4 dengan data5. Jika data4>data5 maka tukar posisi. Jika data4<data5 tidak dilakukan pertukaran. Data larik{43,32,54,49,67}
  • Langkah 5 – Bandingkan data1 dengan data2. Jika data1>data2 maka tukar posisi. Jika data1<data2 tidak dilakukan pertukaran. Data larik{32,43,54,49,67}
  • Langkah 6 – Bandingkan data2dengan data3. Jika data2>data3 maka tukar posisi. Jika data2<data3 tidak dilakukan pertukaran. Data larik{32,43,54,49,67}
  • Langkah 7 – Bandingkan data3 dengan data4. Jika data3>data4 maka tukar posisi. Jika data3<data4 tidak dilakukan pertukaran. Data larik{32,43,49,54,67}
  • Langkah 8 – Bandingkan data4 dengan data5. Jika data4>data5 maka tukar posisi. Jika data4<data5 tidak dilakukan pertukaran. Data larik{32,43,49,54,67}
  • Langkah-langkah diatas diulang terus sampai tidak terjadi pertukaran data sama sekali yang dalam artian data telah terurut.

Kode Program Pengurutan Gelembung

#include <stdio.h>

main(){

 int tabInt[100];
 int i,j,temp,tukar,n=100;

 //masukan data
 for(i=0;i<n;i++){
 tabInt[i]=n-i;
 }

 //keluarkan data
 for(i=0;i<n;i++){
 printf("%d ", tabInt[i]);
 }
 printf("n");

 do{
 /*inisialisasi nilai tukar sebelum ada pertukaran diset false */
 tukar = 0;
 /*pengulangan dan memeriksa apakah ada pertukaran */
 for(i=0; i<(n-1); i++){
 /*jika ada nilai yang dipertukarkan */
 if(tabInt[i] > tabInt[i+1]){
 /* menukar posisi elemen */
 temp = tabInt[i];
 tabInt[i] = tabInt[i+1];
 tabInt[i+1] = temp;
 tukar = 1;
 }
 }
 }while(tukar == 1);

 //keluarkan data
 for(i=0;i<n;i++){
 printf("%d ", tabInt[i]);
 }
}

Arah Pengurutan

Pengurutan dari kecil ke besar

if(tabInt[i] > tabInt[i+1]

Pengurutan dari besar ke kecil

if(tabInt[i] < tabInt[i+1]

Demikian penjelasan mengenai pengururan gelembung atau Bubble Sort. Silahkan eksplorasi lebih lanjut ke Rekursif pada Bahasa C

Block AdBlock - Powered by Admiral