PENGURUTAN
BILANGAN
METODE BUBBLE SORT
PROSES PENGURUTAN
Untuk
mengurutkan bilangan diperlukan variabel array untuk menampung semua bilangan
yang akan diurutkan. Proses pengurutan dilakukan dengan membandingkan semua
elemen array satu per satu. Dibawah ini terlampir contoh array berisi sederet
bilangan yang belum diurutkan.
20
|
12
|
35
|
11
|
17
|
9
|
58
|
23
|
0 1 2 3 4 5 6 7
Dimetode bubble sort,
proses pengurutan dimulai dengan membandingkan elemen pertama untuk mendapatkan
angka terbesar. Lalu angka tersebut ditempatkan pada elemen terakhir.
Sebagai langkah
awal, isi elemen pertama dibandingkan dengan elemen ke-1. Jika isi elemen ke-1
lebih kecil dari elemen nol, maka isi kedua elemen tersebut ditukar. Sehingga
isi array berubah menjadi :
12
|
20
|
35
|
11
|
17
|
9
|
58
|
23
|
|
0 1 2 3 4 5 6 7
Lalu elemen ke-1 dibandingkan dengan elemen
ke-2. jika isi elemen ke-2 lebih besar, maka isi kesatu elemen tersebut tidak
ditukar.
12
|
20
|
35
|
11
|
17
|
9
|
58
|
23
|
|
0 1 2 3 4 5 6 7
Perbandingan
selanjutnya dilakukan terhadap elemen ke-2 dengan ke-3. Karena elemen ke-3
lebih kecil, maka isi kedua elemen tersebut ditukar. Sehingga isi array
sebelumnya berubah menjadi :
12
|
20
|
11
|
35
|
17
|
9
|
58
|
23
|
0 1 2 3 4 5 6 7
|
||||
Proses
perbandingan seperti diatas dilakukan secara berulang sampai pada elemen
terakhir. Sehingga pada akhirnya akan dihasilkan bilangan terbesar yang
ditempatkan pada posisi elemen terakhir. Dibawah ini kondisi array setelah
perbandingan elemen terakhir.
12
|
20
|
11
|
17
|
9
|
35
|
23
|
58
|
0 1 2 3 4 5 6 7
|
Proses diatas hanya
mencari bilangan terbesar pertama. Ulangi proses tersebut untuk mencari
bilangan terbesar lainnya setelah bilangan terbesar pertama tadi. Namun proses
perbandingan hanya dilakukan mulai dari elemen pertama sampai elemen ke-6.
Isi elemen kenol
dibandingkan dengan elemen ke-1. Karena isi elemen ke-1 lebih besar, maka isi kedua
elemen tersebut tidak ditukar.
Kemudian elemen
ke-1, dibandingkan dengan elemen ke-2. Karena elemen ke-2 lebih kecil, maka isi
kedua elemen tersebut ditukar sehingga isi array menjadi :
12
|
11
|
20
|
17
|
9
|
35
|
23
|
58
|
|
0 1 2 3 4 5 6 7
Lanjutkan proses diatas sampai pada
elemen ke-6. Hasilnya isi array menjadi ;
12
|
11
|
17
|
9
|
20
|
23
|
35
|
58
|
0 1 2 3 4 5 6 7
|
Kini isi elemen
ke-6 dan ke-7 sudah urut berdasarkan bilangan kecil ke besar. Namun elemen
lainnya belum terurut. Untuk itu ulangi proses diatas, namun elemen yang
dibandingkan hanya sampai pada elemen ke-6 saja. Setelah itu, proses
perbadingan diulangi lagi sampai elemen terakhir dengan proses seperti diatas
sampai ditemukan anka yang terakhir berada pada eleman ke-0 :
9
|
11
|
12
|
17
|
20
|
23
|
35
|
58
|
0 1 2 3 4 5 6 7
|
Cin>>a[i];
For (i=0;i
For (j=0;j
If (a[j]>a[j+1])
{
Temp=a[j];
A[j]=a[j+1])
A[j+1]=temp;
}
Cout<<”elemen setelah
dijadikan buble short :”;
For (i=0;i
Getch();
}
0 komentar:
Post a Comment