Sabtu, 21 Januari 2012

Insertion Sort

CODING INSERTION SORT

package daa;
import java.util.Scanner;
import java.util.List;
import java.util.ArrayList;

public class insertionSort1{
public static void main(String[] args){
Scanner input = new Scanner(System.in); //deklarasi objek Scanner dengan nama 'input'
List Data = new ArrayList(); //deklarasi ArrayList dengan nama 'data'
System.out.println("Pada data{ini}, masukkan angka acak");
for(int i = 0; i <5; i++){ //input dari user untuk menambah ArrayList System.out.print("data" + i + " = "); Data.add(input.nextInt()); } System.out.println("\n"); System.out.println("Sebelum pengurutan :"); for(int i : Data){ //tampilkan data sebelum penyortiran System.out.print(i + " "); } /*for di atas sama dengan bentuk for ini for(int i = 0; i < Data.size(); i++){ System.out.print(Data.get(i) + " "); }*/ int j, temp; //pemrosesan 'insertion sort'(mengurutkan dari yang terkecil ke besar) for(int i = 1; i < Data.size(); i++) { temp = Data.get(i); //mengambil data ke-i j = i; //ketika j > 0 dan data ke-(j-1) > temp
//maka nilai data ke-(j-1) disimpan oleh data ke-j
//kemudian hal itu berulang terus sampai
//nilai terkecil dalam ArrayList berada pada data ke-0
while(j > 0 && Data.get(j - 1) > temp) {
Data.set(j, Data.get(j-1));
j--;
}
Data.set(j, temp);
}
System.out.println("\n");
System.out.println("Sesudah diurutkan :");
for(int i : Data){ //tampilkan data setelah penyortiran
System.out.print(i + " ");
}
System.out.println("\n");
}
}


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 Insertion 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