Halaman

Selasa, 24 Januari 2012

Insertionsort Program Java

Source Code Insertionsort


/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package sortdaa;

import javax.swing.JOptionPane;

/**
 *
 * @author blue
 */
public class InsertionSort02 {
public static void main(String a[]){
boolean angka=false;
int i = 0 ;
int q = 0 ;
int r = 0 ;
int s = 0 ;
int o = 0 ;
int t = 0 ;
int u = 0 ;
int v = 0 ;
String X="";



System.out.println("Insert Sort Program");
   q =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka1 : "));
     angka=true;
        System.out.println("Nilai 1 = " + q);
   i =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka2 : "));
     angka=true;
   System.out.println("Nilai 2 = " +i);
     r =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka3 : "));
     angka=true;
   System.out.println("Nilai 3 = " +r);
     s =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka4 : "));
     angka=true;
   System.out.println("Nilai 4 = " +s);
     o =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka5 : "));
     angka=true;
   System.out.println("Nilai 5 = " +o);
     t =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka6 : "));
     angka=true;
   System.out.println("Nilai 6 = " +t);
     u =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka7 : "));
     angka=true;
   System.out.println("Nilai 7 = " +u);
     v =Integer.parseInt(JOptionPane.showInputDialog("Masukkan Bilangan Angka8 : "));
     angka=true;
     System.out.println("Nilai 8 = " +v);

int array[] = {q,i,r,s,o,t,u,v};
//System.out.println("\n\n Muhammad Faizal\n\n");
//System.out.println(" Selection Sort\n\n");
System.out.println("Values Before the sort:\n");
for(i = 0; i < array.length; i++)
//JOptionPane.showMessageDialog(null,"Values before the sort:\n" + array[i]+" ");
System.out.print( array[i]+" \n" );
System.out.println();
insertion_srt(array, array.length);


System.out.print("Values after the sort:\n");
for(i = 0; i <array.length; i++)
//JOptionPane.showMessageDialog(null,"Values after the sort:\n" + array[i]+" ");
System.out.print(array[i]+" \n");
System.out.println();
System.out.println("SELESAI");
}

public static void insertion_srt(int array[], int n){
for (int i = 1; i < n; i++){
int j = i;
int B = array[i];
while ((j > 0) && (array[j-1] > B)){
array[j] = array[j-1];
j--;
}
array[j] = B;
}
}
}

Output Program



Flowchart Insertionsort

Cara Kerja Insertionsort 
  1. Inputan dalam insertion sort ini dibatasi hanya ada 8 inputan, jadi inputan yang dimasukan hanya sebatas 8. (8,5,1,7,22,534,678,2)
  2. Setelah inputan tersebut dimasukan maka akan masuk kedalam intarray.
  3. Kemudian proses selanjutnya adalah masuk ke dalam  (i = 0; i < array.length; i++). yang artinya "i = 0" adalah indeks array ke 0 (8). kemudian "i<array.lenght" dimana i = 0 dan araay.lenght = 8. maka 0 < 8 jika iya maka i++ adalah 0 + 1 = 1. maka proses akan berlnjut sampai 8 < 8 maka proses akan berhenti.
  4. Pada source code ini  (int i = 1; i < n; i++) dikketahui "int i = 1"  kemudian "int j = i" yang artinya j = 1. lalu  "int B = array[i]" yang artinya B = array indeks ke 0 jadi B = 8. proses selanjutnya pada code  ((j > 0) && (array[j-1] > B)) ==> (1>0 dan 8 > 5). maka untuk proses selanjutnya " array[j] = array[j-1]" yang maksudnya adalah 8 = 5. yang maksudnya nilai 5 = 8. "j--" artinyaa 1 -1 = 0. kemudian " array[j] = B" adalah array indeks 0 adalah 5.   


Tidak ada komentar:

Posting Komentar