Mar 312010
 

berikut ini adalah seuah program, leih tepatnya source code bahasa c++ yang digunakan untuk sorting dengan 3 metode; yaitu dengan metode bubble sort, selection sort, and insertition sort. tidak hanya bisa mengurutkan dari kecil ke besar, namun juga menentukan nilai terkecil, terbesar, jumlah total, rata-rata, serta banyaknya data yang bernilai dibawah rata-rata. oke, ga usah terlalu banyak basa-basi, langsung aja source code nya:



————————————begin——————————-

#include “iostream.h”

void bbsort(int a[], int ukuran);
void selectsort(int a[], int ukuran);
void isort(int arr[], int n);
int fm(int arr[], int b, int n);

//Fungsi Bubble Sort
void bbsort(int a[], int ukuran)
{
int tukar = 1;
int tampung = 0;
int i = 0;
int j = 0;

ukuran -= 1;

for(i = 0; i < ukuran && tukar; i++) { tukar = 0; for(j = 0; j < ukuran - i; j++) if(a[j] > a[j+1])
{
tukar = 1;
tampung = a[j];
a[j] = a[j + 1];
a[j + 1] = tampung;
}
}
}

//Fungsi Insertion Sort
int fm(int arr[], int b, int n)
{
int f = b;
int c;

for(c = b + 1; c < n; c++) if(arr[c] < arr[f]) f = c; return f; } void isort(int arr[], int n) { int s, w; int sm; for(s = 0; s < n - 1; s++) { w = fm(arr, s, n); sm = arr[w]; arr[w] = arr[s]; arr[s] = sm; } } //Fungsi Selection Sort void selectsort(int a[], int ukuran) { int i = 0; int j = 0; int besar = 0; int index = 0; for(i = ukuran - 1; i > 0; i–)
{
besar = a[0];
index = 0;
for(j = 1; j <= i; j++) if(a[j] > besar)
{
besar = a[j];
index = j;
}
a[index] = a[i];
a[i] = besar;
}
}

#define maxarr 9
//Program Utama
int main(void)
{
int arr[maxarr] = {45, 15, 7, 16, 30, 5, 80, 20, 60};
int i = 0;
int pilih;
int salah=1, jum=0, itung=0;
float rata;

cout<<"Sebelum Diurutkan :\n"; for(i = 0; i >pilih;
switch(pilih)
{
case 1 :
{
cout<<"\n 1. Bubble Sort "; bbsort(arr,maxarr); salah=1; } break; case 2: { cout<<"\n 2. Insertion Sort"; isort(arr,maxarr); salah=1; } break; case 3: { cout<<"\n 3. Selection Sort"; selectsort(arr,maxarr); salah=1; } break; default: { cout<<"Anda salah dalam menentukan pilihan \n"; salah=0; } } } while (salah!=1); cout<<"Setelah Diurutkan: \n"; for(i = 0; i < maxarr; i++) { cout<<" "<

Sorry, the comment form is closed at this time.