Jumat, 01 Maret 2019

Pertemuan V

                        Abstract Class,Interface,Inner Class


Dasar Teori

 a. Abstract Class
     Java menyediakan suatu mekanisme yang memungkinkan suatu metode ditentukan dari dalam kelas tetapi tidak disertai defenisinya. Metode ini dikenal dengan nama metode abstract,sedangkan kelasnya dinamakan kelas abstract.

        Abstract class adalah suatu kelas yang dinyatakan abstract,umumnya memiliki suatu atau lebih abstract method. Abstract method adalah suatu method yang memilki implementasi dan menggunakan modifier abstract. Abstract class biasanya dijadikan parent/super class dari kelas-kelas yang dapat membuat object,abstract class tidak dapat diinstanisasi.

         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,apabila suatu interface memiliki  atribut.


c. Inner Class
       Inner Class adalah kelas yang disisipkan di dalam kelas yang lain. Fungsi kelas sisipan ini adalah mendukung suatu proses yang akan dijalankan oleh kelas utamanya. Inner Class bersifat tersarang terhadap kelas-kelas utamanya.




Langkah-Langkah Praktikum

A. Membuat Program MakhlukHidup.java

public abstract class MakhlukHidup { // bukan kelas utama
   protected boolean BisaTerbang = false; //Method
   protected String Nama;                             //Method
   protected int JlhKaki;                                //Method

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

   abstract void bernafas(); //Method kelas abstract

   public void status() {
         System.out.println("Nama : " +Nama);
         System.out.println("Jumlah kaki : " +JlhKaki);
         System.out.println("Bisa terbang : " +BisaTerbang);
   }

}


B. Membuat Program Manusia.java

public class Manusia extends MakhlukHidup {//turunan dari MakhlukHidup//kelas utama
   Manusia(String nama) { // Method
         super(nama, 2,false);//memanggil class induk MakhlukHidup
   }

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

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

}


Outputnya :

Nama             : Sayuti
Jumlah kaki   : 2
Bisa Terbang : False
Sayuti bernafas dengan menghirup O2



C. Program Tumbuhan.java

public class Tumbuhan extends MakhlukHidup {// merupakan pewarisan dari Makhluk Hidup
   Tumbuhan(String nama) {
         super(nama, 0, false);
   }

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

   public static void main(String [] args) {
         Tumbuhan t = new Tumbuhan("Bayam");//memanggil constructor
         t.status();//memanggil object baru
         t.bernafas();
   }

}


Outputnya :

Nama              : Bayam
Jumlah kaki    : 0
Bisa Terbang  : false


D. Membuat Program Pekerjaan.java

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


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[] args) {
         Sasya s = new Sasya();
         s.status();
         s.bernafas();
         s.namapekerjaan();
         s.gaji();
   }
}


Outputnya : 

Nama                             : Sasya
Jumlah Kaki                  : 2
Bisa Terbang                 : False
Sasya bernafas dengan menghirup O2
Pekerjaan                      : Sekretaris
Gaji                               : Rp. 3.000.000-,




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 istirahat() {
               System.out.println("Silangkan ke "+jumlKaki+" kaki.");
               tahanNafas();
         }
   }
}

class JantungManusia {
   public static void main(String[] args) {
         Orang o = new Orang();
         Orang.Jantung p = o.new Jantung();
         o.dengarBunyiJantung();
         p.istirahat();
   }
}



Outputnya :

deg...deg...deg...
Silahkan ke 2 kaki
Jantung berhenti berdetak!

Sekian blog ini saya tuiliskan mudah-mudahan blog saya ini bermanfaat buat kita semuanya.
 Terima Kasih !!


















Tidak ada komentar:

Posting Komentar