icomit

Just another WordPress.com site

1Jam Mahir Selection Sort Menggunakan Java!

Dasaran Dulu…

Sebelum kita mengulas lebih jauh mengenai selection sort, akan lebih baik apabila kita tahu dulu apa itu selection sort. Okey, gak usah panjang lebar, berikut adalah penjabarannya.

Selection sort adalah salah satu algoritma yang digunakan untuk memecahkan masalah pengurutan(sorting) data pada suatu larik(array). Ide dasar algoritma ini adalah melakukan beberapa kali  pass untuk melakukan penyeleksian elemen array. Untuk  sorting ascending (menaik), elemen yang paling kecil di antara elemen-elemen yang belum urut, disimpan indeksnya, kemudian dilakukan pertukaran nilai elemen dengan indeks yang disimpan tersebut dengan elemen yang paling depan yang belum urut. Sebaliknya, jika dilakukan sorting descending(menurun), elemen yang terbesar dari array yang belum terurut disimpan indeksnya untuk kemudian dilakukan pertukaran dengan nilai indeks yang terbesar dari elemen array.

Penggunaan algoritma selection sort sering kita jumpai ketika kita akan mengurutkan sejumlah kartu bridge. Kita susun beberapa kartu bridge dalam suatu larik kemudian kita lakukan selction sort dengan memilih kartu yang nilainya paling kecil(jika ascending) lalu kita tukar dengan kartu yang paling ujung dari kartu-kartu yang belum terurut hingga akhirnya didapatkan kartu-kartu yang telah terurut.

Cara Kerja Algoritma Selection Sort

Bagaimana cara kerja dari algoritma selction sort? Berikut adalah langkah perlangkah cara kerja dari algoritma yang bekerja pada suatu elemen array.

  1. Tetapkan suatu indeks yang akan dijadikan awal dari sorting, biasanya indeks pada awal array.
  2. Jika akan dilakukan sorting secara ascending maka cari elemen yang paling kecil dengan membandingkan dengan nilai indeks yang dijadikan patokan. Lakukan hal yang sebaliknya jika akan melakukan sorting secara descending.
  3. Jika ada nilai yang memenuhi dari langkah b maka lakukan pertukaran indeks yang dijadikan patokan.
  4. Hasil akhir dari langkah c adalah didapat nilai indeks yang terkecil(jika ascending) kemudian tukarkan nilai indeks tersebut dengan nilai indeks yang paling ujung dari elemen yang belum terurut.
  5. Lakukan langkah-langkah di atas hingga didapatkan elemen array yang telah terurut.

Dari rangkuman langkah perlangkah algoritma selection sort di atas, didapatkan suatu desain algoritma dalam bentuk pseodocode. Berikut adalah pseudocode dari algoritma selection sort.

Algoritma Selection Sort pada Bahasa Java

Untuk mengimplementasikan algoritma selection sort, kita dapat membuat dua class. Yang pertama adalah class SelectionSort yang di dalamnya terdapat method sort() yang berisi algoritma selection sort. Berikut adalah kode program lengkapnya.

public class SelectionSort {
 protected static void sort(int[]arr){
   for (int i = 0; i < arr.length; i++) {
   int min=i;
     for(int j=0;j<arr.length;j++){
       if(arr[j]<arr[min])
          min=j;
      //proses pertukaran
      int temp=arr[min];
      arr[min]=arr[i];
      arr[i]=temp;
      }
    }
  }
}

Untuk menjalankan class SelectionSort kita membutuhkan sebuah class yang berisi method main yang berfungsi sebagai titik awal program java berjalan. Berikut kode programnya.


public class DemoSelectionSort {
  public static void main(String[] args) {
    int[]data={6,13,1,2,8};
    System.out.println("Sebelum Proses Sorting...");
    tampil(data);
    SelectionSort.sort(data);
    System.out.println("Sesudah Sorting...");
    tampil(data);
 }
   static void tampil(int[]arr){
     for (int i = 0; i < arr.length; i++) {
       System.out.print(arr[i]+" ");
     }
    System.out.println();
  }
}

Kode program di atas adalah class DemoSelectionSort yang fungsinya sebagai class utama. Terdapat dua buah method yakni method main dan method tampil yang berfungsi untuk menampilkan elemen array melalui suatu proses iterasi.

Hasil yang kita dapatkan ketika class DemoSelectionSort ini dijalankan:

output selection sort

Download artikel ini

Advertisements

One response to “1Jam Mahir Selection Sort Menggunakan Java!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: