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 :


Minggu, 23 Oktober 2011

Information Hiding,Inferitance,Encapsulation dan Polymorphism

1. INHERITANCE 
INHERITANCE  adalah penurunan atribut dan method dari suatu kelas super/kelas induk ke sub kelas/kelas anak.
Contoh
[modifier] class NamaSubKelas extends NamaKelasSuper {
              class body;
Keterangan : Kata kunci extends digunakan untuk menyatakan pewarisan.
 
2. ENCAPSULATION 
Encapsulation atau pengkapsulan adalah suatu kemampuan dalam pemrograman berorientasi objek untuk meyembunyikan atribut dan method suatu objek dari objek lain.
Pengkapsulan dilakukan dengan cara memberikan modifier private pada suatu method dan pada variabel.
Method untuk memberikan nilai pada suatu atribut privat biasanya diawali dengan kata "set", sedangkan method untuk mengambil nilai dari suatu atribut privat biasanya diawali dengan kata "get".

3.POLYMORPHISM
 Secara leksikal, POLYMORPHISM(polimorfisme) bermakna satu kata yang memiliki banyak arti. Polymerfisme dapat diilustrasikan sebagai berikut. Perhatikan penggunaan kata "mentah" dalam beberapaa kalimat berikut
  1.  "Sayuran itu masih mentah"
  2. "Pukulan pemain tinju itu berhasil dimentahkan lawannya"
  3. "gagasan itu masih mentah, sehingga perlu dibahas kembali"
Istilah ini dapat diartikan sebagai modul yang memiliki nama yang sama, namun memiliki tingkah laku yang berbeda sehingga implementasinya berbeda.

 LANGKAH-LANGKAH PRAKTIKUM 


A. MEMBUAT PROGRAM SuperClass.Java
public class SuperClass {
    public SuperClass (){
        System.out.println("Ini konstruktor milik Superclass");
    }

    public void methodSuperClass(){
        System.out.println("Ini method milik superClass");
    }
}


Nb: Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut ke program selanjutnya


B. MEMBUAT PROGRAM SubClass.java
public class SubClass extends SuperClass {
    public SubClass (){
        super();
    }

    public void methodSubClass (){
        super.methodSuperClass() ;
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut yaaaAaa!!


C. MEMBUAT PROGRAM DemoInheritance.java
public class DemoInheritance {
    public static void main (String[]args) {
    SubClass sc = new SubClass ();
    sc.methodSubClass () ;
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :














D. MEMBUAT PROGRAM Persegi.java
public class Persegi {
    private double panjang ;        //atribut yang disembunyikan
    private double lebar ;            //atribut yang disembunyikan
    private double tinggi ;            //atribut yang disembunyikan

    public Persegi () {
        panjang = 0;
        lebar = 0;
    }

    private double luas ( double p, double l) {
        return p*l;
    }

    public void setPanjang(double panjang1 ) {
         this.panjang = panjang1;
    }

    public void setLebar(double lebar1 ) {
             this.lebar = lebar1;
    }

    public double getPanjang () {
        return panjang ;
    }

    public double getLebar () {
        return lebar ;
    }

    public double getLuas () {
        return luas (panjang, lebar);
    }
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :










Lanjut ke Program selanjuutnya ......


E. MEMBUAT PROGRAM MainPersegi.java
public class MainPersegi {
    public static void main(String[] args) {
        Persegi pg = new Persegi () ;
        pg.setPanjang(10);
        pg.setLebar(20);

        System.out.println("Panjang : "+pg.getPanjang());
        System.out.println("Lebar     : "+pg.getLebar());
        System.out.println("Luas     : "+pg.getLuas());
    }
}
Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :












lanjuuut ke program selanjutnya ......


F. MEMBUAT PROGRAM Karyawan.java
abstract class Karyawan {
    int gaji;
    Karyawan () {
        gaji =1000000;
}

int getGaji () {
    return gaji;
    }
abstract void naikGaji();}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :
 










G. MEMBUAT PROGRAM Manager.java
class Manager extends Karyawan {
    Manager () {
        gaji +=2000000;
    }
   
    void naikGaji () { gaji+=3000000;}
}

Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :











 H. MEMBUAT PROGRAM Receptionist.java
class Receptionist extends Karyawan {
    Receptionist () {
        gaji +=1000000;
    }

    void naikGaji() { gaji +=1000000; }
}


Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :











I. MEMBUAT PROGRAM Polymorphisme.java
class Polymorhisme {
    public static void main (String[] args) {
        Karyawan K []= new Karyawan[3];

        K[0] = new Manager ();
        K[1] = new Receptionist();
        K[2] = new Manager ();

        for (int i=0;i<3;i++)
            System.out.println("Gaji karyawan "+i+" adalah "+K[i].getGaji());

        for (int i=0;i<3;i++)
            K[i].naikGaji();

        for (int i=0;i<3;i++)
            System.out.println("Gaji sekarang "+i+" adalah "+K[i].getGaji());
    }
}


Compile program dengan menekan CTRL+1, jalankan kan program dengan menekan CTRL+2, maka hasilnya sebagai berikut :












Minggu, 16 Oktober 2011

LANGKAH-LANGKAH PRAKTIKUM


A.      MEMBUAT PROGRAM Disket.java
Setelah selesai mengetik program tersebut ke dalam TexPad,
Compile program dengan menekan tombol pada Keyboard CTRL+1 ..
Pastikan tidak errror.
Lalu  simpanlah dengan nama file “Disket.java” tanpa tanda (“) dan pastikan filetypenya adalah java.

B.      MEMBUAT PROGRAM MainDisket.java
                Setelah selesai mengetik program tersebut ke dalam TexPad,
Compile program dengan menekan tombol pada Keyboard CTRL+1 ,Pastikan tidak errror.
Lalu  simpanlah dengan nama file “MainDisket.java” tanpa tanda (“) dan pastikan filetypenya adalah java. Kemudian , jalankan program dengan menekan tombol CTRL+2
Maka hasilnya seperti gambar berikut

 C.      Mengimplementasikan konstruktor pada class Disket
1.       Buka File Disket.java
2.       Ketik source kode di bawah ini pada baris ke 7  dari dokumen Disket.java setelah diketikkan , simpan , compile, dan jalankan Disket.Java

D.  




 
Ubah Source kode pada baris ke 3 dari MainDisket.java dengan source kode di bawah ini
     
            Disket disk1 = new Disket (50);

                                                                                                                                                    

Compile dan jalankan program , maka hasilnya akan seperti ini