Thursday, July 13, 2017

Selection Sort

Selection sort merupakan algoritma pengurutan dalam pemrograman yang memiliki kompleksitas O(n^2). Algoritma sorting tersebut biasanya digunakan untuk berlatih maupun mengerjakan pemecahan masalah, di era modern seperti sekarang algoritma-algoritma pengurutan bahkan pencarian sudah tidak terlalu digunakan sejak adanya mesin database yang lebih cepat. Bayangkan saja jika sebuah bank menggunakan algoritma-algoritma pengurutan yang ada dengan data nasabah yang banyak, pasti tidak efektif. Tetapi dengan adanya selection sort ini kita bisa berlatih bagaimana cara dasar kerja komputer untuk melakukan pengurutan data. Ilustrasi dari algoritma selection sort:

Selection Sort Ilustrasi

Dari gambar diatas, bisa diketahui bahwa algoritma selection sort menggunakan cara mengurutkan data dengan mengecek satu per satu elemen setelahnya sesuai kondisi misal lebih besar/kecil sehingga elemen pertama sudah pasti terbesar/terkecil dari semua elemen. Pengaplikasiannya dalam ilustasi juga panjang dan kurang efektif, di dalam contoh terdapat 6 buah data dan harus melakukan perulangan sebanyak 5 kali dan perulangan pengurutan sebanyak 6-n sehingga bisa dikatakan masih tidak efektif tetapi masih lebih efektif daripada bubble sort. Kemudian algoritma dari selection sort sendiri dan juga pseudocodenya seperti berikut :
ALGORITMA SELECTION SORT               
Langkah 0        Mulai pivot = 0 ; selama pivot < N - 1; kerjakan Langkah 1 hingga 8       
Langkah 1        min <-- pivot       
Langkah 2        Mulai cari = pivot+1; selama cari < N; kerjakan Langkah 3 hingga 4       
Langkah 3        Jika data[cari] < data[min] maka min <-- cari       
Langkah 4        cari <-- cari + 1       
Langkah 5         titip <-- data[pivot]       
Langkah 6        data[pivot] <-- data[min]       
Langkah 7        data[min] <-- titip       
Langkah 8        pivot <-- pivot  +  1       
Langkah 9         Selesai       
         
PSEUDOCODE SELECTION SORT               
Program Pengurutan Data Integer memakai Selection Sort               
Deklarasi Variabel :               
    pivot, min, cari, titip, N bertipe int           
    data bertipe array of int pada variabel data           
{               
    FOR(pivot=0; pivot<N-1; pivot++)           
    {           
        min = pivot       
        FOR(cari=pivot+1; cari<N; cari++)       
        {       
            IF(data[cari] < data[min])   
                min = cari
        }       
        titip = data[pivot]       
        data[pivot] = data[min]       
        data[min] = titip       
    }           
}               
Bonus pula saya berikan flowchart dari selection sort sendiri agar mempermudah memahami daripada melalui bahasa pemrograman secara langsung , untuk gambar flowchartnya seperti ini :
Selection Sort Flowchart
Sekian postingan dari saya mengenai pembahasan selection sort beserta algoritma,pseudocode dan flowchartnya, selemat belajar !

Artikel Terkait

Life with colorful experience


EmoticonEmoticon