Monday, August 16, 2010

Implementasi Algorithma Bubble Sort Menggunakan Java

halo pembaca... kali ini saya coba menulis artikel tentang implemetasi algoritma bubble sort pada bahasa pemrograman java. mungkin bagi anda telah familiar dengan algoritma bubble sort ini. 

Algoritma bubble sort adalah salah satu algoritma pengurutan yang paling simple, baik dalam hal pengertian
maupun penerapannya. Ide dari algoritma ini adalah mengulang proses pembandingan antara tiap-tiap elemen
array dan menukarnya apabila urutannya salah.

Pembandingan elemen-elemen ini akan terus diulang hingga tidak perlu dilakukan penukaran lagi. Algoritma
ini termasuk dalam golongan algoritma comparison sort, karena menggunakan perbandingan dalam operasi antar elemennya.


Berikut ini adalah gambaran dari algoritma  bubble sort.


Misalkan kita mempunyai sebuah array dengan elemenelemen “4 2 5 3 9”. Proses yang akan terjadi apabila digunakan algoritma bubblesort adalah sebagai berikut
. 
Pass pertama
(4 2 5 3 9) menjadi (2 4 5 3 9)
(2 4 5 3 9) menjadi (2 4 5 3 9)
(2 4 5 3 9) menjadi (2 4 3 5 9)
(2 4 3 5 9) menjadi (2 4 3 5 9)

Pass kedua
(2 4 3 5 9) menjadi (2 4 3 5 9)
(2 4 3 5 9) menjadi (2 3 4 5 9)
(2 3 4 5 9) menjadi (2 3 4 5 9)
(2 3 4 5 9) menjadi (2 3 4 5 9)

Pass ketiga
(2 3 4 5 9) menjadi (2 3 4 5 9)
(2 3 4 5 9) menjadi (2 3 4 5 9)
(2 3 4 5 9) menjadi (2 3 4 5 9)
(2 3 4 5 9) menjadi (2 3 4 5 9)

Dapat dilihat pada proses di atas, sebenarnya pada pass kedua, langkah kedua, array telah terurut. Namun
algoritma tetap dilanjutkan hingga pass kedua berakhir. Pass ketiga dilakukan karena definisi terurut dalam
algoritma bubblesort adalah tidak ada satupun penukaran pada suatu pass, sehingga pass ketiga dibutuhkan untuk memverifikasi keurutan array tersebut.

selanjutnya bagaimanakah implementasinya dalam bahasa pemrograman java?. simak baik-baik kode berikut ini :


/**
 *
 * @author Edi Zhou
 */
import java.util.Scanner;
public class pengurutan {

    int[] angka=new int[5];
    public pengurutan()
    {
        Scanner input = new Scanner(System.in);
        for(int i=0;i<5;i++)
        {
            System.out.print("Masukkan Angka ke "+(i+1)+" : ");
            angka[i] = input.nextInt();
        }

        tampilkanAngka();
        urutkanAngka();
        tampilkanAngka();

       
    }

    void tampilkanAngka()
    {
        System.out.println("\n--------------------------------");
        for (int i=0;i<5;i++)
        {
            System.out.print(angka[i]+" ");
        }
    }

    void urutkanAngka()
    {
        int tampung;
        for (int i=0;i<angka.length;i++)
        {
            for(int j=0;j<angka.length-(i+1);j++)
            {
                if(angka[j]>angka[j+1])
                {
                    tampung=angka[j];
                    angka[j]=angka[j+1];
                    angka[j+1]=tampung;
                }

            }
           
        }

    }

    public static void main(String[] aksi)
    {
        pengurutan urut = new pengurutan();
    }
}
 


proses passing dapat anda lihat pada kode cetak tebal diatas. download source code dapat anda klik disini

semoga bermanfaat (edi sugiarto)

referensi :
Ryan Rheinadi, "Analisis Algoritma Bubble Sort", MAKALAH IF2091 STRUKTUR DISKRIT TAHUN 2009, 2009.

Related Posts by Categories



No comments:




Powered By Blogger