Archive for Juli 2018
PENGERTIAN SORTING DAN CONTOH PROGRAMNYA DALAM C++
Selasa, 03 Juli 2018
Posted by Steven Cornelius VR
Tag :
Algoritma Pemrograman,
sorting
SORTING
Sorting adalah suatu peroses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya pengurutan terbagi menjadi 2 yaitu : ascending ( pengurutan dari karakter/angka kecil ke karakter/angka besar ke karakter/angka angka kecil ) ada banyak cara yang dapat dilakukan untuk melakukan proses paling atas kepaling bawah atau sebaliknya. Untuk melakukan proses pengurutan dapat menggunakan beberapa metode anatar lain :
1) Bubble Sort
Bubble sort adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. Pembandingan alamatnya dapat dimulai dari data yang paling awal atau yang paling akhir. Apabila elemen yang sekarang ( sebelumnya ) lebih besar dari elemen berikutnya, maka posisi ditukar, kalau tidak posisinya tetap atau tidak perlu ditukar.
2) Selection Sort
Selection sort adalah suatu metode pengurutan yang mebandingkan elemen yang sekarang dengen elemen berikutnya samapai elemen terahkir. jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan langsung ditukar.
3) Quick Sort
Quick sort adalah suatu metode pengurutan yang mebandingkan suatu elemen ( pivot ) dengan elemen lain dan menyusunkan sedemikian rupa sehingga elemen yang lain lebih kecil dari pada pivot terletak disebelah kiri kiri pivot sedangkan elemen yang lebih besar dari pivot diletakan disebelah kanan pivot.
4) Merge Sort
Merge sort adalah suatu metode pengurutan yang mebandingkan elemen satu dengan elemen yang lain, Apabalia nilainya lebih kecil maka datanya ditampung di elemen yang lain lagi.
Contoh Sorting Dalam Program C++
Contoh 1 :
#include<iostream>
void BubbleSort(int data[],int n); //prototipe fungsi
using namespace std;
int main()
{
cout<<"NAMA :VISCA REZA STEVEN CORNEL PARDEDE"<<endl;
cout<<"NIM :171011401084"<<endl;
cout<<"RUANGAN :02TPLE 013"<<endl;
cout<<"MATKUL :ALGORITMA DAN PEMROGRAMAN"<<endl;
cout<<"Tugas Program :Mengurutkan data dengan metode Penyisipan"<<endl;
cout<<"============================================================\n\n"<<endl;
int i;
int n=9; //jml data = 10, maka n=9
int data[]={20,10,32,100,60,12,70,25,45,65};
cout<<"Sebelum diurutkan : "<<endl;
for(i=0;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
cout<<"____________________________"<<endl;
BubbleSort(data,n); /*pemanggilan fungsi bubblesort*/
cout<<"Setelah diurutkan : "<<endl;
for(i=0;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
void BubbleSort(int array1[],int n)
{
int i,k,tmp;
for(n-1;i<=n;i++)
{
for(k=n;k>=i;k--)
{
if(array1[k]<array1[k-1])
{
tmp=array1[k];
array1[k]=array1[k-1];
array1[k-1]=tmp;
}
}
}
}
Hasilnya :
Contoh 2 :
/*Mengurutkan data dengan metode Penyisipan*/
#include<iostream>
#define A 8 /*Jumlah data*/
void InsertionSort(int data[],int n); /*prototipe fungsi*/
using namespace std;
int main()
{
cout<<"NAMA :VISCA REZA STEVEN CORNEL PARDEDE"<<endl;
cout<<"NIM :171011401084"<<endl;
cout<<"RUANGAN :02TPLE 013"<<endl;
cout<<"MATKUL :ALGORITMA DAN PEMROGRAMAN"<<endl;
cout<<"Tugas Program :Mengurutkan data dengan metode Penyisipan"<<endl;
cout<<"============================================================\n\n"<<endl;
int i;
int n=A-1;
int data[]={12,20,35,10,50,72,25,28};
cout<<"Sebelum diurutkan :"<<endl;
for(i=0;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
cout<<"_______________________________________________"<<endl;
InsertionSort(data,n);
cout<<"Setelah diurutkan :"<<endl;
for(i=0;i<=n;i++)
cout<<data[i]<<" ";
cout<<endl;
}
void InsertionSort(int array1[],int n)
{
int i,j,x;
bool ketemu;
for(i=1;i<=n;i++)
{
x=array1[i];
j=i-1;
ketemu=false;
while((j>=0)&&(!ketemu))
{
if(x>array1[j])
{
array1[j+1]=array1[j];
j=j-1;
}
else
ketemu=true;
}
array1[j+1]=x;
}
}
Hasilnya :