SORTING & SEARCHING
Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu.
Untuk melakukan proses pengurutan dapat menggunakan beberapa metode antara lain :
1. Bubble sort
adalah metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya. Perbandingan elemen dapat dimulai dari data yang paling awal atau yang paling akhir.
2. Selection sort
adalah suatu metode pengurutan yang membandingkan elemen yang sekarang dengan elemen berikutnya sampai ke elemen yang terkhir.
3. Quick sort
adalah suatu metode pengurutan yang membandingkan suatu elemen dengan elemen yang lain dan menyusunnya sedemikian rupa sehingga elemen yang lain lebih kecil dari pada pivod terletak disebelah kiri pivod sedangkan elemen yang lebih besar dari pivod diletakkan disebelah kanan pivod
4. Merge sort
adalah suatu metode pengurutan yang membandingkan elemen satu dengan elemen yang lain, apabila nilainya lebih kecil maka datanya ditampung dielemen yang lain lagi.
Contoh program sorting menggunakan Bubble Sort :
Algoritma :
1. tentukan data-data yang akan diurutkan dan disimpan dalam array .
2. lakukan pengulangan dari data-data tersebut.
3. lakukan perbandingan antara data yang satu dengan data yang lain, maka posisinya ditukar. Kalau tidak,posisinya tetap.
4. tampilkan data hasil perbandingan .
5. ulangi langkah 3, sampai semua data dibandingkan
6. selesai
Programnya :
//program:buble.cpp
#include
#include
void main()
{
int NumList[8]= {5,34,32,25,75,42,22,2};
int swap;
// int setw;
// int ctr;
cout<<"Data sebelum diurutkan: \n";
for (int ctr=0; ctr <8; ctr++)
{
cout<<
}
cout<<"\n\n";
for (int i=0; i<7; i++)
for (int ii =0; ii<7; ii++)
if (NumList[ii]>NumList[ii+1] )
{
swap=NumList[ii];
NumList[ii] = NumList[ii+1];
NumList[ii+1]; swap;
}
cout<<"Data setealh diurutkan: \n";
for (int iii=0; iii<8; iii++) {
cout<<< NumList[iii];
cout<<
}
}
Hasilnya :
Data sebelum diurutkan :
5,34,32,25,75,42,22,2
Data setelah diurutkan :
2
2
2
2
2
2
2
2
Searching adalah proses pencarian suatu elemen didalam array.
Ada dua macam searching (pencarian) adalah:
Pencarian sekuensial (pencarian linier)
Pencarian ini menggunakan prinsip sebagai berikut : data yang ada pada suatu array dibandingkan satu persatu dengan data yang dicari. Pencarian ini dilakukan dengan melakukan suatu pengulangan dari 1 sampai semua data yang ada.
Pencarian biner
Pencarian biner adalah metode pencarian suatu ndata atau elemen didalam suatu array dengan kondisi data dalam keadaan urut.
Contoh program searching sekuensial :
#include
#include
/**************************************/
/*********Function Prototypes*********/
/************************************/
int linear_search(int[],int,int);
/************ Main ( ) ************/
main ()
{
clrscr();
const int array_size=10;
int array[array_size]={25,36,2,48,0,69,14,22,7,19};
cout<<" **************************"<
cout<<" ******* linear Search ****"<
cout<<" **************************"<
gotoxy(1,24);
cout<<" **************************"<
cout<<" ********************************" ;
gotoxy(1,5);
cout<<" Isi dari array adalah : "<
cout<<"\n Array : "<<"\t\t Data: "<
for (int count=0;count
{
cout<<"\t"<<" array ["<<<"]"<<"\t\t";
cout<<
}
int searching_element=0;
int flag=0;
cout<<"\n\n masukan data yang Anda cari = ";
cin>>searching_element;
flag=linear_search(array,array_size,searching_element);
if(flag!=-1)
cout<<"\n Data tersebut ditemukan pada posisi : array["<<<"]";
else
cout<<"\n data tersebut tidak ditemukan ";
getch();
return 0;
}
/************ Function Definitions ********/
/********** Linear_search(int [],int,int) ****/
int linear_search(int array[],int array_size,int element)
{
int flag=-1;
for(int count=0;count
{
flag=count;
break;
}
return flag;
}
/******************* THE AND *****************/
Hasilnya :
*************************
******* Linear Search ******
*************************
Isi dari array adalah :
Array : data :
array [0] 25
array [1] 36
array [2] 2
array [3] 48
array [4] 0
array [5] 69
array [6] 14
array [7] 22
array [8] 7
array [9] 9
masukan data yang anda cari = 5
data tersebut ditemukan pada posisi : array [8]
**************************
*****************************
Jumat, 08 Januari 2010
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar