Selasa, 01 November 2011

PRAKTIKUM JAVA KE 5



ABSTRAK CLASS, INTERFACE, INNER CLASS

A.    ABSTRAK CLASS
Abstrak class adalah suatu kelas yang dinyatakan abstract, umumnya memiliki suatu atau lebih abstract method. Abstrak method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract. Abstrak class selalu menjadi kelas induk dan minimal harus memiliki satu buah method abstrak.
Deklarasi abstract class pada java:
[modifier] abstract class NamaKelas {
//deklarasi atribut
//defenisi/prototype method
}

Contoh :
      a.       Membuat Program MahlukHidup.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 :" +Nama);
                        System.out.println("Jumlah Kaki :" +JlhKaki);
                        System.out.println("Bisa Terbang :" +BisaTerbang);
            }
}

Output :
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :

 Penjelasan :
 public MakhlukHidup(String Nama1, int JlhKaki1, boolean BisaTerbang1){
    // merupakan method dengan type data string, integer dan boolean
                        this.Nama = Nama1;
                        // mengubah Nama menjadi Nama1
                        this.JlhKaki = JlhKaki1;
                        //  mengubah JlhKaki menjadi JlhKaki1
                        this.BisaTerbang = BisaTerbang1;
                        //  mengubah BisaTerbang menjadi BisaTerbang1

 abstract void bernafas();
   // merupakan method abstrak

public void status(){
  //merupakan method dengan nama status
                        System.out.println("Nama :" +Nama);
                        //memanggil variabel Nama tetapi belum dapat ditampilkan
                        System.out.println("Jumlah Kaki :" +JlhKaki);
                         //memanggil variabel JlhKaki tetapi belum dapat ditampilkan
                        System.out.println("Bisa Terbang :" +BisaTerbang);
                         //memanggil variabel BisaTerbang tetapi belum dapat ditampilkan

      b.      Membuat Program Manusia.java

public class Manusia extends MakhlukHidup {
            Manusia(String Nama){
            // merupakan method dan konstruktor
                        super(Nama,2, false);
                        //untuk memanggil konstruktor kelas induk
            }

            public void bernafas() {
                        System.out.println(Nama+" bernafas dengan menghirup O2");
            }

            public static void main (String [] args) {
                        Manusia m = new Manusia("Sayuti");
                        //memanggil konstruktor manusia
                        m.status();
                        //memanggil method status dan menampilkannya
                        m.bernafas();
                        //memanggil method bernafas dan menampilkannya
            }
}

Output :


      c.       Membuat Program Tumbuhan.java

public class Tumbuhan extends MakhlukHidup {
            Tumbuhan(String Nama){
                        super(Nama,0, false);
            }

            public void bernafas() {
                        System.out.println(Nama+" bernafas dengan menghirup CO2");
            }

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

Output :

 
B.     INTERFACE
Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract, apabila suatu interface memilki atribut, maka atributnya akan berlaku sebagai konstanta.
Deklarasi interface pada java:
[modifier] Interface NamaInterface{
//deklarasi konstanta
//defenisi method
}

Contoh :
      a.      Membuat Program Pekerjaan.java

interface Pekerjaan {
//pedeklarasian interface
            public void namaPekerjaan();
            public void gaji();
}

Output :
Tidak ada karena tidak memiliki fungsi utama/ Jika dijalankan maka mucul tampilan seperti dibawah ini :



      b.       Membuat Program Ummy.java

public class Ummy extends Manusia implements Pekerjaan {
//mengimplementasikan metho-method Pekerjaan dan merupakan turunan dari kelas induk Manusia
            public Ummy() {
                        super("Ummy");
            }

            public void namaPekerjaan(){
                        System.out.println("Pekerjaan :Sekretaris");
            }

            public void gaji(){
                                    System.out.println("Gaji :Rp. 3.000.000");
                        }

            public static void main(String[] args){
                        Ummy u = new Ummy();
                        //membuat objek baru dengan nama u
                        u.status();
                       //untuk memanggil dan menampilkan method status dari kelas Manusia
                        u.bernafas();
                        u.namaPekerjaan();
                        //untuk memanggil dan menampilkan method namaPekerjaan dari kelas Ummy
                        u.gaji();
            }

}

Output :



C.    INNER CLASS
Inner class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsinya adalah untuk mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner class bersifat tersarang terhadap kelas-kelas utamanya.
Contoh :
      a.       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{
            //class jantung di dalam class orang
                        public void bunyiJantung() {
                                    System.out.println("deg,,,deg...deg,,,deg...deg,,,");
                        }

                        public void istirahat(){
                                    System.out.println("Silangkan ke "+jumlKaki+" kaki.");
                                    tahanNafas();
                        }
            }
}

class JantungManusia{
//merupakan class baru yang memiliki fungsi utama
            public static void main (String[] args) {
                        Orang o = new Orang();
                        Orang.Jantung p = o.new Jantung();
                        //objek baru yang kelas jantung di dalam kelas orang / karena objek p berada pada objek o
                        o.dengarBunyiJantung();
                        //untuk memanggil dan menampilkan method dengarBunyiJantung dari dari class orang
                        p.istirahat();
                         //untuk memanggil dan menampilkan method istirahat dari dari inner class jantung
            }
}

Output :


Tidak ada komentar:

Posting Komentar