Sorting
merupakan suatu proses untuk menyusun kembali humpunan obyek menggunakan aturan
tertentu. Sorting disebut juga sebagai suatu algoritma untuk meletakkan
kumpulan elemen data kedalam urutan tertentu berdasarkan satu atau beberapa
kunci dalam tiap-tiap elemen. Pada dasarnya ada dua macam urutan yang biasa
digunakan dalam suatu proses sorting:
1. Urut naik (ascending)
Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar.
Mengurutkan dari data yang mempunyai nilai paling kecil sampai paling besar.
2. Urut turun (descending)
Mengurutkan dari data yang mempunyai
nilai paling besar sampai paling kecil.
Manfaat sorting:
1.
Data yang
terurut mudah untuk dicari, mudah untuk diperiksa, dan mudah untuk dibetulkan
jika terdapat kesalahan.
2.
Data yang
terurut dengan baik juga mudah untuk dihapus jika sewaktu-waktu data tersebut
tidak diperlukan lagi.
3.
Selain
itu, dengan mengurutkan data maka kita semakin mudah untuk menyisipkan data
atapun melakukan penggabungan data.
Metode-metode sorting meliputi:
1.
Insertion
Sort (Metode Penyisipan)
Proses
yang terjadi pada pengurutan dengan menggunakan metode insertion sort dimulai
dengan data ke-2, kemudian disisipkan pada tempat yang sesuai. Data pada posisi
pertama diandaikan memang sudah pada tempatnya.
Contoh Program:
Contoh Program:
#include<iostream>
using namespace std;
int main()
{
int i, n, j, temp;
int A[100];
cout<<" Insertion sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
temp = A[i];
j = i-1;
while(A[j]>temp && j>=0)
{
A[j+1] = A[j];
j--;
}
A[j+1] = temp;
}
cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
using namespace std;
int main()
{
int i, n, j, temp;
int A[100];
cout<<" Insertion sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
temp = A[i];
j = i-1;
while(A[j]>temp && j>=0)
{
A[j+1] = A[j];
j--;
}
A[j+1] = temp;
}
cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
2.
Selection
Sort (Metode Seleksi)
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).
Contoh Program:
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).
Contoh Program:
#include<iostream>
using namespace std;
int main()
{
int i, n, j, max, temp;
int A[100];
cout<<" Selection sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
max = i;
for(j=i+1; j<n; j++)
{
if(A[max]>A[j])
max = j;
}
if(A[i] != A[max])
{
temp = A[i];
A[i] = A[max];
A[max] = temp;
}
} cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
using namespace std;
int main()
{
int i, n, j, max, temp;
int A[100];
cout<<" Selection sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
max = i;
for(j=i+1; j<n; j++)
{
if(A[max]>A[j])
max = j;
}
if(A[i] != A[max])
{
temp = A[i];
A[i] = A[max];
A[max] = temp;
}
} cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
3.
Bubble
sort(Metode Gelembung)
Salah
satu metode sorting atau mengurutkan dari data terkecil ke data terbesar
ataupun sebaliknya dengan cara membandingkan 2 data yang berdekatan.
Contoh Program:
#include<iostream>
using namespace std;
int main()
{
int i, n, j, temp;
int A[100];
cout<<" Bubble sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(A[j]>A[j+1])
{
temp = A[j];
A[j] = A[j+1];
A[j+1] = temp;
}
}
}
cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
using namespace std;
int main()
{
int i, n, j, temp;
int A[100];
cout<<" Bubble sort ascending\n";
cout<<" Amount of data : ";
cin>>n;
cout<<"\n";
for(i=0; i<n; i++)
{
cout<<" Data number "<<i<<" : ";
cin>>A[i];
}
for(i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
if(A[j]>A[j+1])
{
temp = A[j];
A[j] = A[j+1];
A[j+1] = temp;
}
}
}
cout<<" Data after sorted : \n";
for(i=0; i<n; i++)
cout<<" "<<A[i]<<" ";
}
0 comments:
Post a Comment