Ada banyak metode yang bisa digunakan untuk mengurutkan suatu elemen dalam array, yaitu buble sort, insertion sort, maksimum-minimum sort, heap sort, dll. Namun pada kali ini kita hanya akan membahas tentang buble sort. Fungsi dari mengurutkan array ini adalah untuk mempercepat proses pencarian data.
Sorting Menggunakan Metode Buble Sort
Berikut ini adalah contoh sintaksnya :
#include <iostream>
using namespace std;
int main() {
// Mendeklarasikan array dengan 7 buah elemen
// yang bertipe int
int A[7];
// Mendeklarasikan variabel-variabel bantu
// yang diperlukan
int j, k, C, temp;
// Memasukkan nilai array
cout<<"Masukkan nilai pada elemen array:"
<<endl;
for (C=0; C<7; C++) {
cout<<"A["<<C<<" ] = "; cin>>A[C];
}
// Menampilkan nilai sebelum diurutkan
cout<<"\nNilai elemen array sebelum diurutkan:"
<<endl;
for (C=0; C<7; C++) {
cout<<"A["<<C<<"] = "<<A[C]<<endl;
}
// Melakukan pengurutan elemen array
// dengan metode gelembung
for (j=0; j<6; j++) {
for (k=7; k>0; k--) {
if (A[k] < A[k-1]) {
temp = A[k];
A[k] = A[k-1];
A[k-1] = temp;
}
}
}
// Menampilkan nilai setelah diurutkan
cout<<"\nNilai elemen array setelah diurutkan:"
<<endl;
for (C=0; C<7; C++) {
cout<<"A["<<C<<"] = "<<A[C]<<endl;
}
return 0;
}
Contoh tahapan
apabila ada array dengan elemen :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 7 2 4 8 3
dilakukan buble sort
Pada saat J = 0
Dilakukan perulangan sebanyak 6 xTahap 1
Dilakukan pembandingan antara indeks 6 yang bernilai 3 dengan indeks ke 5 bernilai 8
Karena nilai indeks ke 6 lebih kecil dari nilai indeks 5, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 7 2 4 3 8
Tahap 2
Dilakukan pembandingan antara indeks 5 yang bernilai 3 dengan indeks ke 4 bernilai 4
Karena nilai indeks ke 5 lebih kecil dari nilai indeks 4, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 7 2 3 4 8
Tahap 3
Dilakukan pembandingan antara indeks 4 yang bernilai 3 dengan indeks ke 3 bernilai 2
Karena nilai indeks ke 4 lebih besar dari nilai indeks 3, maka tidak dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 7 2 3 4 8
Tahap 4
Dilakukan pembandingan antara indeks 3 yang bernilai 2 dengan indeks ke 2 bernilai 7
Karena indeks ke 3 lebih kecil dari indeks 2, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 2 7 3 4 8
Tahap 5
Dilakukan pembandingan antara indeks 2 yang bernilai 2 dengan indeks ke 1 bernilai 9
Karena indeks ke 2 lebih kecil dari indeks 1, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 2 9 7 3 4 8
Tahap 6
Dilakukan pembandingan antara indeks 1 yang bernilai 3 dengan indeks ke 0 bernilai 8
Karena indeks ke 1 lebih kecil dari indeks 0, maka tidak dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 2 5 9 7 3 4 8
Pada saat J = 1
Dilakukan perulangan sebanyak 6 xTahap 1
Dilakukan pembandingan antara indeks 6 yang bernilai 8 dengan indeks ke 5 bernilai 4
Karena nilai indeks ke 6 lebih besar dari nilai indeks 5, maka tidak dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 2 5 9 7 3 4 8
Tahap 2
Dilakukan pembandingan antara indeks 5 yang bernilai 4 dengan indeks ke 4 bernilai 3
Karena nilai indeks ke 5 lebih besar dari nilai indeks 4, maka tidak dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 2 5 9 7 3 4 8
Tahap 3
Dilakukan pembandingan antara indeks 4 yang bernilai 7 dengan indeks ke 3 bernilai 3
Karena nilai indeks ke 4 lebih kecil dari nilai indeks 3, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 2 5 9 3 7 4 8
Tahap 4
Dilakukan pembandingan antara indeks 3 yang bernilai 2 dengan indeks ke 2 bernilai 7
Karena indeks ke 3 lebih kecil dari indeks 2, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 9 2 7 3 4 8
Tahap 5
Dilakukan pembandingan antara indeks 2 yang bernilai 2 dengan indeks ke 1 bernilai 9
Karena indeks ke 2 lebih kecil dari indeks 1, maka dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 5 2 9 7 3 4 8
Tahap 6
Dilakukan pembandingan antara indeks 1 yang bernilai 3 dengan indeks ke 0 bernilai 8
Karena indeks ke 1 lebih kecil dari indeks 0, maka tidak dilakukan swap
hasil sementara dari tahap ini :
indeks : 0 1 2 3 4 5 6
elemen : 2 5 9 7 3 4 8
0 Response to "Langkah Sorting Array Menggunakan C / C++ (Metode Bubble Sort )"
Post a Comment