/**
* Inti dari algoritma ini adalah memilih (select) indeks yang memiliki nilai terkecil terlebih dahulu
* dari sebuah dataset. Setelah didapat indeks dari nilai yang paling terkecil, maka dilakukan pertukaran
* data pada dataset indeks ke-i dengan dataset yang paling kecil
*/
import java.util.Arrays;
class Main {
static int[] dataset = {6, 8, 3, 2, 1, 3};
public static void main(String[] args) {
System.out.println("Sebelum diurutkan: "+ Arrays.toString(dataset));
System.out.println("Setelah diurutkan: "+ Arrays.toString(selection(dataset)));
}
public static int[] selection(int[] data) {
for(int i = 0; i < data.length - 1; i++) {
int min = i;
for(int j = i+1; j < data.length; j++) {
if(data[j] < data[min]) {
min = j;
}
}
// pertukarkan posisi i dengan nilai terkecil (butuh 1 variabel bantu utk pertukaran)
int temp = data[min];
data[min] = data[i];
data[i] = temp;
}
return data;
}
}