Selection Sort adalah perbaikan dari algoritma bubble sort, dengan mengurangi jumlah perbandingan. 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.
Berikut ini implementasi algoritma Selection Sort untuk melakukan pengurutan data integer secara ascending dalam bahasa pemrograman PHP dengan ketentuan data di-generate secara random dari sistem dan pada akhir program di tampilkan durasi waktu eksekusi (running time).
Berikut source code dalam bahasa pemrograman PHP :
<?php
//data di-generate secara random dari sistem
for($x = 1; $x <= 1000; $x++)
{
$angka[] = rand(1, 100000);
}
//fungsi SelectionSort
function SelectionSort($angka)
{
for($y = 0; $y < count($angka); $y++)
{
$min = $angka[$y];
$key = $y;
for($num = $y + 1; $num < count($angka); $num++)
{
if($angka[$num] < $min)
{
$min = $angka[$num];
$key = $num;
}
}
$temporary = $angka[$y];
$angka[$y] = $min;
$angka[$key] = $temporary;
}
var_dump($angka);
}
function MicrotimeFloat()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
$waktu_mulai = MicrotimeFloat();
SelectionSort($angka);
$waktu_selesai = MicrotimeFloat();
$waktu = $waktu_selesai - $waktu_mulai;
//tampilkan durasi waktu eksekusi (running time)
echo "Durasi waktu eksekusi $waktu detik.";
?>
© 2015 - 2024 CV. Naendra Pronesia Teknologi. Semua Hak Dilindungi Undang-Undang.
Intekno Studio siap untuk menjadi Mitra Kebutuhan Digital Anda.