TUGAZ SORTING/bubble sort & exchange sort

ALGORITMA BUBBLE SORT

Bubble Sort adalah cara mengurut yang sederhana. Cara kerjanya adalah dengan melakukan proses looping berulang-ulang terhadap elemen-elemen struktur data yang belum diurutkan. Dalam proses looping tersebut nilai dari dua struktur data dibandingkan,dan jika ternyata urutannya tidak sesuai dengan urutan,maka dilakukan proses penukaran atau disebut swap.

Exchange Sort

Melakukan pembandingan antar data, dan melakukan pertukaran apabila urutan yang

didapat belum sesuai. Bisa dikatakan Bubble sort sama dengan Exchange Sort karena kedua metode ini melakukan pertukaran berulang-ulang terhadap elemen data yang belum diurutkan.

Berikut ilustrasinya :

Sort Bubble / Exchange Sort Memindahkan elemen yang sekarag dengan elemen yang berikutnya, jika elemen sekarang > elemen berikutnya, maka tukar Proses :

Langkah 1 :

data1

Pengecekan dapat dimulai dari data paling awal atau paling akhir. Pada contoh di samping ini pengecekan di mulai dari data yang paling akhir. Data paling akhir dibandingkan dengan data di depannya, jika ternyata lebih kecil maka tukar. Dan pengecekan yang sama dilakukan terhadap data yang selanjutnya sampai dengan data yang paling awal.

data2Proses di atas adalah pengurutan data dengan cara metode bubble

/ Exchange Sort ascending. Untuk yang descending adalah kebalikan dari proses diatas.

Programnya :

#include <iostream.h>

#include <conio.h>

int data[100],data2[100];

int n;

void tukar(int a,int b)

{

int t;

t = data[b];

data[b] = data[a];

data[a] = t;

}

void bubble_sort()

{

for(int i=1;i<n;i++)

{

for(int j=n-1;j>=i;j–)

{

if(data[j]<data[j-1]) tukar(j,j-1);

}

}

cout<<“bubble sort selesai!”<<endl;

}

void exchange_sort()

{

for (int i=0; i<n-1; i++)

{

for(int j = (i+1); j<n; j++)

{

if (data [i] > data[j]) tukar(i,j);

}

}

cout<<“exchange sort selesai!”<<endl;

}

void Input()

{

cout<<“Masukkan jumlah data = “; cin>>n;

for(int i=0;i<n;i++)

{

cout<<“Masukkan data ke-“<<(i+1)<<” = “; cin>>data[i];

data2[i] = data[i];

}

}

void Tampil()

{

cout<<“Data : “<<endl;

for(int i=0;i<n;i++)

{

cout<<data[i]<<” “;

}

cout<<endl;

}

void AcakLagi()

{

for(int i=0;i<n;i++)

{

data[i] = data2[i];

}

cout<<“Data sudah teracak!”<<endl;

}

void main()

{

int pil;

clrscr();

do

{

clrscr();

cout<<“Program Sorting !!!”<<endl;

cout<<“*********************************************”<<endl;

cout<<” 1. Input Data”<<endl;

cout<<” 2. Bubble Sort”<<endl;

cout<<” 3. Exchange sort”<<endl;

cout<<” 4. Tampilkan Data”<<endl;

cout<<” 5. Acak Data”<<endl;

cout<<” 6. Exit”<<endl;

cout<<” Pilihan Anda = “; cin>>pil;

switch(pil)

{

case 1:Input(); break;

case 2:bubble_sort(); break;

case 3:exchange_sort();break;

case 4:Tampil(); break;

case 5:AcakLagi(); break;

}

getch();

}while(pil!=6);

}

~ by rusdia on July 1, 2009.

3 Responses to “TUGAZ SORTING/bubble sort & exchange sort”

  1. thanks for your information about the sort algorithm…

  2. makasi gan ilmunya🙂

  3. program nya error gan… tidak bisa run,,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: