Anda di halaman 1dari 7

SORTING

1. Definisi Sorting
Sorting adalah pengurutan data. Data diurutkan dari yang terkecil sampai
yang paling besar atau sebaliknya. Tujuannya supaya data tersebut jadi tersusun
rapi, terurut dan teratur.
Metode Sorting :
a. Bubble Sort (Metode Gelembung)
BubbleSort adalah pengurutan data yang dilakukan dengan
membandingkan antara data[n] dengan data[n+1] atau antara data[n] dengan
data[n-1] kemudian jika data lebih kecil/besar dilakukan pertukaran. Pada
setiap iterasi dapat terjadi beberapa kali pertukaran atau tidak sama sekali.
Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’. Iterasi=N-1.”
b. Selection Sort (Metode Seleksi)
Selection Sort adalah merupakan sebuah algoritma pengurutan yang
secara berulang mencari data yang belum terurut dan mencari paling sedikit
satu untuk dimasukkan ke dalam lokasi akhir.
c. Insert Sort (Metode Penyisipan)
Insertion Sort dilakukan dengan cara menyisipkan sebuah angka ke
posisi yang diinginkan. Angka yang disisipkan sesuai dengan urutan
iterasinya. Jumlah iterasi ditentukan oleh banyaknya data atau ‘N’.
Iterasi=N”.Sekilas algoritma ini tidak jauh berbeda dengan Bubble Sort,
namun sesungguhnya berbeda.
2. Contoh Program Sorting
a. Bubble Sort (Metode Gelembung)
b. Selection Sort (Metode Seleksi)
c. Insert Sort (Metode Penyisipan)

3. Contoh Teoritis Sorting


a. Bubble Sort (Metode Gelembung)
#include<iostream>
using namespace std;

int main()
{ int a,k,c,d,g;
k=5;
int b[5];

cout<<"mengurutkan nilai dari kecil ke besar"<<endl<<endl;


for(a=0;a<k;a++)
{
cout<<"Masukkan nilai "<<a+1<<" : ";cin>>b[a];
}
for(a=0;a<k-1;a++)
{

for(d=a+1;d<k;d++)
{
c=a;
if(b[c]>b[d])
{
c=d;
}
g=b[c];
b[c]=b[a];
b[a]=g;
}

}
cout<<"\n setelah diurutkan akan menjadi : \n";
for(a=0;a<k;a++)
{
cout<<b[a]<<" \n";
}
}

b. Selection Sort (Metode Seleksi)


#include "stdio.h"
int main()
{
int L[20],temp,i,j,n=7;
printf("pengurutan berdasarkan Selection sort \nmasukkan %d
elements: \n",n);
for(i=0;i<n;i++){
scanf("%d",&L[i]);}

printf("\nsebelum sorting: ");

for(i=0;i<n;i++){printf("%d ",L[i]);}

for(i=0;i<(n-1);i++){
/*5 3 2 4 ===> 3 5 2 4, 2 5 3 4, 2 5 3 4 // 2 3 5 4, 2 3 5 4 // 2 3 4 5*/
for(j= i+1;j<n;j++){
if(L[i]>L[j]){
temp=L[i];
L[i]=L[j];
L[j]=temp;
}
}
}

printf("\nsetelah sorting: ");


for(i=0;i<n;i++){printf("%d ",L[i]);}
printf("\n");

c. Insert Sort (Metode Penyisipan)


#include<iostream>

using namespace std;

int main()
{
int i,j,n,nilai,a[30];
cout<<"Masukkan Jumlah data : ";
cin>>n;
cout<<"Masukkan nilai : "<<endl;

for(i=0;i<n;i++)
{
cin>>a[i];
}

for(i=1;i<=n-1;i++)
{
nilai=a[i];
j=i-1;

while((nilai<a[j])&&(j>=0))
{
a[j+1]=a[j];
j=j-1;
}

a[j+1]=nilai;
}
cout<<"Hasil Urutan"<< " ";
for(i=0;i<n;i++)
{
cout<<a[i];
}

return 0;
}

Anda mungkin juga menyukai