Apa sih yang dimaksud selection sort itu?
Selection sort merupakan metode pengurutan yang menyeleksi satu per satu data yang ada dalam array 1 dimensi. Cara yang dilakukan dengan metode ini ialah membandingkan data satu persatu dalam array satu dimensi.
Selection sort juga bisa menggunakan array dinamis dan statis. Untuk penjelasannya bisa disimak pada link berikut.
Metode ini mengurutkan data secara ascending dan descending. Ascending adalah pengurutan data dari terkecil ke terbesar/ data terurut naik, sedangkan descending adalah pengurutan data dari terbesar ke terkecil/ data terurut ke bawah.
PSEODUCODE
Prinsip kerja:
• Elemen di looping sebanyak n kali
• Cari elemen array A lalu swap elemen terkecil dengan elemen pertama array A[1].
• Cari elemen terkecil kedua pada array A lalu swap elemen kedua A[2]
• Ulangi perulangan tersebut sampai array n -1 elemen pertama dari array A
8 5 9 2 Data awal
2 5 9 8 Menswap data[0] dengan data[3]
2 5 9 8 Tidak menswap data[1] karena sudah memenuhi persyaratan
2 5 8 9 Menswap data[2] dengan data[3]
2 5 8 9 Data telah terurut
• Elemen di looping sebanyak n kali
• Cari elemen array A lalu swap elemen terkecil dengan elemen pertama array A[1].
• Cari elemen terkecil kedua pada array A lalu swap elemen kedua A[2]
• Ulangi perulangan tersebut sampai array n -1 elemen pertama dari array A
CONTOH
Data[0] Data[1] Data[2] Data[3]8 5 9 2 Data awal
2 5 9 8 Menswap data[0] dengan data[3]
2 5 9 8 Tidak menswap data[1] karena sudah memenuhi persyaratan
2 5 8 9 Menswap data[2] dengan data[3]
2 5 8 9 Data telah terurut
CODINGAN
#include<iostream>
using namespace std;
int main() {
int n, tukar, A[100];
cout << "Masukkan jumlah data: ";
cin >> n;
for (int i = 0; i < n; i++) {
cout << "Data ke-" << i + 1 << " = " ;
cin >> A[i];
cout << endl;
}
for (int i = 0; i < n-1; i++) {
tukar = i;
int temp;
for(int j = i+1; j < n; j++){
if(A[j] < A[tukar]){
tukar = j;
}
}
temp = A[tukar];
A[tukar] = A[i];
A[i] = temp;
}
for(int i = 0; i < n; i++){
cout << A[i] << " ";
}
cin.get();
return 0;
}
PENJELASAN
1. perintah cout masukkan jumlah data, untuk memasukkan jumlah data yang akan disort.
2. for loop pertama, menginputkan data sebanyak jumlah data yang kalian inginkan. contoh : Data ke-1 = 4, dan seterusnya.
3. for loop kedua, memproses data dengan selection sort. Saat for loop luar, perulangan indeks data. Saat for loop ke dua proses menukarkan data, apabila data setelahnya lebih kecil maka akan diswap data sebelumnya sampai persyaratan terpenuhi.
4. for loop ketiga menampilkan hasil akhir data secara urut.
HASIL COMPILE
HASIL COMPILE
Terima kasih atas perhatiannya semoga blog ini bisa bermanfaat. Apabila terdapat pertanyaan bisa ditanyakan melalui contact me yang ada pada contact form.