Subscribe:

Rabu, 20 Maret 2013

Program Pengurutan - SELECTION SORT (java)


Keyword: Analisa, Algoritma, Contoh Program di Java, Perbandingan, Pseudocode

ANALISA

Selection Sort melakukan pengurutan dengan membaca seluruh data dari awal sampai akhir sambil mencari data terkecil. Setelah ditemukan data terkecil dari seluruh data, data terkecil tersebut ditukar dengan indeks terkecil. Kemudian, dicari data yang terkecil ke-2, dan ditukarkan dengan indeks terkecil berikutnya (ke-2). Looping (perulangan) akan berakhir ketika sudah tidak ada yang bisa ditukarkan. Seluruh data sudah berada di posisinya.

ALGORITMA


1)   Terdapat sebuah array data a[0] sampai a[n-1]
2)   Melakukan perulangan (dengan variable j) dari j = 0 sampai j < (n-1)
      Lakukan langkah 3 – 6.

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

3)   Menjadikan j sebagai nilai min.
4)   Melakukan perulangan (dengan variable i) dari i = j+1 sampai i < n
      Lakukan langkah 5.

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

5)   Membandingkan nilai a[i] dengan a[min].
      Kalau a[i] < a[min], jadikan min = i

       if (a[i] < a[min]) {min = i; }

6)   Melakukan proses swap (tukar) untuk a[j] dengan a[min].

       int temp   = array[y];
       array[y]   = array[min];
       array[min] = temp;

7)   SELESAI


CONTOH PROGRAM DI JAVA
 
public static void selection_sort(int array[]) {
        for (int y = 0; y < array.length; y++) {
            int min = y;
            for (int x = y; x < array.length; x++) {
                if (array[x] < array[min]) {min = x; }
            }
            int temp   = array[y];
            array[y]   = array[min];
            array[min] = temp;
        }
    }


PERBANDINGAN ALGORITMA

Untuk kasus-kasus sederhana dengan jumlah data sedikit, Selection Sort dapat diunggulkan bila dibandingkan dengan Bubble Sort atau Gnome Sort. Algoritma pengurutan ini sangat mirip bila dibandingkan dengan Insertion Sort. Perbedaannya, Insertion Sort hanya akan mendeteksi elemen-elemen yang diperlukan; sedangkan Selection Sort akan mendeteksi semua elemen dari awal sampai akhir kemudian baru diurutkan. Untuk jumlah data sedikit, perbandingan kecepatan pengurutan Insertion Sort dan Selection Sort bisa sekitar 1 : 2. Jadi, untuk kebanyakan kasus, Insertion Sort lebih cepat setengah perbandingan. Untuk data-data yang banyak, Selection Sort dapat diandalkan dengan algoritmanya ‘divide and conquer’ seperti pada Merge Sort
 

ANIMASI


3 komentar:

Magnetic Island Artist Edward Blum. mengatakan...

Thank you this blog is fantastic, thank you for sharing. Australia.

Denny blogspot mengatakan...

Denny blogspot mengucapkan,,marhaban ya ramadhan, senyum sapa dari saya untuk sobat blogger di bulan yang suci dan penuh berkah ini...visit balik ya sob...

Yudha Niagara mengatakan...

terima kasih atas tutorial nya gan...

Posting Komentar

Silahkan memberikan komentar di sini. Terima kasih.

Ayat Alkitab Hari Ini

 
1. A7X - Warmness In The Soul 2. D'Bagindas - Maafkan 3. Judika - Aku Yang Tersakiti 4. Agnes Monica - Rindu 5. Winda - Kutemukan Penggantinya 6. Cinta Kuya - Mimpi Terindah 7. Super Girlies - Aw Aw Aw 8. Kerispatih (versi Sammy) - Aku Harus Jujur 9. Radja - Seandainya 10. ST12 - Kepedihan Jiwa 11. Mr. Big - Just Take My Heart 12. O.M.S. - Curhat 13. Iniaku Band - Jangan Teteskan Air Mata 14. Vidi Aldiano - Lagu Kita 15. Toni Braxton - Unbreak My Heart 16. Princess - Jangan Pergi 17. OVJ - Kite Lagi 18. Mulan Jameela - Aku Cinta Kau dan Dia 19. Lyla - Detik Terakhir 20. Pasca Driyarkara - Just Enjoy It