Senin, 20 Juni 2016

Algoritma Pengurutan dengan java (Selection Sort & Bubble Sort)



Pengurutan atau “Sorting“ adalah suatu proses menyusun data dari semulanya tidak teratur menjadi data yang teratur sesuai dengan yang diinginkan pengguna dengan suatu pola tertentu, sehingga tersusun secara teratur menurut aturan tertentu ( untuk data yang bertipe numerik atau karakter).

Dua Macam Pengurutan


  •       Ascending (urut naik) merupakan pengurutan dari angka yang nilainya lebih kecil kemudian menuju ke nilainya yang lebih besar.
  •       Descending (urut turun) adalah sebaliknya, yaitu pengurutan dari nilainya yang lebih besar kemudian menuju ke nilainya yang lebih kecil.



Ada beberapa jenis-jenis pengurutan yang dapat digunakan, di sini akan dibahas  :
        a.      Pengurutan Pilihan (Selection Sort)
        b.      Pengurutan Gelembung (Bubble Sort)


A.    Pengurutan Pilihan (Selection Sort) :
Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya,
kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan
seterusnya.
Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah:
1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan data pertama.
2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua.
3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga
4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan, maka membutukan (n - 1) langkah pengurutan, dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena hanya tinggal satu satunya.
Proses Selection Sort
1.       Ascending
  • Elemen yang paling besar diletakkan di akhir.
  • Elemen yang paling kecil diletakkan di awal.
2.       Descending

  •    Elemen yang paling kecil diletakkan di akhir.
  •    Elemen yang paling besar diletakkan di awal.

Berikut Contoh Gambar Pengurutan dari Selection Sort :















Berikut ini adalah Contoh program pengurutan pilih (Selection Sort).
public class Selection_Sort {
    public static void main(String[] args) {
        int nilai [] = {6,4,5,2,3};
       
        for (int i = 0 ; i<nilai.length-1;i++){
            int min = i;
            for (int x = 1+i ; x<nilai.length; x++){
                 /*System.out.println(min+" "+x);*/
                if (nilai[min] > nilai[x]){
                    min = x;
                }
            }
            int z= nilai[min];
            nilai[min] = nilai [i];
            nilai[i] = z;
        }
        for (int i = 0 ; i<nilai.length;i++){
            System.out.print(nilai[i]+" ");
        }
    }
   
}




      B.      Pengurutan Gelembung (Bubble Sort).
Konsep Buble Sort
Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.

Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing-masing kunci akan dengan lambat menggelembung ke posisinya yang tepat.
Proses Bubble Sort
1.       Ascending
  • Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih besar maka tukar.
  • Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih kecil maka tukar.

2.       Descending
  • Data yang paling awal dibandingkan dengan data berikutnya jika ternyata lebih kecil maka tukar.
  • Data yang paling akhir dibandingkan dengan data sebelumya jika ternyata lebih besar maka tukar.

Berikut Contoh Gambar Pengurutan dari Bubble Sort :


























Berikut ini adalah Contoh program pengurutan Gelembung (Bubble Sort).


public class Bubble_Sort {
    //pola bubble sort
    public static void main(String[] args) {
        int array [] = {6,5,4,3,2,};
        int z;
        for (int i = 0 ; i<array.length-1;i++){
            for (int y = 0; y<array.length-1-i ; y++){
                int j = y+1;
                if (array[y] > array[j]){
                    z = array[y];
                    array[y] = array[j];
                    array [j] = z;
                }
            }
        }
        for (int y = 0 ; y<array.length;y++){
            System.out.println(array[y]);
        }
    }
    
   
}

1 komentar:

  1. Penjelasannya sangat bagus…
    Kunjungi blog saya juga membahas materi dibawah ini beserta kodingnya baik Java, PHP maupun C dan C++

    • Merge sort
    CLICK ME

    • Selection sort
    CLICK ME

    • Insertion sort
    CLICK ME

    • Quick Sort
    CLICK ME

    BalasHapus