Minggu, 09 Juni 2013

Mengawali Hari

Betapa Indahnya jika setiap bangun pagi diawali dengan doa dan saat teduh, menikmati persekutuan secara pribadi dengan Bapa di Sorga, memuji dan menyembah-Nya, dan tidak lupa untuk bersyukur buat semua anugrah yang telah diberikan oleh-Nya :)

Selasa, 08 Januari 2013

Contoh Koding Selection Sort

class SelectionSort {
    public static void main(String[] args) {
        int i;
        int[] data = {25, 57, 48, 37, 12, 92, 80, 33};
        urutkan(data, data.length);
       
        System.out.println("Hasil pengurutan data:");
        tampilkanLarik(data, data.length);            
    }

    public static void tampilkanLarik(int[] data, int n) {
        for (int i = 0; i < n; i++)
            System.out.printf("%d ", data[i]);
            System.out.println();
    }   
   
    public static void urutkan(int[] data, int n) {
        int posMin, posAwal, j, tmp;
               
        for (posAwal = 0; posAwal < n -1 ; posAwal++) {
            posMin = posAwal;
            for (j = posAwal + 1; j < n; j++)        
                if (data[posMin] > data[j])
                    posMin = j;
                   
            // Tukarkan
            tmp = data[posAwal];
            data[posAwal] = data[posMin];
            data[posMin] = tmp;

            System.out.printf("Hasil posAwal %d: ", posAwal);
            tampilkanLarik(data, n);           
        }       
    }
}
   

Contoh Koding QuickSort

class QuickSort {
    public static void main(String[] args) {
        int i;
        int[] data = {25, 57, 48, 37, 12, 92, 80, 33};
        quickSort(data, 0, data.length - 1);
       
        System.out.println("Hasil pengurutan data:");
        tampilkanLarik(data, data.length);            
    }

    public static void tampilkanLarik(int[] data, int n) {
        for (int i = 0; i < n; i++)
            System.out.printf("%d ", data[i]);
            System.out.println();
    }   
   
    public static int partisi(int[] data, int p, int r) {
        int x, i, j, tmp;
       
        x = data[p];
        i = p;
        j = r;
       
        while (true) {
            while (data[j] > x)
                j--;
               
            while (data[i] < x)
                i++;

            if (i < j) {
                // Tukarkan data
                tmp = data[i];
                data[i] = data[j];
                data[j] = tmp;
            }           
            else
                return j;
        }
    }
   
    public static void quickSort(int[] data, int p, int r) {
        int q;
       
        if (p < r) {
            q = partisi(data, p, r);
            quickSort(data, p, q);
            quickSort(data, q+1, r);
        }       
    }
}

Contoh Koding InsertionSort

class InsertionSort {
    public static void main(String[] args) {
        int i;
        int[] data = {25, 57, 48, 37, 12, 92, 80, 33};
        urutkan(data, data.length);
       
        System.out.println("Hasil pengurutan data:");
        tampilkanLarik(data, data.length);            
    }

    public static void tampilkanLarik(int[] data, int n) {
        for (int i = 0; i < n; i++)
            System.out.printf("%d ", data[i]);
            System.out.println();
    }   
   
    public static void urutkan(int[] data, int n) {
        int i, k;
        int x;
        boolean ketemu;
               
        for (k = 1; k < n; k++) {
            x = data[k];
           
            // sisipkan x ke dalam data[0..k-1]
            i = k - 1;
            ketemu = false;
            while ( (i >= 0) && (!ketemu)) {       
                if (x < data[i]) {
                    data[i+1] = data[i];
                    i--;
                }
                else   
                    ketemu = true;
               
                data[i+1] = x;               
            }   
        }       
    }
}
   

Contoh Koding Bubble Sort

class BubbleSort {
    public static void main(String[] args) {
        int i;
        int[] data = {25, 57, 48, 37, 12, 92, 80, 33};
        urutkan(data, data.length);
       
        System.out.println("Hasil pengurutan data:");
        tampilkanLarik(data, data.length);           
       
    }

    public static void tampilkanLarik(int[] data, int n) {
        for (int i = 0; i < n; i++)
            System.out.printf("%d ", data[i]);
            System.out.println();
    }   
   
    public static void urutkan(int[] data, int n) {
        int tahap, j, tmp;
       
        for (tahap = 1; tahap < n; tahap++) {
            for (j = 0; j < n - tahap; j++)        
                if (data[j] > data[j+1]) {
                    // Tukarkan
                    tmp = data[j];
                    data[j] = data[j+1];
                    data[j+1] = tmp;
                }
               
            System.out.printf("Hasil tahap %d: ", tahap);
            tampilkanLarik(data, n);           
        }       
    }
}

Metode Pengurutan Dalam Java

- Bubble Sort :
Metode tersederhana untuk melakukan pengurutan data, tetapi memiliki kinrtja terburuk untuk data yang besar

- Selection Sort :
Metode yang mempunyai mekanisme mula-mula suatu petunjuk, yang menunjuk ke lokasi awal pengurutan data, diatur agar pengurutan data, diatur agar beisi indeks pertama dalam larik, selanjutnya dicari bilangan terkecil yang letaknya antara posisi sesudah yang ditunjuk oleh penunjuk tersebut hingga elemen terakhir dalam larik.

- Insertion Sort :
Suatu Metode yang melakukan pengurutan dengan cara menyisipkan data yang belum urut ke dalam bagian data yang telat di urutkan. konsep seperti ini biasanya dilakukan pada permainan kartu.

- Quick Sort :
Metode pengurutan data yang dikemukan pertama kali oleh C.AR Hoare pada tahun 1962. Metode ini menggunakan strategi “pecah-pecah” dengan mekanisme seperti berikut : Larik L[p..r] (dengan indeks terkecil adalah p dan indeks terbesar yaitu r) disusun ulang (dipartisi) menjadi dua buah larik A[p..q] dan A[q+1..r] sehingga setiap elemen dalam A[q+1..r]. Selanjutnya kedua larik tersebut diurutkan secara rekursif. Dengan sendirinya kombinasi kedua larik tersebut membentuk larik dengan data yang telah urut.

GUI pada Java

- GUI (Graphical User Interface), memungkinkan user untuk berinteraksi dengan komputer
secara lebih baik.

- Pengguna berinteraksi dengan berbagai elemen grafis,diantaranya: button, dialog box, menu,
dsb.

- Sejak 1994 Sun Microsystem berupaya untuk membuat JAVA memiliki perangkat bergaya
desktop dengan ToolkitJAVA yang dikenal sebagai AWT (Abstract Windowing Toolkit)
- Tahun 1997, muncul JFC (Java Foundation Class) untuk kepentingan pembuatan aplikasi
Window yang merupakan pengembangan dari AWT.
- JFC mempunyai kode swing yang terdapat pada package yang disediakan pada JAVA SDK
versi 1.2 ke atas (JAVA 2)
- JAVA menyediakan dua graphical library.
             ~ AWT (Abstract Windows Toolkit)
             ~Swing
Contoh: import java.awt.* ;
              import java.awt.event.* ;
              import javax.swing.* ;