SELECTION SORT
Pengertian dari selection sort adalah mencari elemen
yang tepat untuk diletakkan di posisi yang telah diketahui, dan
meletakkannya di posisi tersebut setelah data tersebut ditemukan,
Selection
Sort Membandingkan elemen yang sekarang dengan elemen yang berikutnya
sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang
lebih kecil dari elemen sekarang
maka dicatat posisinya dan kemudian ditukar.
Pengurutan
data dalam struktur data sangat penting untuk data yang beripe data
numerik ataupun karakter.Pengurutan dapat dilakukan secara ascending
(urut naik) dan descending
(urut turun) Pengurutan (Sorting) adalah proses menyusun kembali data
yang sebelumnya telah disusun dengan suatu pola tertentu, sehingga
tersusun secara teratur menurut aturan tertentu.
Contoh:
Data Acak : 5 6 8 1 3 25 10
Ascending : 1 3 5 6 8 10 25
Descending : 25 10 8 6 5 3 1
Konsep Selection Sort Algoritma pengurutan sederhana salah satunya adalah Selection Sort. Ide dasarnya adalah melakukan beberapa kali pass untuk melakukan penyeleksian elemen struktur data. Untuk sorting ascending (menaik),
elemen
yang paling kecil di antara elemen-elemen yang belum urut, disimpan
indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang
disimpan tersebut dengan elemen yang paling depan yang belum urut.
Sebaliknya, untuk sorting descending (menurun), elemen yang paling besar
yang disimpan indeksnya kemudian ditukar.
Selection Sort diakui
karena kesederhanaan algoritmanya dan performanya lebih bagus daripada
algoritma lain yang lebih rumit dalam situasi tertentu. Algoritma ini
bekerja sebagai berikut:
1. Mencari nilai minimum (jika ascending) atau maksimum (jika descending) dalam sebuah list
2. Menukarkan nilai ini dengan elemen pertama list
3.
Mengulangi langkah di atas untuk sisa list dengan dimulai pada posisi
kedua. Secara efisien kita membagi list menjadi dua bagian yaitu bagian
yang sudah diurutkan, yang didapat dengan membangun dari kiri ke kanan
dan dilakukan pada saat awal, dan bagian list yang elemennya akan
diurutkan.
contoh program selection sorting descending menggunakan C++ :
#include <iostream.h>
void main()
{
int i,j,n,data[10],temp,min;
cout<<"masukan banyak data= ";cin>>n;
for(i=1;i<=n;i++)
{
cout<<"data"<<i<<"=";cin>>data[i];
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(data[i]<data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
cout<<"hasil= ";
for(i=1;i<=n;i++)
cout<<data[i]<<"";
}
Contoh program selection sorting menggunakan ascending dalam C++:
#include <iostream.h>
void main()
{
int i,j,n,data[10],temp,min;
cout<<"masukan banyak data= ";cin>>n;
for(i=1;i<=n;i++)
{
cout<<"data"<<i<<"=";cin>>data[i];
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(data[i]>data[j])
{
temp=data[i];
data[i]=data[j];
data[j]=temp;
}
}
}
cout<<"hasil= ";
for(i=1;i<=n;i++)
cout<<data[i]<<"";
}
Tidak ada komentar:
Posting Komentar