Sabtu, 17 November 2012

PACKAGE DAN JAVA KELAS


A.    PACKAGE
Package Dalam Bahasa Java
1. Pengertian
- Package adalah suatu cara untuk memanage class-class yang kita buat. Package akan sangat bermanfaat Jika class-class yang kita buat sangat banyak sehingga perlu dikelompokkan berdasarkan kategori tertentu.
- Package adalah koleksi dari beberapa class dan interface yang berhubungan, dan menyediakan proteksi akses dan pengelolaan namespace
2. Ketentuan
- 1 package adalah 1 subfolder di file system
- Package sangat berguna untuk mengorganisir file dalam suatu Project atau library
- Nama package menggunakan lowercase
- Keyword: package name;
Package digunakan untuk mengelompokkan file kelas (*.class) yang terkait (karena jenisnya, fungsinya atau karena alasan lainnya) pada direktori yang sama, dimana didalam setiap kelasnya terdapat directve (statemen java dalam source code yang digunakan untuk membuat kelas) package yang mengacu pada directori tersebut.
Deklarasi package :
                Package namaPackage;
Secara umum, bila ingin menggunakan kelas yang telah dideklarasikan dan dikompile ke dalam suatu package, maka anda perlu membubuhkan pernyataan import pada kelas pemanggil tersebut.
Deklarasi import:
1.   Mendeklarasikan penggunaan kelas suatu package satu persatu
Import namaPackage.namaKelas;
2.  Mendeklarasikan penggunaan semua kelas suatu package
Import namaPackage.*;

B.    JAVA KELAS
Kelas Dalam Java
Class adalah struktur dasar OOP yang terdiri dari atribut/field/property method. Kelas merupakan salah satu konsep fundamental pemrograman ber-orientasi objek. Kelas dapat diilustrasikan sebagai suatu cetak biru(blueprint) atau prototipe yang digunakan untuk menciptakan objek.

Definisi Kelas
Definisi kelas terdiri atas dua komponen, yaitu deklarasi kelas dan body kelas. Deklarasi kelas adalah baris pertama di suatu kelas, dan minimal mendeklarasikan nama kelas. Sementara itu, body di deklarasikan setelah nama kelas dan berada di antara kurung kurawal.
// deklarasi kelas
public class ContohKelas {
// body kelas
}
Di Java, nama kelas sekaligus merepresentasikan nama file kode program, dan sifatnya adalah case sensitive.
Di Java, nama dari kelas yang digunakan harus sama dengan nama dari file java yang dibuat. Misal file KelasBaru.java didalamnya harus dibuat kelas dengan nama KelasBaru. Seperti berikut ini :

public class KelasBaru {

       // Isi Kelas

}
Berikut ini adalah kegunaan kelas :
·   Mengelompokkan object-object menjadi kelas-kelas berarti mengabstraksikan persoalan yang dihadapi. Abstraksi memberi daya keampuhan pemodelan dan memberikan kemampuan generalisasi beberapa kasus spesifik menjadi induk kasus-kasus yang serupa.
·   Definisi-definisi common (seperti nama kelas dan atribut) cukup disimpan sekali per kelas bukan sekali per instan kelas (object). Operasi-operasi dapat ditulis sekali per kelas. Semua object dalam kelas mendapat manfaat penggunaan kembali (reuse) kode itu.

Konstruktor
Bentuk konstruktor mirip dengan method, hanya saja konstruktor tidak memiliki return value seperti halnya method. Nama konstruktor harus sama dengan nama kelas yang digunakan. Jika dalam suatu program java tidak memiliki konstruktor maka Java akan menambah konstruktor secara otomatis saat program dieksekusi.
public class KelasBaru {

       public KelasBaru(){
              // Isi Konstruktor
       }
}

Access Modifier
Setiap kelas memiliki sebuah access modifier yang mendefinisikan hak akses dari kelas tersebut. Jika access modifier kelas adalah public maka kelas tersebut dapat diakses dari mana saja.
Jika dalam pembuatan suatu kelas kita tidak mendefinisikan access modifier maka access modifier kelas tersebut menggunakan access modifier default.
Access modifier lainnya adalah protected, abstract, final, dan private.

Keyword super dan this
Keyword this digunakan untuk mengakses variable ataupun method local.
public class Coba {
       int aa;
       public void setAa(int aa){
              this.aa = aa;
       }
}

Keyword super digunakan untuk mengakses variable ataupun method yang berada di kelas Induk.
Public class Coba2 extends Coba {
        // mengakses method di kelas induk
        super.setAa;
}

 Kelas String
String merupakan kelas yang menangani deretan karakter. Kelas ini mendukung sejumlah method yang sangat berguna memanipulasi string.

Beberapa method dalam kelas string adalah:
·         Char charAt(int indeks)
·         boolean equals(Object anObject)
·         boolean equalsIgnoreCase(String anString)
·         int lenght()
·         string toLowerCase()
·         string toUpperCase()
·         string trim()
Kelas Math
Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk melakukan berbagai operasi matematika.
Class Body
Class Body merupakan bagian dari kelas yang mendeklarasikan kode-kode program (program codes) Java. Class Body bisa dibedakan menjadi tiga bagian utama dari sebuah kelas sebagai behavior dari kelas dan object. Tiga bagian utama yang dimaksud adalah :
1.   Konstruktor (constructor) digunakan untuk instansiasi object
2.   Variabel (variable) menyatakan atau sebagai keadaan (state) dari kelas dan objek
3.    Metode (method) berupa fungsi-fungsi (functions) atau prosedur-prosedur

LANGKAH-LANGKAH PRAKTIKUM

A. Manusia.java
//file Manusia harus berada dalam berada dalam folder makhlukhidup
package makhlukhidup;
public class Manusia{
            public String nama="";
            public Manusia(String nama){
                        this.nama=nama;
                        }
            }
B.  Tumbuhan.java
//file Tumbuhan harus beada dalam folder makhlukhidup
package makhlukhidup;
public class Tumbuhan{
            public String nama="";
            public Tumbuhan (String nama){
                        this.nama=nama;
            }
}

C. Burung.java
//file Burung harus berada dalam folder makhlukhidup/hewan
package makhlukhidup.hewan;
public class Burung{
            public static final boolean bisaTerbang=true;
            public String nama="";
            public Burung (String nama){
            this.nama=nama;
            System.out.println("Nama burung : "+nama);
            }
}

D. MainMakhlukHidup.java
//file MainMakhlukHidup harus berada dalam folder Meet6
public class MainMakhlukHidup {
            public static void main(String [] args){
                        makhlukhidup.Manusia m=new makhlukhidup.Manusia
("Sayuti");
            System.out.println("nama: "+m.nama);
            makhlukhidup.Tumbuhan t=new
makhlukhidup.Tumbuhan ("Palem");
            System.out.println("nama:"+t.nama);
            System.out.println("Semua burung pasti bisa terbang?" + makhlukhidup.hewan.Burung.bisaTerbang);
            makhlukhidup.hewan.Burung b=new
makhlukhidup.hewan.Burung("Beo");
            }
}

output :



E.  MainMakhlukHidupPakeImport.java
//file MainMakhlukHidup harus berada dalam folder Meet 6
import makhlukhidup.*;
import makhlukhidup.hewan.*;
public class MainMakhlukHidupPakeImport{
            public static void main (String [] args){
            Manusia m=new Manusia ("Sayuti");
            System.out.println("nama:"+m.nama);
            Tumbuhan t=new Tumbuhan("Palem");
            System.out.println("nama:"+t.nama);
            System.out.println ("Semua burung pasti bisa terbang           ?"+Burung.bisaTerbang);
            Burung b=new Burung("Beo");
}
}

F.  ContohString.java
public class ContohString {
            public static void main(String [] arqs) {
                        String Kalimat ="Selamat belajar JAVA";
                        System.out.println("toUpperCase    :   "+Kalimat.toUpperCase());
                        System.out.println("toLowerCase    :   "+Kalimat.toLowerCase());
                                    System.out.println("Jumlah Karakter : "+Kalimat.length());
                                    System.out.println("Karakter index ke 0  :  " +Kalimat.charAt(0));
                        System.out.println("substring(16,20)  :           " +Kalimat.substring(16,20));
                                    System.out.println("Karakter index ke 0  :  " +Kalimat.trim());
                                   
                                   
                        }
            }
output :



G. OpMatematika.java
public class OpMatematika {
public static void main(String[] arqs) {
System.out.println("E                                                                                = " +Math.E);
System.out.println("PI                                                                               = " +Math.PI);
System.out.println("Ln 20                                                                         = " +Math.log(20.0));
System.out.println("ceil(-5.6)                                                                    = " +Math.ceil(-5.6));
System.out.println("floor(-5.6)                                                                  = " +Math.floor(-5.6));
System.out.println("round(-5.6)                                                                = " +Math.round(-5.6));
System.out.println("sqrt(25)                                                                      = " +Math.sqrt(25));
System.out.println("pow(25,0.5)                                                               = " +Math.pow(25,0.5));
}
}
output :


Minggu, 04 November 2012

OVERLOADING, OVERRIDING dan EXCEPTION


A.      OVERLOADING
Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan satu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun parameter). Overloading memodifikasi secara horizontal method maupun konstructor milik class super, maupun class yang sama.

B.      OVERRIDING
Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh class super ketika class super tersebut diturunkan. Overriding memodifikasi secara vertical method milik kelas super.
Ada dua alasan mengapa melakukan overriding :
1.       Mendefensikan kembali method kelas induk secara total.
2.       Menambah behavior tertentu pada method kelas induk.

C.      EXCEPTION
Exception merupakan suatu objek error khusus yang dibuat ketika terjadi kesalahan pada suatu program. Setelah suatu objek exception dibuat oleh Java, objek tersebut dikirimkan ke pogram, proses ini disebut throwing an exception.
Penanganan exception dalam Java dibuat dengan menuliskan kode program exception handling pada source code. Exception handling berguna untuk mencegah program menjadi “hang”. Kode program exception handling secara umum terdiri dari 3 bagian yaitu try, catch dan finally.
Kategori error dalam program :
1.       Syntax error
     Error yang terjadi apabila java compiler menemukan kesalahan pada syntax atau aturan-aturan lainnya pada program.
2.       Runtime error
      Error yang terjadi karena factor eksternal, seperti adanya pembagian dengan nol, input yang tidak sesuai dengan tipe yang diminta dan sebagainya. Kondisi ini dikenal sebagai exception.
3.       Logic error
     Error yang terjadi karena kesalahan logika pemrograman. Misalnya hasil pembagian dua buah bilangan diberi tipe data int. hal ini menyebabkan hasil tidak valid karena ada bagian koma decimal yang akan hilang.

Blok suatu exception :

try {
            //kode-kode program yang mungkin dapat menimbulkan exception
}

catch (JenisException1 e) {
            /*kode-kode program yang harus dilakukan apabila terjadi exception
            JenisExceptioin1*/
}

catch (JenisException2 e) {
            /*boleh terdapat lebih dari satu blok catch untuk menangani exception yang berbeda*/
            /*kode-kode program yang harus dilakukan apabila terjadi exception
            JenisExceptioin1*/
}

finally {
            //finally bersifat opsional (boleh tidak menggunakan blok finally)
            /*kode-kode yang tetap dilakukan baik terjadi exception maupun tidak terjadi exception*/
}


LANGKAH-LANGKAH PRAKTIKUM

Contoh Program SegiTiga.java
class SegiTiga {
            public SegiTiga(double panjang) {
                        System.out.println("\nVariabel = segitiganya sama sisi");
                        System.out.println("Panjang = " +panjang);
                        keliling(panjang);
            }

            public SegiTiga(double panjang, double sisiMiring) {
                        System.out.println("\n2Variabel = segitiganya sama kaki");
                        System.out.println("panjang = " +panjang+ " sisi miring = " + sisiMiring);
                        keliling(panjang, sisiMiring);
            }

            public void keliling(double panjang) {
                        tampilkanHasil(panjang*3);
            }

            public void keliling(double p, double sM) {
                                    tampilkanHasil(2*sM+p);
            }

            protected void tampilkanHasil(double h) {
                        System.out.println("Hasil = " +h);
            }
}


Contoh Program MainSegiTiga.java
class MainSegiTiga {
            public static void main(String [] args) {
                        new SegiTiga(7);
                        new SegiTiga(4,7);
            }
}


Contoh Program OverRiding.java
class OverRiding {
            public void MethodAsli() {
                        System.out.println("Method milik class OverRiding dijalankan");
            }

            public static void main(String [] args) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
            }
}


Contoh Program SubOverRiding.java
class SubOverRiding extends OverRiding{
            public void MethodAsli() {
                        System.out.println("Method yang sudah OverRiding dijalankan");
            }

            public void MethodAsliSuper() {
                                    System.out.println("Method pemanggil MethodAsli dijalankan");
                                    super.MethodAsli();
            }

            public static void main(String [] args) {
                        SubOverRiding SO = new SubOverRiding();
                        SO.MethodAsli();
                        SO.MethodAsliSuper();
            }
}


Contoh Program TanpaException.java
class TanpaException {
            public static void main(String [] args) {
                        int Nilai = Integer.parseInt (args[0]);
                        System.out.println("Nilai yang dimasukkan : " +Nilai);
            }
}


Contoh Program CobaException.java
class CobaException {
            public static void main(String [] args) {
                        int nilai = 0;
                        try {
                                    int Nilai = Integer.parseInt (args[0]);
                                    System.out.println("Nilai yang dimasukkan : " +Nilai);
                        }
                        catch(Exception e) {
                                    System.out.println("Pasti yang di input bukan Integer");
                        }
                        finally {
                                    System.out.println("Blok finally tetap dilakukan");
                        }
            }
}


Contoh Program PembagianNol.java
class PembagianNo1 {
            public static void main(String [] args) {
                        System.out.println("Sebelum pembagian");
                        try {
                                    System.out.println(5/0);
                        }
                        catch(Throwable T) {
                                    System.out.println("Terjadi pembagian nol");
                        }
                                    System.out.println("Sesudah pembagian");
                        }
            }


Contoh Program TesInputData.java
import java.io.*;
class TesInputData {
            public static void main(String [] args) {
                        BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
                        String Input = "";
                        try {
                                    System.out.println("Masukkan data : ");
                                    Input = "Salah";
                        }
                        finally {
                                    System.out.println("Data yang anda masukkan adalah " +Input);
                        }
            }
}