Anda di halaman 1dari 3

A.

Selection sort

Sorting merupakan hal yang penting di dalam pemrograman dan memilih

teknik sorting yang benar merupakan hal yang sangat penting di dalam pemrograman.

Ada banyak teknik sorting yang bisa kita gunakan, Sebagai materi kami kita akan

membahas selection sort.

Selection sort  merupakan teknik sorting yang paling sederhana, hal pertama yang akan

dilakukan algoritma selection sort adalah menemukan elemen terkecil dalam array kita

dan menukarnya (swap) dengan elemen yang ada di posisi pertama, kemudian algoritma

ini akan mengulangi hal yang sama lagi yaitu mencari elemen terkecil yang ada di dalam

array dan kemudian menukarnya (swap) dengan elemen yang ada di posisi kedua

(mengingat elemen di posisi pertama sudah berhasil kita sorting). Proses ini akan terus

berlanjut sampai semua elemen yang ada di dalam array telah berhasil kita sorting.

Dikatakan selection sort karena algoritma ini mencoba memilih satu per satu elemen data dari
posisi awal, untuk mencari data paling kecil dengan mencatat posisi index-nya saja, lalu
dilakukan pertukaran hanya sekali pada akhir setiap tahapan.

Algoritma Selection Sort dilakukan untuk menyempurnakan kekurangan dari bubble


sort yang melakukan pertukaran setiap kali perbandingan memenuhi kriterianya.

Cara Kerja

Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma
pengurutan dengan metode selection sort adalah sebagai berikut :

1. Cari data terkecil dalam interval j = 0 sampai dengan j = N-1


2. Jika pada posisi pos ditemukan data yang terkecil, tukarkan data diposisi pos dengan
data di posisi i jika k.
3. Ulangi langkah 1 dan 2 dengan j = j + i sampai dengan j = N-1, dan seterusnya sampai
j = N - 1.
Contoh Perhitungan

Angka Awal :  15, 16, 2, 9

Proses 1 2, 16, 15, 9

Proses 2 2, 9, 15, 16

Proses 3 2, 9, 15, 16

Source Code Algoritma Selection Sort

function selection_sort($data)
{
for ($i=0; $i<count($data)-1; $i++) {
$min = $i;
for ($j=$i+1; $j<count($data); $j++) {
if ($data[$j]<$data[$min]) {
$min = $j; //cari nilai terkecil
}
}
//swap potition
$temp = $data[$min];
$data[$min] = $data[$i];
$data[$i] = $temp;
//end swap
}
return $data;
}
Cara penggunaan function diatas

$angka = array(3,1,10,7,4,6);
$hasil = selection_sort($angka);
print_r($hasil);

Anda mungkin juga menyukai