Sorting adalah proses mengatur sekumpulan objek sesuai aturan tertentu secara naik atau turun. Bubble sort adalah salah satu algoritma sorting yang mengurutkan elemen dengan menukar elemen yang lebih besar ke belakang secara berulang sampai terurut. Contoh bubble sort mengurutkan 7 bilangan dari 9 7 6 3 8 2 10 menjadi 2 3 6 7 8 9 10.
2. SORTING (PENGURUTAN)
Sorting adalah proses mengatur sekumpulan objek
menurut aturan atau susunan tertentu.
Urutan objek tersebut dapat
menaik (ascending = dari data kecil ke data lebih
besar)
atau
menurun (descending = dari data besar ke data
lebih kecil).
3. Bubble sort (gelembung)
Metode pengurutan gelembung (bubble sort)
diinspirasi oleh gelembung sabun yang ada di
permukaan air. Karena berat jenis gelembung sabun
lebih ringan daripada berat jenis air maka gelembung
sabun akan selalu mengapung.
Prinsip pengapungan ini juga dipakai pada
pengurutan gelembung. Elemen yang berharga
paling kecil “diapungkan”, artinya diangkat ke atas
(atau ke ujung paling kiri) melalui pertukaran.
4. Contoh Bubble sort
6 buah elemen dibawah ini akan diurutkan menaik
(ascending)
25 27 10 8 76 21
1 2 3 4 5 6
LANGKAH 1 :
Proses 1 Hasil 25 27 10 8 21 76
Proses 2 Hasil 25 27 10 8 21 76
Proses 3 Hasil 25 27 8 10 21 76
Proses 4 Hasil 25 8 27 10 21 76
Proses 5 Hasil 8 25 27 10 21 76
Hasil akhir langkah 1 : 8 25 27 10 21 76
1 2 3 4 5 6
Nilai
Index
5. 8 25 27 10 21 76
1 2 3 4 5 6
LANGKAH 2 :
Proses 1 Hasil 8 25 27 10 21 76
Proses 2 Hasil 8 25 27 10 21 76
Proses 3 Hasil 8 25 10 27 21 76
Proses 4 Hasil 8 10 25 27 21 76
Hasil akhir langkah 2 : 8 10 25 27 21 76
1 2 3 4 5 6
6. 8 10 25 27 21 76
1 2 3 4 5 6
LANGKAH 3 :
Proses 1 Hasil 8 10 25 27 21 76
Proses 2 Hasil 8 10 25 21 27 76
Proses 3 Hasil 8 10 21 25 27 76
8 10 21 25 27 76
1 2 3 4 5 6
Hasil akhir langkah 3 :
7. 8 10 21 25 27 76
1 2 3 4 5 6
LANGKAH 4 :
Proses 1 Hasil 8 10 21 25 27 76
Proses 2 Hasil 8 10 21 25 27 76
Hasil akhir langkah 4 :
8 10 21 25 27 76
1 2 3 4 5 6
8. 8 10 21 25 27 76
1 2 3 4 5 6
LANGKAH 5 :
Proses 1 Hasil 8 10 21 25 27 76
8 10 21 25 27 76
1 2 3 4 5 6
Hasil akhir langkah 5 :
Selesai. Larik sudah terurutkan !
9. Contoh program bubble sort ascending
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
main(){
int i,k,temp;
int L[5];
//Jumlah elemen dalam array ada 5
L[0]=1; L[1]=50; L[2]=10; L[3]=3; L[4]=2;
//Proses secara Ascending(naik)
for(i=0;i<=4;i++)
for(k=4;k>=0;k--)
if (L[k]<L[k-1]) {
temp=L[k];
L[k]=L[k-1];
L[k-1]=temp; }
for(i=0;i<=4;i++)
cout<<L[i]<<endl;
getch();
}
10. Kerjakan!!
Urutkan 7 buah nilai di bawah ini secara
ascending dengan menggunakan algoritma
bubble sort.
Data sebelum diurutkan :
9 7 6 3 8 2 10
Data setelah diurutkan :
…..
11. Program yang ada di tambah proses input
data, agar user dapat menginputkan data
secara manual