By: Finn Christoffer K.

Fungsi sortir dapat digunakan untuk mengurutkan daftar dalam urutan naik, turun atau yang ditentukan pengguna. Tujuan utama dari proses sorting adalah untuk mengurutkan data, baik itu dari terendah ataupun tertinggi.  Yang secara tidak langsung akan menjadikan data lebih terstruktur, rapi dan teratur.

Ada banyak algoritma populer untuk mengurutkan data, seperti : insertion sort, selection sort, merge sort, heap sort, quick sort, bubble sort, shell sort, comb sort, counting sort, bucket sort, radix sort. Tapi di artikel ini saya hanya akan menyebutkan salah satu jenis algoritma sort yaitu Selection Sort.

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.

Selection  sort merupakan  metode  pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sortadalah 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+isampai dengan j= N-1, dan seterusnya sampai  j = N

Jika kita memiliki elemen array :  {5, 1, 12, -5, 16, 2, 12, 14} maka cara pengurutannya

Berikut ini implementasi algoritma selection sort dalam Bahasa pemrograman Python:

Ketika program tersebut dijalankan, berikut ini hasil outputnya: