Minggu, 20 Desember 2015

Insertion Sorting dan cara men-tracingnya

Insertion sort adalah sebuah metode pengurutan data dengan menempatkan setiap elemen data pada pisisinya dengan cara melakukan perbandingan dengan data – data yang ada. Inde algoritma dari metode insertion sort ini dapat dianalogikan sama seperti mengurutkan kartu, dimana jika suatu kartu dipindah tempatkan menurut posisinya, maka kartu yang lain akan bergeser mundur atau maju sesuai kondisi pemindahanan kartu tersebut. Dalam pengurutan data, metode ini dipakai bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array diurutkan.


ini adalah source codenya:

void insertion (int x[], int n)
      int i , j ,y ;
      for(j=1 ; j<n ; j++)
             y=x[j];
             for(i=j-1;i>=0 && y<x[i] ; i--);{
                      x[i+1]=x[i];
             }
             x[i+1]=y
       }
}

kali ini saya akan mencoba melakukan sorting menggunakan metode ini ;
saya akan mensorting 6 angka secara rondom , jadi nilai n adalah sebesar 6.

angka randomnya adalah seperti berikut ;
  8 2 5 1 7 0 

ini adalah tracingnya : 
x
j
i
y
i>=0 && y<x[i]
8 2 5 1 2 0




2 8 5 1 2 0
1
0
2
t        t
  

-1

f
2 5 8 1 2 0
2
1
5
t        t


0

t        f
2 5 1 8 2 0
3
2
1
t        t
2 1 5 8 2 0

1

t        t
1 2 5 8 2 0

0

t        t


-1

f
1 2 5 2 8 0
4
3
2
t        t
1 2 2 5 8 0

2

t        t


1

t        f
1 2 2 5 0 8
5
4
0
t        t
1 2 2 0 5 8

3

t        t
1 2 0 2 5 8

2

t        t
1 0 2 2 5 8

1

t        t
0 1 2 2 5 8

0

t        t


-1

f

6




angka sudah berurutan menjadi 0 1 2 2 5 8. semoga bermanfaat.







Senin, 14 Desember 2015

Java OOP (jam)

package javaapplication4;
import java.util.Scanner;
class jam{
    int s,m,h;
    String merk;
   
    public jam(){
     s=0;
     m=0;
     h=12;
    }
    public jam(String DD){
        merk=DD;
    }
    void MulaiDetik(int s){
        System.out.println("Detik Bergerak");
        for(s=0;s<=60;s++){
            System.out.print(s+" ");
        }
        System.out.println("");
 }
    void MulaiMenit(int m){
        System.out.println("Menit Berjalan");
        for(m=0;m<=60;m++){
            System.out.print(m+" ");
        }
        System.out.println("");
}
    void MulaiJam(int h){
        System.out.println("Jam berjalan");
        for(h=0;h<=24;h++){
            System.out.print(h+" ");
        }
        System.out.println("");
}
    void Alarm(int h){
        if(h==3){
            System.out.println("Alarm berbunyi");
        }
    }
   
   
}
public class JavaApplication4 {
    public static void main(String[] args) {
    jam jamku = new jam();
    jamku.MulaiDetik(20);
    jamku.MulaiMenit(11);
    jamku.MulaiJam(0);
    jamku.Alarm(3);
           
    }
}