Sabtu, 29 Oktober 2011

Laporan Praktek 5

Temen-temen…. kita ketemu  lagi untuk penjelasan tentang bahasa pemrograman java. Pada pertemuan ini, pokok pembahasannya adalah tentang Abstract Class, Interface dan Inner Class. 
v       Abstract Class
Abstract Class adalah Suatu kelas yang dinyatakan abstract, umumnya memiliki satu atau lebih abstract method. Abstract method adalah suatu method yang memiliki implementasi dan menggunakan modifier abstract. Abstrac class biasanya dijadikan parent/super class dari kelas-kelas yang dpt membuat objek, abstrak class tidak dapt diinstansiasi.

v      Interface
Interface adalah suatu kelas yang berisi method-method tanpa implementasi, namun tanpa modifier abstract. Apabila suatu interface memiliki atribut, maka atributnya akan berlaku sebagai konstanta.
v      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
.
Untuk bisa lebih memahami tentang penggunaan abstract class, interface dan inner class ini. Mari kita  melihat contoh program di bawah ini!

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 : " +Nama);
                        System.out.println("Jumlah Kaki : " +JlhKaki);
                        System.out.println("Bisa terbang : " +BisaTerbang);
   }
}
Penjelasan kode:
·          Memiliki 3 atribut, yaitu: atribut BisaTerbang, Nama, JlhKaki.
·      Memiliki 3 method yaitu: MakhlukHidup, bernafas, status. Pada method makhluk hidup. dinamakan konstruktor karena nama methodnya sama dengan nama kelasnya. Sedangkan pada method bernafas disebut dengan method abstrak.
·         Nama1, BisaTerbang1, JlhKaki1 merupakan parameter.
·         Abstract void bernafas () merupakan method abstrak.
·         Hasil tidak mempunyai nilai karena tidak menggunakan fungsi utama yaitu void main.
Hasil:


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[]args){
                        Manusia m = new Manusia("Sayuti");
                        m.status();
                        m.bernafas();
   }
} 

Penjelasan kode:
       Memiliki 2 method yaitu: method manusia dan bernafas
·      Fungsi Super adalah untuk memanggil konstruktor kelas induk
·     Mempunyai fungsi utama yang ditandai dengan void main yang berarti kode diatas mempunyai nilai hasil seperti di bawah ini!


Tumbuhan.Java
public class Tumbuhan extends MakhlukHidup {
    Tumbuhan(String Nama) {
            super(Nama, 0, false);
    }
    public void bernafas() {
                        System.out.println(Nama+" bernafas dengan menghirup O2");
   }
    public static void main(String[]args){
            Tumbuhan t = new Tumbuhan("Bayam");
            t.status();
            t.bernafas();
      }
   }

Arti dari kode program Tumbuhan.java ini  sama maksudnya dengan program Manusia.java. Hasilnya sbb!

Pekerjaan.Java
interface Pekerjaan {
   public void namaPekerjaan();
   public void gaji();
}
Kode di atas adalah merupakan contoh kelas interface dengan nama kelas Pekerjaan. Yang mana interface hanya berisikan method-method saja tanpa implementasi. Akan tetapi bisa di implementasikan pada kelas lain.


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();
   }
}
Penjelasan Kode:
·  Kelas Sasya adalah merupakan kelas yang diturunkan/di wariskan dari kelas Manusia yang   mengimplementasikan kelas Pekerjaan.
·     Memiliki 3 method yaitu: Sasya, Pekerjaan, gaji. Dimana isi perintah dari method Sasya adalah memanggil konstruktor kelas induk yang ditandai dengan adanya kata super. Isi perintah method Pekerjaan adalah mencetak hasil dengan  nilai Pekerjaannya Sekretaris, sedangkan method gaji isi perintahnya adalah mencetak nilai gaji sebesar Rp. 3.000.000.
·         Hasilnya seperti berikut:

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("Silahkan 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();
   }
}

Pada kode di atas adalah merupakan contoh program yang menggunakan fungsi inner join, dimana ada kelas di dalam kelas. Seperti kita liat program di atas terdapat class Jantung di dalam class Orang.
Hasil:

Itulah penjelasan yang bisa saya berikan mengenai contoh-contoh program di atas.
Semoga temen-temen semua bisa memahami dengan penjelasan yang saya berikan ya…….:)
Thank’s……!!!


Tidak ada komentar:

Posting Komentar