Algoritma Selection Sort dan Bubble Sort

Algoritma Selection Sort dan Bubble Sort blog jonarendra

Di mata kuliah algoritma, saya mendapat materi tentang Brute Force. Brute Force sendiri adalah algoritma untuk memecahkan masalah-masalah yang biasanya berhubungan dengan matematika. Misalnya saja mengurutkan bilangan. Dalam mengurutkan bilangan, ada beberapa metode/algoritma yang dapat dipilih. Untuk kali ini, saya jelaskan tentang Algoritma Selection Sort dan Bubble Sort.

1. Selection Sort


Algoritma Selection Sort gif bergerak blog jonarendra


Selection sort yaitu proses memindahkan elemen dengan membandingkan elemen sekarang dengan elemen berikutnya sampai dengan elemen terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya lalu kemudian ditukar dan begitu seterusnya.

Pertama program akan mencari data terkecil dari data pertama sampai data yang terakhir, kemudian ditukar posisinya dengan data pertama. Lalu dicari data terkecil dari data kedua sampai dengan data terakhir, kemudian ditukar posisinya dengan data kedua dan seterusnya sampai data terurut naik. Apabila n buah data yang akan diurutkan, maka membutuhkan n-1langkah pengurutan, dengan data terakhir, yaitu data n tidak perlu diurutkan karena hanya tinggal satu-satunya.

Pseudocode


Algoritma_Selection_Sort
{Mengurutkan bilangan acak dari bilangan terkecil ke bilangan terbesar dengan metode Selection Sort}

Deklarasi
i : integer
j : integer
n : integer
min : integer
temp : integer
A : Array[0…n-1] of integer

Deskripsi:
Begin
for i ← 0 to n – 2 do
min ← i
for j ← i + 1 to n – 1 do
if A[j] < A[min]
min ← j
endif
endfor
swap A[i] and A[min]
endfor


Algoritma selection sort dalam proses pengurutannya menggunakan metode looping for bertingkat. Seperti biasa yang dipakai adalah variabel i dan j. Sedangkan n merupakan jumlah array yang ada. Dibuat n-1 karena array dimulai dari array ke 0, 1, 2, 3 dst. Untuk min merupakan variabel pembantu dalam proses pertukaran.


2. Bubble Sort

Algoritma Bubble Sort gif bergerak blog jonarendra


Aplikasi lain dari brute force untuk masalah menyortir adalah Bubble Sort. Cara kerja bubble sort hampir sama dengan Selection Sort. Yang membedakan adalah elemen yang dibandingkan adalah elemen yang berdekatan. Jadi program akan membandingkan elemen pertama dengan kedua, lalu kedua dengan ketiga, lalu ketiga dan keempat dan seterusnya sampai n. Lalu kembali lagi membandingkan elemen pertama dengan kedua, kedua dengan ketiga sampai n-2 (pada iterasi ke-2 elemen terakhir tak dibandingkan lagi).

Dengan melakukan hal tersebut berulang-ulang, dapat dipastikan elemen terbesar akan menempati posisi akhir dalam daftar. Berikutnya elemen terbesar kedua akan menempati tempat nomor 2 dari akhir, begitu seterusnya. 

Pseudocode


Algoritma_Bubble_Sort
{Mengurutkan bilangan acak dari bilangan terkecil ke bilangan terbesar dengan metode Bubble Sort}

Deklarasi:
i: integer
a : integer
j : integer
n : integer
A: Array [0 . . n-1] of integer

Deskripsi:
Begin
for i ← 0 to n−2 do
for j ← 0 to n−2−i do
if A[j +1]<A[j]
swap A[j] and A[j +1]
endif
endfor
endfor

Mirip dengan pseudocode dari selection sort, bubble sort juga menggunakan looping for bertingkat. Dimana bedanya disini yang di tukar (swap) adalah A[j] dan A[j+1] (Array j dan Array j+1) dengan kata lain array yang bersebelahan.

Sekian artikel dari Blog Jonarendra yang berjudul Algoritma Selection Sort dan Bubble Sort, semoga dapat menambah wawasan anda tentang algoritma mengurutkan bilangan.

1 comment for "Algoritma Selection Sort dan Bubble Sort"

Post a Comment

Berkomentarlah dengan baik dan benar, dilarang SPAM!
Tata Tertib Berkomentar