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.* ;

Contoh Koding Untuk Menghitung Luas Persegi Panjang

import java.util.Scanner;

class LuasPersegiPanjang {
    public static void main(String[] args) {
        double panjang, lebar, luas;
        Scanner scan = new Scanner(System.in);

        System.out.println(
            "Menghitung Luas Persegipanjang");
       
        System.out.print("Panjang = ");
        panjang = scan.nextDouble();
       
        System.out.print("Lebar = ");
        lebar = scan.nextDouble();
       
        luas = panjang * lebar;
        System.out.println("Luas = " + luas);
    }
}

Contoh Koding Untuk Mencetak Tulisan Pada Java


class ContohPrint {
    public static void main(String[] args) {
        int tanggal = 17;
        int a,b;
        String bulan = "Agustus";

        a=b=0;
        System.out.print(tanggal);
        System.out.print(bulan);
        System.out.println();
        System.out.println(tanggal);
        System.out.println(bulan);
    }
}

Mengenal Java

Java adalah bahasa pemprograman yang terkenal. Java banyak digunakan untuk membangun program, dirilis pertamakali pada tahun 1995 oleh Sun Microsystems. Penciptanya adalah James Gosling.

Java berorientasi pada objek. Pemprograman berorientasi objek (OOP) adalah suatu pendekatan yang memungkinkan suatu kode yang digunakan untuk menyusun program menjadi lebih mudah untuk diunakan kembali, lebih handal, dan lebih mudah dipahami. Salah satu fitur OOP adalah pewarisan. Fitur inilah yang membuat suatu kode yang telah ditulis dalam bentuk kelas sangat mudah untuk diwariskan ke kelas lain guna mendukung sifat reusable.

Program java ditulis menggunakan editor teks apa saja, Di lingkungan Windows, anda bisa menggunakan editor seperti Notepas. Namun, mengingat dalam kegiatan pemprograman seringkali terjadi kesalahan, sebaiknya anda menggunakan editor text yang dilengkapi nomor baris. Seperti Notepad++, jEdit, Eclipse,dan NetBeans.

Algoritma

Algoritma adalah langkah detail yang ditunjukan untuk komputer guna menyelesaikan suatu masalah. Yang disebut dengan algoritma ini beda dengan program, karen algoritma bersifat bebas terhadap bahasa program.

Istilah Algoritma berasal dari nama seorang pengarang kebangsaan Arab bernama abu Ja'far Mohammed ibn Musa al Khowarizmi (789-840), yang sangat tekenal sebagai "Bapak Aljabar".

Sejauh ini belum ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip, kita memiliki kebebasan untuk menyusun suatu bentuk algoritma. Kita bisa saja menggunakan bahasa manusia, atau bahkan diagram alir untuk mewujudkan suatu algoritma.

Biar pun begitu, ada beberapa hal yang harus kita perhatikan pada saat menyusun suatu algoritma.

- Finiteness, menyatakan suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.

- Definiteness, menyatakan bahwa setiap langkah harus dinyatakan jelas, tidak asal, atau memiliki dua arti.

- Masukan. Setiap algoritma bisa tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan di awal sebelum algoritma diproses.

- Keluaran. Setiap algoritma memiliki keluaran, keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan.

- Efektivitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma haruslah sederhana dan dapat dikerjakan oleh algoritma dalam waktu yang terbatas. Secara prinsip semua intruksi dalam algoritma dapat dikerjakan oeh orang dengan hanya menggunakan kertas dan pulpen.