Selasa, 24 Januari 2012

Marge Sort


 Coding Marge Sort :

package tugasdaa;
import javax.swing.JOptionPane;
public class mergeSort{
String input="";
String[] angka;
 int[] angka1;
String split=",";
public void inputan(){
int  i;
input=JOptionPane.showInputDialog("Masukkan Angka : ");
angka=input.split(split);
 System.out.println("sebelum proses sorting :\n");
 for( i =0; i < angka.length ; i++)
System.out.print(angka[i] + " ");
mergeSort_srt(angka,0, angka.length-1);
System.out.println("\n\nsetelah di sorting:\n");
for( i = 0; i <angka.length; i++)
System.out.print(angka[i]+" ");
System.out.println();
System.out.println("SELESAI");
}
 void mergeSort_srt(String 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 (Integer.parseInt(array[low]) < Integer.parseInt(array[start_high])) {
  low++;
  } else {
  int Temp;
  Temp= Integer.parseInt(array[start_high]);
  for (int k = start_high- 1; k >= low; k--) {
  array[k+1] = array[k];
  }
  array[low]=String.valueOf(Temp);
  low++;
  end_low++;
  start_high++;
  } } } }

FLOWCHART 
Penjelasan :
  • Jalankan Program
  •  Maukan inputan ( I = 2 ) maksudnya terdapat 2 inputan
  •  Jika I < = 2 
    •  Jika Ya Maka inputan disebut dengan data
    •  Jika Tidak Maka prosesnya akan berhenti atau stop
  • Temp < data { j } : sebelum penyortiran atau urutan
    • Jika inputannya kurang dari ketentuan,maka program ini akan memintanya dengan coding J = J – 1
  •   Data {j+1}=temp : sesudah di sortir atau di urutkan.
  •  End
Algoritma Marge Sort :
  • Jalankan Program
  • Masukan inputan sebanyak ketentuan ( i )
  • Data akan di proses apabila data = i
  • Data sebelum di sortir
  • Proses Penyortiran atau urutan
  • Percetakan data sudah di sortir
  • End

Tidak ada komentar:

Posting Komentar