People Innovation Excellence
 

Selection Sort

Selection sort merupakan sebuah teknik pengurutan dengan cara mencari nilai tertinggi / terendah di dalam array kemudian menempatkan nilai tersebut di tempat semestinya. Algorithma ini dapat mengurutkan data dari besar ke kecil (Ascending) dan kecil ke besar (Descending). Algoritma ini tidak cocok untuk set data dengan jumlah besar karena kompleksitas dari algorithma ini adalah Ο(x2) di mana n adalah jumlah item.

Berikut gambaran dari implementasi SelectionSort:

1st Cycle:
(70, 60, 30, 50, 40,20) ->min 60
(70, 60, 30, 50, 40, 20)->min 30
(70, 60, 30, 50, 40, 20)->min 30
(70, 60, 30, 50, 40, 20)->min 30
(70, 60, 30, 50, 40, 20)->min 20
(20, 60, 30, 50, 40, 70) -> swap (70,20)

2nd Cycle:
(20, 60, 30, 50, 40, 70) ->min 30
(20, 60, 30, 50, 40, 70) ->min 30
(20, 60, 30, 50, 40, 70) ->min 30
(20, 60, 30, 50, 40, 70) ->min 30
(20, 30, 60, 50, 40, 70) ->swap (60,30)

3rd Cycle:
(20, 30, 60, 50, 40, 70) -> min 50
(20, 30, 60, 50, 40, 70) -> min 40
(20, 30, 60, 50, 40, 70) -> min 40
(20, 30, 40, 50, 60, 70) -> swap(60,40)

4th Cycle:
(20, 30, 40, 50, 60, 70) -> min 50
(20, 30, 40, 50, 60, 70) -> min 50
(20, 30, 40, 50, 60, 70)

5th Cycle:
(20, 30, 40, 50, 60, 70) -> min 60
(20, 30, 40, 50, 60, 70)

Berikut implementasi dari Selection Sort menggunakan Bahasa C:

#include<stdio.h>

 

int main(){

int arr[]={70,60,30,50,40,20};

int n = sizeof(arr)/sizeof(int);

 

for(int i=0; i<n – 1; i++){

int idx_low=i;

for(int j=i+1; j<n; j++){

if(arr[idx_low] > arr[j]){

idx_low = j;

}

}

if (idx_low > i){

int temp = arr[i];

arr[i]=arr[idx_low];

arr[idx_low]=temp;

}

}

 

for(int i=0;i<n;i++){

printf(“%d “,arr[i]);

}

 

return 0;

}

Reference:

Paul Deitel & Harvey Deitel. (2016). C how to program : with an introduction to C++. 08. Pearson  Education. Hoboken. ISBN: 9780133976892.


Published at :
Written By
Fidelson Tanzil, S.Kom., M.T.I
Subject Content Coordinator - Basic Programming | School of Computer Science

Periksa Browser Anda

Check Your Browser

Situs ini tidak lagi mendukung penggunaan browser dengan teknologi tertinggal.

Apabila Anda melihat pesan ini, berarti Anda masih menggunakan browser Internet Explorer seri 8 / 7 / 6 / ...

Sebagai informasi, browser yang anda gunakan ini tidaklah aman dan tidak dapat menampilkan teknologi CSS terakhir yang dapat membuat sebuah situs tampil lebih baik. Bahkan Microsoft sebagai pembuatnya, telah merekomendasikan agar menggunakan browser yang lebih modern.

Untuk tampilan yang lebih baik, gunakan salah satu browser berikut. Download dan Install, seluruhnya gratis untuk digunakan.

We're Moving Forward.

This Site Is No Longer Supporting Out-of Date Browser.

If you are viewing this message, it means that you are currently using Internet Explorer 8 / 7 / 6 / below to access this site. FYI, it is unsafe and unable to render the latest CSS improvements. Even Microsoft, its creator, wants you to install more modern browser.

Best viewed with one of these browser instead. It is totally free.

  1. Google Chrome
  2. Mozilla Firefox
  3. Opera
  4. Internet Explorer 9
Close