Pages

Langkah Mudah Membuat Selection Sort Menggunakan Java

Jumat, 15 April 2011

Jika anda diminta untuk membuat algoritma sorting  tersendiri, anda mungkin akan menemukan sebuah algoritma yang mirip dengan selection sort. Layaknya insertion sort, algoritma ini sangat rapat dan mudah untuk diimplementasikan.Mari kita kembali menelusuri bagaimana algoritma ini berfungsi terhadap satu paket kartu.  Asumsikan   bahwa   kartu   tersebut   akan   diurutkan   secara  ascending.   Pada awalnya,  kartu  tersebut  akan disusun secara  linier pada sebuah meja dari  kiri  ke kanan,   dan  dari   atas   ke   bawah.   Pilih  nilai   kartu  yang  paling   rendah,   kemudian tukarkan posisi kartu ini dengan kartu yang terletak pada pojok kiri atas meja. Lalu cari  kartu dengan nilai  paling rendah diantara sisa kartu yang  tersedia.  Tukarkan kartu yang baru  saja  terpilih dengan kartu pada posisi  kedua. 
Ulangi   langkah – langkah   tersebut   hingga   posisi   kedua   sebelum  posisi   terakhir   dibandingkan   dan dapat digeser dengan kartu yang bernilai lebih rendah. Ide utama dari algoritma selection sort adalah memilih elemen dengan nilai paling rendah dan menukar elemen yang terpilih dengan elemen ke-i. Nilai dari  i  dimulai dari 1 ke n, dimana n adalah jumlah total elemen dikurangi 1.
Algoritma Selection Sort
void selectionSort(Object array[], int startIdx, int endIdx) {
int min;
for (int i = startIdx; i < endIdx; i++) {
min = i;
for (int j = i + 1; j < endIdx; j++) {
if (((Comparable)array[min]).compareTo(array[j])>0) {
min = j;
}
}
swap(array[min], array[i]);
}
}

Contoh







Dari Algoritma diatas yaitu algoritma tentang Selection Sort, dapat di implementasikan terutama pada algoritmanyajadi seperti dibawah ini :
 
 public class selectionsort_2 {
   protected static void sort(int[]arr){
   for (int i = 0; i < arr.length; i++) {
   int min=i;
     for(int j=0;j
       if(arr[j]
          min=j;
      //proses Tukar deret
      int temp=arr[min];
      arr[min]=arr[i];
      arr[i]=temp;
      }
    }
  }

Jika anda menjalankan algoritma diatas besar kemungkinan dan pasti tidak dapat dijalankan karena dia butuh method main yang gunanya untuk menjalankan algoritma Selection Sort diatas kalau tidak percaya coba deh langsung di running ….
Nah nerikut ini adalah coding program nya yaitu method main nya.

public static void main(String[] args) {
        
    int[]data={3,4,5,6,7,8,9,1};
    System.out.println("=================");
    System.out.println("Sebelum Terurut...");
    muncul(data);
    selectionsort_2.sort(data);
    System.out.println("Sesudah Terurut...");
    System.out.println("=================");
    muncul(data);
 }
   static void muncul(int[]arr){
     for (int i = 0; i < arr.length; i++) {
       System.out.print(arr[i]+" ");
     }
    System.out.println();
                }
}

Dimana peletakannya yaitu di bawah algoritma, dan mendapatkan hasil sebelum dan sesudah dilakukan penggurutan










 oke mungkin cukup sekian dulu ya tetang Sorting dimana penggurutan Selection Sort Mudah bukan.



0 komentar:

Posting Komentar

 
Angga Ramadhan Blog © 2011 | Designed by Blogger Templates Gallery