Jumat, 31 Januari 2014

Sorting

Share it Please
Pada artikel ini saya akn mencoba untuk function SORTING pada java.
sebelumnya saya jelaskan dulu apa itu sorting
Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Dalam artian sorting digunakan untuk mengurutkan sesuatu ( misalnya : kata, buku telepon , dll ). Sorting yang kita terapkan menggunakan tipe data array agar pemahaman serta pengimplementasiannya lebih mudah

Macam-macam sorting
  •  Bubble sorting
  • Insertion Sort
  •  Marge Sort
  • Selection sort
  •  Quick Sort
pada artikel ini saya akan coba dari salah satu tipe sort diatas yaitu Marge Sort dengan menffunakan fungsi di bawah ini :

/**
 *
 * @author Peter David
 */
public class MergeSort {

      public static void main(String [] args){
      int i;
      int array[] = {12,9,4,99,120,1,3,10};
      System.out.println("\n\n RoseIndia\n\n");
      System.out.println(" Selection Sort\n\n");
      System.out.println("Values Before the sort:\n");
      for(i = 0; i < array.length; i++)
      System.out.print( array[i]+"  ");
      System.out.println();
      mergeSort_srt(array,0, array.length-1);
      System.out.print("Values after the sort:\n");
      for(i = 0; i <array.length; i++)
      System.out.print(array[i]+"  ");
      System.out.println();
      System.out.println("PAUSE");
      }
      public static void mergeSort_srt(int array[],int lo, int n){
      int low = lo;
      int high = n;
      if (low >= high) {
      return;
      }
      int middle = (low + high) / 2;
      mergeSort_srt(array, low, middle);
      mergeSort_srt(array, middle + 1, high);
      int end_low = middle;
      int start_high = middle + 1;
      while ((lo <= end_low) && (start_high <= high)) {
      if (array[low] < array[start_high]) {
      low++;
      } else {
      int Temp = array[start_high];
      for (int k = start_high- 1; k >= low; k--) {
      array[k+1] = array[k];
      }
      array[low] = Temp;
      low++;
      end_low++;
      start_high++;
      }
      }
      }

    }

dan akan menghasilkan output seperti gambar di bawah ini :



Source : JENI (Java Education Network Indonesia)

Tidak ada komentar:

Posting Komentar

Followers

Follow The Author