Tuesday, July 15, 2014

Algoritma Bubble Sort



  • 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:

No comments:

Post a Comment