Selection sort
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
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.
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 :
Proses 1 2, 16, 15, 9
Proses 3 2, 9, 15, 16
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);