Rabu, 22 Desember 2010

Bahasa C : Sorting Bubble Sort

Algoritma Bubble Sort

Algoritma bubble sort dalam proses pengurutan data secara sederhana bisa diibaratkan seperti halnya gelembung udara (bubble). Algoritma ini akan menggeser  nilai yang terkecil atau terbesar (sesuai dengan jenis pengurutan, ascending atau descending) ke posisi ujung dari daftar. Demikian seterusnya hingga semua daftar dalam keadaan terurut. Proses dasar yang terjadi dalam algoritma ini adalah proses pertukaran nilai (swapping).

contoh Implementasi Bubble Sort :
Program Pengurutan Angka Dengan Bubble Sort

Coding 3 file..


•    file.h (header)
#include <stdio.h>

void swaping();
void InputArray();
void CetakArray();
void Sorting();
// save dengan nama file.h sebagai contoh : gumi.h

•    file.c (prosedure utama program tersebut)
#include "gumi.h" // gunakan nama file.h yang telah di buat sebelumnya

void InputArray(int A[],int MAX){
        int i;
        for(i=0;i<MAX;i++){
            printf("A[%d]= ",i);
            scanf("%d",&A[i]);
        }
        system("cls");
        printf(".....BubbleSort.....\n");
        printf("\n");
        printf("Deret Angka Asli: \n");
} // ini adalah prosedure untuk menginput array, jadi dalam program ini di mungkinkan user untuk menginput array sebanyak yang dia inginkan

void CetakArray(int A[],int n){
    int j;
    for(j=0;j<n;j++){
        printf("A[%d]= %d \n",j,A[j]);
    }
} // ini adalah prosedure untuk menampilkan array yang tersedia

void swaping(int A[], int b, int tmp){
    tmp=A[b];
    A[b]=A[b-1];
    A[b-1]=tmp;
} // ini adalah prosedure untuk menukarkan isi array

void Sorting(int A[],int MAX){
    int a, b, tmp;
        for(a=0;a<(MAX-1);a++){
            for (b=(MAX-1);b>=(a+1);b--){
                if(A[b]<A[b-1]){
                    swaping(A,b,tmp);
                }
            }
        }
        printf("\n");
}// ini adalah prosedure bubble sort nya,,, yaitu prosedure untuk mengurutkan isi array

•    file main.c // kalau yang ini nama file nya harus main.c ya
 #include "gumi.h"

int main(){
    int MAX;
    system("cls");
    printf("Masukkan Mau Berapa Angka :  \n");
    scanf("%d",&MAX);
    int A[MAX];
    printf("Masukan Angka : \n")
    InputArray(A,MAX); 
    CetakArray(A,MAX);
    Sorting(A,MAX);
    printf("Hasil Akhir: \n");
    CetakArray(A,MAX);
    getch();
    return 1;
}

}


Cara mengcompile ke-3 file tersebut bisa di lihat di sini (pastikan 3 file tersebut berada di file khusus dan tidak

1 komentar:

  1. Artikelnya menarik kak, ini saya juga punya artikel tentang Bubble Sort, semoga dapat saling melengkapi

    Bubble Sort dalam Bahasa C (Materi + Koding)

    BalasHapus