Rabu, 07 Desember 2011

PACKAGE DAN JAVA KELAS

A.      PACKAGE
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
1.       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()
2.       Kelas Math
Math adalah kelas yang terdapat pada paket java.lang yang berguna untuk melakukan berbagai operasi matematika.

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;
                        }
            }
Tumbuhan.java
//file Tumbuhan harus beada dalam folder makhlukhidup
package makhlukhidup;
public class Tumbuhan{
            public String nama="";
            public Tumbuhan (String nama){
                        this.nama=nama;
            }
}

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);
            }
}
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 :



MainMakhlukHidupPakeImport
//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");
}
}
ContohString
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 :













OpMatematika

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, 06 November 2011

Overloading Dan Overriding Pada Pemrograman Java

Membuat Program Overriding.java
class OverRiding {
            public void MethodAsli () {
                        System.out.println("Method Milik class OverRiding dijalankan");
                        }
            public static void main (String [] arqs) {
                        OverRiding O = new OverRiding();
                        O.MethodAsli();
                        }
            }
 
output :
 
 
 
 
Membuat 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 [] arqs) {
            SubOverRiding SO= new SubOverRiding ();
            SO.MethodAsli();
            SO.MethodAsliSuper();
            }
}
 
output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Overloading dan Overriding, keduanya merupakan class yang memiliki nama method yang sama. Namun pada overloading dan overriding memiliki kesamaan dan perbedaan yang dapat dilihat dari parameternya.

A. OVERLOADING
     Overloading adalah suatu kemampuan dalam bahasa berorientasi objek untuk menggunakan suatu nama method untuk beberapa method yang memiliki parameter masukan yang berbeda (tipe maupun jumlah parameter). Overloading memodifikasi secara horizontal method maupun konstruktor milik kelas super, maupun kelas yang sama.
B. OVERRIDING
    Overriding adalah suatu kemampuan dalam bahasa berorientasi objek untuk mengubah implementasi (menimpa) suatu method yang dimiliki oleh kelas super ketika kelas super tersebut diturunkan. Overriding memodifikasi secara vertikal method milik kelas super. Ada dua alasan mengapa melakukan overriding :
              1. Mendefenisikan kembali method kelas induk secara total.
              2. Menambahkan behaviour 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 program, proses ini disebut throwing an exception.
             Kategori error dalam program :
              1. Syntax error
              2. Runtime error
              3. Logic error
Bahan Pratikum
A. Membuat 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);
  }
}














B. Membuat Program MainSegiTiga.java
Class MainSegitiga {
            Public static void main(string [] arqs) {
                        new Segitiga(7);
                        new Segitiga(4, 7);
}
}

output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Keterangan : Baris 2, 3 dan 4 di dapat dari perintah new Segitiga(7); yang artinya memanggil konstruktor Segitiga yang memiliki 1 parameter pada class Segitiga yang mana perintah  pertama dari konstruktor Segitiga adalah System.out.println("\nVariabel = segitiganya sama sisi"); yakni menampilkan kalimat Variabel = segitiganya sama sisi. Kemudian perintah keduanya adalah  System.out.println("panjang = " +panjang); yakni menampilkan kata panjang = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(7); yaitu memasukkan nilai 7 pada parameter panjang, sehingga didapat hasil : panjang = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang); yakni memanggil method keliling yang memilki 1 parameter, untuk mengirimkan nilai 7 pada parameter panjang, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (panjang*3); yakni memanggil method tampilkanHasil dengan mengirim panjang*3 pada paremeter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 7*3,  sehingga didapat hasil = 21.
Baris 5, 7 dan 8 di dapat dari perintah new Segitiga(4,7); yang artinya memanggil konstruktor Segitiga yang memiliki 2 parameter pada class Segitiga yang mana perintah  pertama dari konstruktor Segitiga adalah System.out.println("\n2Variabel = segitiganya sama kaki"); yakni menampilkan kalimat 2Variabel = segitiganya sama kaki. Kemudian perintah keduanya adalah  System.out.println("panjang = " +panjang+ " sisi miring = " +sisiMiring); yakni menampilkan kata panjang = 4 sisi miring = 7, yang sebelumnya adalah kembali pada perintah new Segitiga(4,7); yaitu memasukkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sehingga didapat hasil : panjang = 4 sisi miring = 7 dari perintah kedua. Pada perintah ketiga adalah keliling(panjang, sisiMiring); yakni memanggil method keliling yang memilki 2 parameter, untuk mengirimkan nilai 4 pada parameter panjang dan nilai 7 pada parameter sisiMiring, sedangkan perintah dari method keliling itu sendiri adalah tampilkanHasil (2*sM+p); yakni memanggil method tampilkanHasil dengan mengirim perintah 2*sM+p pada parameter h, yang mana perintah dari method tampilkanHasil adalah System.out.println("Hasil = " +h); yakni menampilkan kalimat Hasil = 2*7+4,  sehingga didapat hasil = 18
 
 
 Membuat Program CobaException.java
class CobaException {
public static void main (String [] arqs) {
int nilai=0;
try {
            int Nilai = Integer.parseInt (arqs[0]) ;
            System.out.println ("Nilai yang dimasukkan : "+Nilai);
            }
            catch(Exception e) {
                        System.out.println("Pasti yang diinput bukan Integer");
                        }
            finally {
                        System.out.println("Blok finally tetap dilakukan");
                        }
            }

output :
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Membuat Program PembagianNol.java

class PembagianNol {
   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");
   }
}
 
output :
Membuat Program TesInputData.java
 
import java.io.*;
class TextInputData {
public static void main (String [] arqs) {
BufferedReader BR = new BufferedReader (new
InputStreamReader (System.in));
String Input ="";
try {
System.out.println ("Masukan data : ");
Input = "Salah";
}
finally {
System.out.println ("Data yang anda masukan adalah " +Input);
}
     }
}
 output :














catatan :
 
Perbedaan antar override dengan overload
Override
  1. Mendefinisikan method dengan nama sama pada class yang berbeda.
  2. Konsep dapat di manfaatkan dalam beberapa kasus inheritance, di mana menginginkan penamaan method dengan nama sama namunberbeda dalam impelementasinya.
Overload
  1. mendefinisikan method dengan nama sama dalam satu class.
  2. Konsep sering di gunakan dalam penggunaan constructor.
 

Minggu, 30 Oktober 2011

ABSTRACT CLASS, INTERFACE, INNER CLASS

A. ABSTRACT CLASS
     Abstract Class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract 
method. Abstract method adalah nama method yang memiliki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent/ super class dari kelas-kelas yang dapat membuat objek, abstract class tidak dapat diintansiasi. Defenisi kelas diletakkan dalam masing-masing kelas turunan. Dalam hal ini setiap kelas turunan harus mendefenisikan metode-metode yang tergolong sebagai metode abstract.

B. INTERFACE
     Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabla suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta. Interface menyerupai kelas. Perbedaanya, kata kunci interface menggantikan kedudukan kata kunci class. Bentuk deklrasinya adalah sebagai berikut:
     Penentu akses public biasa digunakan dengan tujuan agar interface dapat diakses oleh kelas manapun. Jika tak ada penentu akses public, interface hanya dapat diakses oleh kelas-kelas yang berada dalam paket yang sama.

C. INNER CLASS
     Inner Class adalah kelas yang disisipkan di dlam kelas yang lain. fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh suatu kelas utamanya. Inner class bersifat terserang terhadap kelas-kelas utamnya


LANGKAH-LANGKAH PRAKTIKUM
==========================================================================

A. MEMBUAT PROGRAM MakhlukHidup.java
     public abstract class MakhlukHidup{
    protected boolean BisaTerbang = false;
    protected String Nama;
    protected int JlhKaki;

    public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1) {
    this. Nama = Nama1;
    this. JlhKaki = JlhKaki1;
    this. BisaTerbang = BisaTerbang1;
    }
    abstract void bernafas();

     public void status(){
    System.out.println(Nama+" bernafas dengan menghirup CO2");
    System.out.println("------------------------------------");
    System.out.println("Nama : " +Nama);
    System.out.println("Jumlah Kaki : " +JlhKaki);
    System.out.println("BisaTerbang : " +BisaTerbang);
    }
    }

    Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan
    CTRL+2, maka hasilnya akan seperti ini :

















B. MEMBUAT PROGRAM Manusia.java
     public class Manusia extends MakhlukHidup{
     Manusia(String nama){
     super(nama,2,false);
     }
     public void bernafas(){
     System.out.println(Nama+" bernafas dengan menghirup O2");
    }
    public static void main(String[]arg){
    Manusia m = new Manusia ("Sayuti");
    m.status();
    m.bernafas();
   }
   }
Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :















C. MEMBUAT PROGRAM Tumbuhan.java
     public class Tumbuhan extends MakhlukHidup{
    Tumbuhan(String nama){
    super(nama,0,false);
   }
   public void bernafas(){

  }
  public static void main(String[]arg){
 Tumbuhan t = new Tumbuhan ("Bayam");
 t.status();
 t.bernafas();
 }
 } 

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :















D. MEMBUAT PROGRAM Pekerjaan.java
     interface Pekerjaan {
    public void namaPekerjaan() ;
    public void gaji ();
   }
    
Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :

 














E. MEMBUAT PROGRAM Sasya.java
     public class Sasya extends Manusia implements Pekerjaan{
     public Sasya() {
    super("Sasya");
    }
    public void namaPekerjaan(){
   System.out.println("Pekerjaan : Sekretaris");
   }
   public  void gaji(){
   System.out.println ("Gaji : Rp. 3.000.000");
   }
   public static void main(String[]arg){
   Sasya s = new Sasya ();
   s.status();
   s.bernafas();
   s.namaPekerjaan();
   s.gaji();
  }
  }

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :





















F. MEMBUAT PROGRAM JantungManusia.java
    class Orang{
    private int jumlKaki = 2;

    public void dengarBunyiJantung() {
          Jantung j = new Jantung();
          j.bunyiJantung();
    }
    public void tahanNafas(){
    System.out.println("Jantung berhenti berdetak!");
    }
    //inner class
   class Jantung{
    public void bunyiJantung(){
        System.out.println("deg.....deg..deg...");
        }
    public void istrahat(){
        System.out.println("silangkan ke "+jumlKaki+" kaki.");
        tahanNafas();
        }
        }
        }
   class JantungManusia{
    public static void main(String[]arg){
    Orang o = new Orang();
    Orang.Jantung p = o.new Jantung();
    o.dengarBunyiJantung();
    p.istrahat();
    }
    }

Compile dengan menekan CTR:+1 jika tidak terjadi kesalahan, jalankan program dengan menekan    CTRL+2, maka hasilnya akan seperti ini :