- Pengertian Sorting
Sorting
adalah cara mengurutkan data yang berada dalam suatu tempat penyimpanan dengan
urutan tertentu (Ascending) mengurutkan nilai terkecil sampai nilai terbesar.
(Discending) mengurutkan nilai terbesar samapi nilai terkecil.
- Selection Sort
Selection sort adalah cara mengurutkan data dimana elemen di bandingkan satu persatu sampai pada elemen terakhir dan disusun berdasarkan ketentuan (ascending stau discending).
- Pengecekan dimulai dari data ke -1 sampai data ke -n.
- Tentukan bilangan dengan indeks terkecil dari bilangan tersebut.
- Tukar bilangan dengan indeks terkecil tersebut dengan bilangan pertama dari data bilangan tersebut.
- Begitu seterusnya samapai semua data terurutkan.
Contoh Program
#include <iostream.h>
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
main()
{
int g[8];
int i;
int temp;
int minindex;
int j;
clrscr();
cout<<" >> memasuki Program Selection Sort << \n" <<endl;
cout<<"masukkan nilai g :\n";
for(i=0; i<5; i++)
{
cout<<"g["<<i<<"] = ";cin>>g[i];
}
cout<<"\n data sebelum di sort :";
for(i=0; i<5;i++)
{
cout<<setw(4)<<g[i];
}
for(i=0; i<5-1; i++) //perulangan iterasi
{
minindex=i;
for(j=i+1; j<5; j++) //perulangan membandingkan data
{
if(g[minindex]>g[j])
{
minindex=j;
}
}
temp=g[i];
g[i]=g[minindex];
g[minindex]=temp;
}
cout<<"\n\nData setelah di sort :";
for(i=0; i<5; i++)
{
cout<<setw(4)<<g[i];
}
getch();
}
#include <conio.h>
#include <stdio.h>
#include <iomanip.h>
main()
{
int g[8];
int i;
int temp;
int minindex;
int j;
clrscr();
cout<<" >> memasuki Program Selection Sort << \n" <<endl;
cout<<"masukkan nilai g :\n";
for(i=0; i<5; i++)
{
cout<<"g["<<i<<"] = ";cin>>g[i];
}
cout<<"\n data sebelum di sort :";
for(i=0; i<5;i++)
{
cout<<setw(4)<<g[i];
}
for(i=0; i<5-1; i++) //perulangan iterasi
{
minindex=i;
for(j=i+1; j<5; j++) //perulangan membandingkan data
{
if(g[minindex]>g[j])
{
minindex=j;
}
}
temp=g[i];
g[i]=g[minindex];
g[minindex]=temp;
}
cout<<"\n\nData setelah di sort :";
for(i=0; i<5; i++)
{
cout<<setw(4)<<g[i];
}
getch();
}
- Insertion Sort
Insertion
sort adalah metode pengurutan data dengan cara membandingkan dua elemen data
pertama, mengurutkannya, kemudian menecek elemen data berikutnya satu persatu
den membandingkannya dengan elemen data yang telah diurutkan. Karena metode ini
bekerja dengan membandingkan elemen-elemen data yang akan di urutkan.
*Proses Insertion Sort
- Data dicek satu persatu dari yang ke dua samapai dengan data yang terakhir.
- Apabila ditemukan data yang lebih kecil dari pada data sebelumnya, maka data tersebut akan disisipkan pada posisi yang sesuai.
Contoh program
#include <iostream>
#include <conio.h>
int data[20],data2[20];
int n;
void tukar(int a, int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}
void insertion_sort()
{
int temp,i,j;
for(i=1;i<=n;i++)
{
temp = data[i];
j = i -1;
while(data[j]>temp && j>=0)
{
data[j+1] = data[j];
j--;
}
data[j+1] = temp;
}
}
int main()
{
cout<<"\t\t\t***PROGRAM INSERTION SORT***\n\n"<<endl;
//Input Data
cout<<"Masukkan Jumlah Data : ";
cin>>n;
cout<<"\n";
for(int i=1;i<=n;i++)
{
cout<<"Masukkan data ke "<<i<<" : ";
cin>>data[i];
data2[i]=data[i];
}
insertion_sort();
cout<<"\n\n";
//tampilkan data
cout<<"Data Setelah di Sort : ";
for(int i=1; i<=n; i++)
{
cout<<" "<<data[i];
}
cout<<"\n\nSorting Selesai";
getch();
}
Referensi : slideplayer c++.info
Referensi : slideplayer c++.info