Nama : Noviyanto
NPM : 09120013
Kelas : A
Bidang Study : DESAIN ANALISIS ALGORITMA (DAA)
Nama : Fery Kurniawan
NPM : 09120035
Kelas : B
Bidang Study : DESAIN ANALISIS ALGORITMA (DAA)
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
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 :
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
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");
}
}
- 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
Langganan:
Postingan (Atom)