Anda di halaman 1dari 11

SORTING

BUBBLE SORT
Definisi Sorting
• Proses pengurutan data yang sebelumnya
disusun secara acak menjadi tersusun secara
teratur menurut aturan tertentu.
• Secara umum ada dua jenis pengurutan:
• Ascending
• Descending
Contoh Sorting
• Data acak : 5 6 8 1 3 25 10
• Urut ascending : 1 3 5 6 8 10 25
• Urut descending: 25 10 8 6 5 3 1
Metode Sorting
1. Bubble Sort
2. Selection Sort
3. Insertion Sort
4. Quick Sort
5. Merge Sort
6. Radix Sort
7. Index Sort
8. Shell Sort
Bubble Sort
1. Membandingkan elemen sekarang dengan
elemen berikutnya.
2. Jika elemen sekarang lebih besar dari
elemen berikutnya maka elemen ditukar.
3. Setiap langkah dari Algoritma Bubbl Sort
seolah-olah menggeser satu per satu
elemen dari kanan ke kiri.
Algoritma Bubble Sort
Langkah 1: Mulai dari elemen K=N,N-1,N-2,.. bandingkan L[K] jika
L[K] < L[K-1], pertukarkan L[K] dengan L[K-1].
Pada akhir langkah 1, elemen L[1] berisi harga minimum
pertama.
Langkah 2: Mulai dari elemen K=N,N-1,N-2,.. bandingkan L[K] jika
L[K] < L[K-1], pertukarkan L[K] dengan L[K-1].
Pada akhir langkah 2, elemen L[2] berisi harga minimum
kedua dan L[1]..L[2] terurut..
Langkah 3: Mulai dari elemen K=N,N-1,N-2,.. bandingkan L[K] jika
L[K] < L[K-1], pertukarkan L[K] dengan L[K-1].
Pada akhir langkah 3, elemen L[3] berisi harga minimum
ketiga dan L[1]..L[3] terurut ...
Langkah N-1: Mulai dari elemen K=N,N-1,N-2,.. bandingkan L[K]
jika L[K] < L[K-1], pertukarkan L[K] dengan L[K-1].
Contoh: Lihat array dengan N=6 elemen dibawah ini.
Array ini akan diurutkan naik (ascending).

25 27 10 8 76 21
1 2 3 4 5 6

Langkah 1:
K=N=6 25 27 10 8 21 76
K=5 25 27 10 8 21 76
K=4 25 27 8 10 21 76
K=3 25 8 27 10 21 76
K=2 8 25 27 10 21 76

Hasil akhir langkah 8 25 27 10 21 76


1: 1 2 3 4 5 6
Langkah 2:
K=N=6 8 25 27 10 21 76
K=5 8 25 27 10 21 76
K=4 8 25 10 27 21 76
K=3 8 10 25 27 21 76

Hasil Akhir dari langkah 2: 8 10 25 27 21 76


1 2 3 4 5 6
Langkah 3:
K=N=6 8 10 25 27 21 76
K=5 8 10 25 21 27 76
K=4 8 10 21 25 27 76
8 10 21 25 27 76
Hasil Akhir dari langkah 3:
1 2 3 4 5 6
Langkah 4:
K=N=6 8 10 21 25 27 76
K=5 8 10 21 25 27 76
8 10 21 25 27 76
Hasil Akhir dari langkah 4:
1 2 3 4 5 6

Langkah 5:
K=N=6 8 10 21 25 27 76
8 10 21 25 27 76
Hasil Akhir dari langkah 5:
1 2 3 4 5 6

Selesai. Array sudah urut !


int i, j,temp,pass=0;
int a[10] = {10,2,0,14,43,25,18,1,5,45};
cout <<"Nilai Array (Belum Urut)\n";
for(i = 0; i<10; i++) {
cout <<a[i]<<"\t";
}
cout<<endl; Contoh
for(i = 0; i<10; i++) {
for(j = i+1; j<10; j++){
Ascending
if(a[j] < a[i]) {
temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
}
cout <<"Nilai Array (Sudah Urut)\n";
for(i = 0; i<10; i++) {
cout <<a[i]<<"\t";
}
Kesimpulan
Pengurutan dengan metode bubble sort ini
kurang efisien karena terlalu banyak penukaran
yang dilakukan pada setiap langkah dan
membutuhkan banyak waktu serta proses lebih
lama, sehingga tidak direkomendasikan untuk
dipakai. Namun metode ini mudah dipahami
dan sederhana.

Anda mungkin juga menyukai