Selain dengan menggunakan metode ‘Penyisipan Langsung
(Straight Insertion Sort)’, kita juga dapat menggunakan metode
‘Penukaran (Exchange Selection)’ atau yang lebih kita kenal dengan
istilah metode ‘Gelembung (Bubble Sort)’.
Apa itu ‘Bubble Sort’ ?
Metode ‘Bubble Sort’ merupakan metode pertama yang
paling banyak dipelajari oleh programmer. Karena lebih sederhana. Akan
tetapi ‘Bubble Sort’ sendiri memiliki kelemahan/kekurangan. Seperti :
-
‘Bubble Sort’ tidak efisien dan menyita lebih banyak waktu prosessor dibandingkan dengan metode sorting yang lain.
-
Penggunaan ‘Bubble Sort’ masih dapat terlihat baik jika jumlah data/elemen yang di inputkan tidak lebih dari 30 atau kurang dari 30 elemen.
Metode gelembung / penukaran adalah metode yang mendasarkan penukaran 2 buah elemen untuk mencapai keadaan urut yang diinginkan.
Berikut ini adalah contoh program dengan menggunakan metode ‘Bubble Sort’ :
#include
<stdio.h>
#include
<stdlib.h>
#include
<conio.h>
#define
MAX 10
int
Data[MAX];
int
i;
void
masukkan ()
{
printf ("Masukkan data sebanyak
10 : \n\n");
for (i=1; i<MAX; i++)
{
printf("Data ke %d
: ", i);
scanf("%d",
&Data[i]);
}
for (i=1; i<MAX; i++)
{
printf(" %d ",
Data[i]);
}
}
void
Tukar (int *a, int *b)
{
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void
BubbleSort()
{
int j;
for(i=1; i<MAX-1; i++)
for(j=MAX-1; j>=i;
j--)
if(Data[j-1]
> Data[j])
Tukar(&Data[j-1],
&Data[j]);
}
void
keluaran ()
{
printf ("\n");
printf
("-----------------------------\n");
printf ("Data yang telah
diurutkan : \n\n");
printf ("Ascending : ");
for (i=1; i<MAX; i++)
{
printf(" %d ",
Data[i]);
}
}
int
main()
{
masukkan();
BubbleSort();
keluaran();
scanf("%d");
return(0);
}
hasilnya akan seperti pada gambar dibawah ini :
selesai sudah program Bubble Sort kita ini..
Selamat berjuang dan belajar dan terus belajar.
Artikelnya menarik kak, ini saya juga punya artikel tentang Bubble Sort, semoga dapat saling melengkapi
ReplyDeleteBubble Sort dalam Bahasa C (Materi + Koding)