Minggu, 19 Juni 2016

Selection Sort


Cara kerja metode ini didasarkan pada pencarian elemen dengan nilai terkecil, kemudian dilakukan penukaran dengan elemen ke-I. Secara singkat, metode ini bisa dijelaskan sebagai berikut. Pada langkah pertama, dicari data yang terkecil dari data pertama sampai data terakhir. Kemudian data tersebut kita tukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data lain. Pada langkah kedua, data terkecil kita cari mulai dari data kedua sampai data terakhir. Data terkecil yang kita peroleh kita tukar dengan data kedua. Demikian seterusnya sampai suluruh data terurut.

Metode selection sort merupakan perbaikan dari metode bubble sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode pengurutan dengan mencari nilai data terkecil dimulai dari data diposisi 0 hingga diposisi N-1. Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka algoritma pengurutan dengan metode selection sort adalah sebagai berikut:
1. Cari data terkecil dalam interval j = 0 sampai dengan j = N-1
2. Jika pada posisi pos ditemukan data yang terkecil, tukarkan data diposisi pos dengan data di posisi i jika k.
3. Ulangi langkah 1 dan 2 dengan j = j+i sampai dengan j = N-1, dan seterusnya sampai j = N - 1.

Bila diketahui data awal berupa: 44 55 12 42 94 18 6 67, maka langkah per langkah pengurutan dengan metode selection sort adalah sebagai berikut:


Nah, begitulah prosesnya. Selanjutnya mari kita lanjutkan ke codingannya :

package tugas_alpro;

public class selectionsort {

              public static void main(String[] args) {
             
                    
              int arr[]={44,55,12,42,94,18,06,67};
              System.out.print("Angka sebelum di sorting : ");
              for (int i = 0; i < arr.length; i++) {
                     System.out.print(arr[i]+", ");
              }
              System.out.println("");
              int min=0; int temp;
              for(int i=0;i<=arr.length-1;i++){
                  min=i;
                  for (int k=i+1;k<arr.length;k++){
                      if(arr[k]<arr[i]){
                          temp=arr[i];
                          arr[i]=arr[k];
                          arr[k]=temp;
                      }
                  }
              }
              System.out.print("Angka sesudah di sorting : ");
              for (int j=0;j<=arr.length-1;j++)
                  System.out.print(arr[j]+", ");

              }

              }

v  Result



Tidak ada komentar:

Posting Komentar