Kali ini saya akan membahas tentang selection sort. Dimana selection sort merupakan algoritma pengurutan dengan metode penyeleksian.
Langsung saja ke pengembangan masalah dari selection sort :
1. Identifikasi masalah
Mengurutkan angka dengan metode selection sort.
2. Menentukan input dan output
Input n, A[]
Ouput A[] = 4,5,6,7,8,9
3. Membuat flowchart
4. Test menggunakan data
Input n=6, A[] = 9 8 7 6 5 4
Data ke-1 = 9
Data ke-2 = 9
Data ke-3 = 9
Data ke-4 = 9
Data ke-5 = 9
Data ke-6 = 9
Output data setelah diurutkan = 4 5 6 7 8 9
Dengan beberapa steps :
step 1 [9, 8, 7, 6, 5, 4] 4 terkecil, 9 > 4
step 3 [4, 5, 7, 6, 8, 9] 6 terkecil, 7 > 6
step 4 [4, 5, 6, 7, 8, 9] 7 terkecil, 7 = 7
step 5 [4, 5, 6, 7, 8, 9] 8 terkecil, 8 = 8
step 6 [4, 5, 6, 7, 8, 9] 9 terkecil, 9 = 9
step 7 [4, 5, 6, 7, 8, 9]
5. Implementasi C++
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
void baca_data(int A[], int n)
{
int i;
for(i=0; i<n; i++){
cout<<"Data ke-"<<i+1<<"=";
cin>>A[i];
}
}
void cetak_data(const int A[], int n){
int i;
for(i=0; i<n; i++){
cout<<A[i]<<" ";
}cout<<endl;
}
void tukar(int*a,int *b){
int temp;
temp=*a;
*a=*b;
*b=temp;
}
void minimum(int A[], int dari, int n, int*tempat){
int i, min;
min=A[dari];
*tempat=dari;
for(i=dari+1; i<n; i++){
if(A[i]<min)
{
min=A[i];
*tempat=i;
}
}
}
void selection_sort(int A[], int n){
int i,t;
for(i=0; i<n; i++){
minimum(A,i,n,&t);
tukar(&A[i], &A[t]);
}
}
main(){
int data[10],n;
cout<<"\t\tPROGRAM SELECTION SORT\n\n";
cout<<"Masukan banyak data = ";
cin>>n;
baca_data(data,n);
cout<<endl;
cout<<"Data sebelum diurutkan :"<<endl;
cetak_data(data, n);
selection_sort(data,n);
cout<<endl;
cout<<"Data setelah diurutkan :"<<endl;
cetak_data(data,n);
return 0;
}
Pertama masukkan banyak data merupakan nilai n dimana n merupakan batasan array yang akan saya inputkan. Kemudian mulai memasukkan data. Setelah itu akan muncul data sebelum terurut yaitu 9, 8, 7, 6, 5, 4. Dan setelah itu muncul juga data setelah terurut yaitu 4, 5, 6, 7, 8, 9.
Program ini saya selesaikan dalam waktu 3.30 jam
Tersedia : 1. Bubble Sort
Semoga bermanfaat !
Wassalamuallaikum wr. wb.
0 comments :
Post a Comment