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