- Bubble Sort
Bubble
sort adalah salah satu metode sorting (pengurutan) nilai pada sebuah array,
metode yang digunakan dalam bubble sort adalah metode ini membandingkan array
pada index 0 (index awal) dan jika nilai dari index 0 lebih besar dari nilai
pada index 1 maka nilai kedua index tersebut ditukar atau jika nilai pada index
0 ternyata lebih kecil dari nilai pada index 1 maka nilai kedua index tersebut
tidak ditukar. Lalu proses berlanjut dengan membandingkan nilai pada index 1
dengan nilai pada index 2 dan proses terus diulang sampai pada membandingkan
nilai pada index n-1 dengan nilai pada index n (n adalah jumlah index pada
sebuah array), maka dengan begitu nilai terbesar akan ditempatkan di index n.
Proses
berlanjut dengan membandingkan kembali nilai pada index 0 dengan index
selanjutnya akan tetapi pada kali ini proses perbandingan dilakukan hanya
sampai perbandingan nilai pada index n-2 dengan nilai pada index n-1. Dengan
kata lain pada bubbles sort metode ini mengurutkan nilai terbesar di index n
(index terakhir) sampai nilai terkecil di index 0 (index awal), berikut adalah
gambaran sederhana dari cara kerja bubble sort :
Misalkan kita memiliki
array A = 5, 2, 6, 7, 3
Lalu tahap pertama adalah membandingkan nilai pada
index 0 dengan nilai pada index 1 yaitu 5 dan 2, disini nilai pada index 0
lebih besar dari nilai pada index 1 maka nilai pada index 0 dan 1 bertukar
posisi menjadi :
Lalu perbandingan dilanjutkan
dengan membandingkan nilai pada index 1 dengan nilai pada index 2 yaitu 5 dan 6
karena nilai pada index 1 lebih kecil dari nilai pada index 2 maka tidak
terjadi pertukaran posisi begitu pula dengan perbandingan nilai pada index 2
dan 3, selanjutnya nilai pada index 3 dibandingkan dengan nilai pada index 4
karena nilai pada index 3 lebih besar dari nilai pada index 4 maka posisi nilai
pada index 3 dan 4 ditukar :
Dengan begitu dapat
dilihat nilai terbesar yaitu 7 sudah diposisi yang benar yaitu berada di index
n atau 4 maka pada proses selanjutnya nilai pada index n atau 4 tidak
dikomparasi lagi dengan nilai pada index lain. Proses selanjutnya adalah
mengulang perbandingan dari nilai pada index 0 dengan nilai pada index 1 disini
bisa dilihat nilai pada index 0 lebih kecil dari nilai pada index 1 maka
pertukaran posisi tidak terjadi begitu pula dengan perbandingan nilai pada
index 1 dan 2 maka selanjutnya membandingkan nilai pada index 2 dan 3 disini
nilai pada index 2 lebih besar dari nilai pada index 3 maka poisisi nilai pada
index 2 dan 3 ditukar :
Dan proses berhenti
disitu lalu dapat dilihat nilai ke dua tertinggi yaitu 6 sudah berada diposisi
yang benar, selanjutnya adalah mengulang kembali proses yaitu membandingkan
nilai pada index 0 dengan nilai pada index 1 karena nilai pada index 0 tidak
lebih besar dari nilai pada index 1 maka pertukaran posisi tidak terjadi
selanjutnya membandingan nilai pada index 1 dan 2 disini nilai pada index 1
lebih besar dari nilai pada index 2 maka nilai pada index 1 dan 2 ditukar :
Maka dapat dilihat
nilai terbesar ke tiga yaitu 5 sudah berada di posisi yang benar, selanjutnya
mengulang proses dengan membandingkan nilai pada index 0 dan 1 disini nilai
pada index 0 tidak lebih besar dari nilai pada index 1 maka pertukaran posisi
tidak terjadi. Maka sudah dapat terlihat hasil dari sorting array A yaitu :
Berikut ini adalah algoritma dari bubble sort :
Bubble_Sort(A)
1.
Deklarasi array
A
2.
Deklarasi elemen
3.
Input elemen array
A
4.
Input nilai
elemen-elemen array A
5.
for i=1 sampai i
< elemen
6.
for j=0 sampai j < elemen – i
7.
if A[j] > A[j+1]
8.
Tukar A[j] dengan A[j+1]
9.
end if
10.
end for
11. end for
12. Selesai
Dan berikut ini adalah flowchart untuk bubble sort :
Dan untuk
pengimplementasin algoritma bubble sort dapat dilihat di postingan ane :
Implementasi algortima bubble sort dengan C#
Sekian postingan dari ane semoga bermanfaat, jika ada yang salah mohon dikoreksi dan dimaklumi karena ane masih newbie :Peace:
Implementasi algortima bubble sort dengan C#
Sekian postingan dari ane semoga bermanfaat, jika ada yang salah mohon dikoreksi dan dimaklumi karena ane masih newbie :Peace:
No comments:
Post a Comment