SELECTION SORT :
Pengertian Selection Sort
Selection Sort merupakan salah satu algoritma pengurutan yang sederhana yaitu
bekerja dengan terlebih dahulu menemukan elemen (terkecil atau terbesar) menggunakan scan linear dan swapping ke posisi pertama dalam daftar,
kemudian menemukan elemen (terkecil atau terbesar) kedua dengan menukarkan elemen yang tersisa dan sebagainya.
Selection sort terbagi atas dua bagian adalam pengerjaannya yaitu dengan mencari nilai minimum (ascending) atau maksimum (descending) dalam sebuah list.
Kekurangan dan kelebihan Selection Sort
Setiap metode pengerjaan pastilah memiliki kekurangan dan kelebihannya dalam prosesnya,
seperti halnya lebih cepat namun tidak praktis ataupun lebih lama namun prosesnya sangat praktis.
Begitupun dengan algoritma Selection Sort yang memiliki kekurangan dan kelebihan dalam proses pengerjannya.
Kelebihan Selection Sort :
a) Algoritma ini sangat rapat dan mudah untuk diimplementasikan.
b) Mempercepat pencarian
c) Mudah menentukan data maksimum /minimum.
d) Mudah menggabungkannya kembali.
e) Kompleksitas selection sort relatif lebih kecil.
Kekurangan Selection Sort :
a) Membutuhkan method tambahan
b) Sulit untuk digabungkan kembali
c) Perlu dihindari untuk penggunaan data lebih dari 1000 tabel, karena akan menyebabkan kompleksitas yang lebih tinggi dan kurang praktis
Contoh Program Selection Sort :
#include <iostream>
#include <iomanip>
#include <conio.h>
using namespace std;
int selectionsort (int array[], const int size)
{
int i, j, kecil, temp;
for (i=0; i<size; i++)
{
kecil=i;
for (j=i; j<size; j++)
{
if (array[kecil]>array[j])
{kecil = j;}
}
temp = array [i];
array[i] = array[kecil];
array[kecil] = temp;
}
}
int main()
{
cout <<" \t\t\t***** Assalamualaikum wr.wb ***** \n\n";
cout <<" \t\t\t***** M.Nico Saputra ***** \n\n";
cout <<" \t\t\t***** Sistem Informasi 2B Fakultas Ilmu Komputer ***** \n\n";
cout <<" \t\t\t***** Program Selection Sort ***** \n\n";
int NumList[5] = {7, 77, 39, 24, 21};
int temp;
cout<<"Data sebelum diurutkan: \n\n";
for (int d=0; d<5; d++)
{
cout<<setw(3)<<NumList[d];
}
cout<<"\n\n";
selectionsort(NumList,5);
cout<<"Data setelah diurutkan:\n\n";
for (int iii=0; iii<5; iii++)
cout<<setw(3)<<NumList[iii]<<endl<<endl;
getche ();
}
Outputnya adalah :
Data sebelum diurutkan ;
7, 77, 39, 24, 21
Data setelah diurutkan :
7, 21, 24, 39, 77
Tidak ada komentar:
Posting Komentar