Metode Sorting :
- Bubble Sort / Pengurutan Gelembung
- Selection Sort/Pengurutan Maksimum-minimum
- Insertion Sort/Pengurutan sisip
1. Bubble Sort / pengurutan gelembung ini merupakan suatu metode pengurutan gelembung yang diinspirasi oleh gelembung sabun yang ada di dalam permukaan air, karena berat jenis gelembung sabun lebih ringan daripada berat jenis air maka gelembung sabun akan selalu megapung. Prinsip pengapungan ini juga dipakai pada pengurutan gelembung. Elemen yang berharga paling kecil “diapungkan”, yang artinya diangkat ke atas (atau ke ujung paling kiri) melalui pertukaran. Proses pengapungan ini dilakukan N kali langkah.
Pada langkah ke 1, Baris [1….N] akan terdiri dari 2 bagian yaitu :
- Bagian yang sudah terurut yaitu L[1]…L[i]
- Bagian yang belum terurut L[i+1]..L[n]
Contoh Program Bubble Sort:
Secure Code:
#include <iostream.h>
#include <conio.h>
main(){
int nilai[‘n’];
int temp;
int n;
cout<<“Banyak Data: “;
cin>>n;
cout<<endl;
for (int a=1; a<=n; a++){
cout<<“nilai[“<<a<<“]: “;
cin>>nilai[a];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int a=1; a<=n; a++){
cout<<nilai[a]<<” “;
}
for(int a=n-1; a>=1; a–){
for(int b=1; b<=a; b++){
if(nilai[b]>nilai[b+1]){
temp=nilai[b+1];
nilai[b+1]=nilai[b];
nilai[b]=temp;
}
}
}
cout<<“\n\nData Setelah Diurutkan (Ascending)”<<endl;
for (int a=1; a<=n; a++){
cout<<nilai[a]<<” “;}
cout<<“\n\n”;
cout<<“\n\nData Setelah Diurutkan (Descending)”<<endl;
for (int a=n; a>=1; a–){
cout<<nilai[a]<<” “;}
getch();
}
Outputnya:
Contoh Program Selection Sort:
Secure Code:
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
int main(){
//deklarasi array dengan 7 elemen
int A[7];
int j,k,i,temp;
int jmax,u=6;
//memasukkan nilai sebelum diurutkan
cout<<“Masukkan nilai pada elemen array :”<<endl;
for(i=0;i<7;i++)
{
cout<<“A[“<<i<<“]=”;
cin>>A[i+1];
}
//Proses pengurutan secara menaik (Ascending)
for(j=0;j<7;j++)
{
jmax=0;
for(k=1;k<=u;k++)
if (A[k] > A[jmax])
jmax=k;
temp=A[u];
A[u]=A[jmax];
A[jmax]=temp;
u–;
}
//menampilkan nilai setelah diurutkan
cout<<“\nNilai setelah diurutkan =”<<endl;
for(i=0;i<7;i++)
cout<<A[i]<<” “;
getch();
}
Outputnya:
Contoh Program Insertion Sort:
Secure Code:
#include <iostream.h>Outputnya:
#include <stdio.h>
#include <conio.h>
main (){
int i,j, b, k, m, n,x,z,ketemu=0;
int data[‘n’], temp[100];
cout<<“\n======================\n”<<endl;
cout<<“\n—-BELAJAR SORTING—\n”;
cout<<“\n======================\n”<<endl;
cout<<“Inputkan Banyak Data: “;
cin>>n;
for(i=0; i<n; i++){
cout<<“Data Ke-“<<i<<” : “;
cin>>data[i];
}
cout<<“\n\n”;
cout<<“Data Sebelum diurutkan”<<endl;
for(int i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “;
cout<<endl;
}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]<data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Ascending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<” “;
cout<<data[i]<<” “<<endl;}
for (i=0; i<n; i++){
for (j=0; j<=i; j++)
{
if(data[i]>data[j])
{
m=data[i];
data[i]=data[j];
data[j]=m;
}
}
cout<<“\n#”<<i<<“: “;
for(k=0; k<=i; k++)
{
cout<<” “<<data[k];
}
}
cout<<“\n\n”;
cout<<“\nData Setelah Diurutkan (Descending):”<<endl;
for(i=0; i<n; i++){
cout<<i+1<<“.”;
cout<<data[i]<<” “<<endl;
}
getch();
}
0 komentar:
Post a Comment