Selasa, 17 Maret 2015

Tugas 3 - Program Pewarisan Lanjutan

Nama Matakuliah        : Pemrograman Berorientasi Objek
Nama                           : I Gusti Ngurah Yoga Pawitra
NIM                             : 1404505052 
Nama Dosen                : I Putu Agus Eka Pratama ST.,MT
Jurusan                        : Teknologi Informasi
Fakultas                       : Teknik
Universitas                  : Udayana


INHERITANCE

Pada postingan kali ini saya akan membahas tentang Inheritance. Inheritance adalah Salah satu konsep dasar dari pemrograman berbasis objek pada java. Pada dasarnya, kita melakukan inheritance(pewarisan) untuk membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau spesifikasi dari superclass. Di dalam Java untuk mendeklarasikan suatu class sebagai subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Beberapa aturan tentang pewarisan(inheritance) yang perlu diperhatikan :
1. Java hanya memperkenankan adanya single inheritance. Konsep single inheritance hanya memperbolehkan suatu sublass mempunyai satu parent class. Dengan konsep single inheritance ini, masalah pewarisan akan dapat diamati dengan mudah.

2. Subclass juga merupakan class biasa, maka kita tetap dapat melakukan pewarisan pada subclass ini. Misal : class B merupakan subclass dari class A, kita dapat membuat class baru yang diturunkan dari class B sehingga class baru tersebut akan memiliki apa yang dimiliki oleh class A dan class B.

3. Suatu parent class dapat tidak mewariskan sebagian member-nya kepada subclass-nya. Sejauh mana suatu member dapat diwariskan ke class lain, ataupun suatu member dapat diakses dari class lain, sangat berhubungan dengan access control (kontrol pengaksesan).
Sekarang kita coba membuat program pewarisan pada java, berikut langkah-langkahnya :
Pertama kita buat project baru seperti biasa dan ingat diberi nama
Kemudian kita membuat dua kelas induk utama yaitu "Mamalia" dan "Reptil".
class Mamalia {
 int ID;
 String Nama;
 String Keterangan;

 public Mamalia (int id, String nama, String keterangan) {
  ID = id;
  Nama = nama;
  Keterangan = keterangan; 
 }

public void Rincian() {
  System.out.println("ID = " +ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
 }
}

class Reptil {
 int ID;
 String Nama;
 String Keterangan;

public Reptil (int id, String nama, String keterangan) {
  ID = id;
  Nama = nama;
  Keterangan = keterangan; 
 }

public void Rincian() {
  System.out.println("ID = " +ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
 }
}

Setelah membuat Superclass atau kelas Induk, selanjutnya kita akan membuat kelas Anak atau Subclas. Kelas Mamalia memiliki Anak Kelas yaitu Sapi, Kucing, dan Anjing dimana Anjing juga memiliki Anak Kelas yang terdiri dari Alaskan Malamute, Akita, dan Beagle. Sedangkan Kelas Reptil memiliki Anak Kelas yaitu Buaya, Cicak, dan Ular dimana Ular juga memiliki Anak Kelas yaitu Kobra dan Python. Berikut adalah skrip masing-masing kelas.

1. Kelas Sapi
 //kelas Sapi
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Sapi extends Mamalia {
 String Jenis;

public Sapi (int mid, String nama, String keterangan, String jenis) {
  super (mid, nama, keterangan);
  Jenis = jenis;
 }

public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

2. Kelas Kucing
//kelas Kucing
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Kucing extends Mamalia {
 String Jenis;

public Kucing (int mid, String nama, String keterangan, String jenis) {
  super (mid, nama, keterangan);
  Jenis = jenis;
 }

 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

3. Kelas Anjing
//kelas Anjing
//Turunan dari kelas Mamalia, menggunakan "extends" dan "super"
class Anjing extends Mamalia {
 String Jenis;

 public Anjing (int mid, String nama, String keterangan, String jenis) {
  super (mid, nama, keterangan);
  Jenis = jenis;
 }

public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

4. Kelas Alaskan Malamute
//kelas AlaskanMalamute
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class AlaskanMalamute extends Anjing {


 public AlaskanMalamute (int aid, String nama, String keterangan, String jenis) {
  super (aid, nama, keterangan, jenis);
 }

public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 

5. Kelas Akita
//kelas Akita
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class Akita extends Anjing {


 public Akita (int aid, String nama, String keterangan, String jenis) {
  super (aid, nama, keterangan, jenis);
 }


 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

6. Kelas Beagle
//kelas Beagle
//Turunan dari kelas Anjing, menggunakan "extends" dan "super"
class Beagle extends Anjing {


 public Beagle (int aid, String nama, String keterangan, String jenis) {
  super (aid, nama, keterangan, jenis);
 }


 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

7. Kelas Reptil
class Reptil {
 int ID;
 String Nama;
 String Keterangan;


 public Reptil (int id, String nama, String keterangan) {
  ID = id;
  Nama = nama;
  Keterangan = keterangan; 
 }

public void Rincian() {
  System.out.println("ID = " +ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
 }
}

8. Kelas Buaya
//kelas Buaya
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Buaya extends Reptil {
 String Jenis;

public Buaya (int rid, String nama, String keterangan, String jenis) {
  super (rid, nama, keterangan);
  Jenis = jenis;
 }


 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

9. Kelas Cicak
//kelas Cicak
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Cicak extends Reptil {
 String Jenis;

public Cicak (int rid, String nama, String keterangan, String jenis) {
  super (rid, nama, keterangan);
  Jenis = jenis;
 }

public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

10. Kelas Ular
//kelas Ular
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Ular extends Reptil {
 String Jenis;

public Ular (int rid, String nama, String keterangan, String jenis) {
  super (rid, nama, keterangan);
  Jenis = jenis;
 }

public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

11. Kelas Kobra
  //kelas Kobra
//Turunan dari kelas Ular, menggunakan "extends" dan "super"
class Kobra extends Ular {


 public Kobra (int uid, String nama, String keterangan, String jenis) {
  super (uid, nama, keterangan, jenis);
 }


 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

12. Kelas Python
//kelas Python
//Turunan dari kelas Ular, menggunakan "extends" dan "super"
class Python extends Ular {


 public Python (int uid, String nama, String keterangan, String jenis) {
  super (uid, nama, keterangan, jenis);
 }


 public void Rincian() {
  System.out.println("ID = " + ID);
  System.out.println("Nama Hewan = " + Nama);
  System.out.println("Keterangan = " + Keterangan);
  System.out.println("Jenis = " + Jenis);
 } 
}

Langkah selanjutnya yaitu membuat instansiasi kelas dan pemanggilan konstruktor pada kelas utama atau main class. Berikut skripnya.
//MAIN CLASS
public class JenisBinatang {
    public static void main(String[] args) {
       //instansiasi kelas
 //menggunakan "new"
  System.out.println("Berikut merupakan jenis-jenis hewan :");
  System.out.println("");
  Mamalia mamalia = new Mamalia(001, "Mamalia", "Merupakan Hewan menyusui");
  Sapi sapi = new Sapi(011, "Sapi", "Contoh hewan mamalia", "Pemakan Rumput");
  Kucing kucing = new Kucing(021, "Kucing", "Contoh hewan mamalia", "Pemakan Daging");
  Anjing anjing = new Anjing(031, "Anjing", "Contoh hewan mamalia", "Pemakan Daging");
  AlaskanMalamute alaskanmalamute = new AlaskanMalamute(131, "Anjing Alaskan Malamute", "Salah satu jenis anjing", "Pemakan Daging");
  Akita akita = new Akita(231, "Anjing Akita", "Salah satu jenis anjing", "Pemakan Daging");
  Beagle beagle = new Beagle(331, "Anjing Beagle", "Salah satu jenis anjing", "Pemakan Daging");
  Reptil reptil = new Reptil(002, "Reptil", "Merupakan Hewan berdarah dingin");
  Buaya buaya = new Buaya(012, "Buaya", "Contoh hewan reptil", "Pemakan Daging");
  Cicak cicak = new Cicak(022, "Cicak", "Contoh hewan reptil", "Pemakan Daging");
  Ular ular = new Ular(032, "Ular", "Contoh hewan reptil", "Pemakan Daging");
  Kobra kobra = new Kobra(132, "Ular Kobra", "Salah satu jenis ular", "Karnivora");
  Python python = new Python(232, "Ular Python", "Salah satu jenis ular", "Karnivora");
  mamalia.Rincian();
  System.out.println("");
  sapi.Rincian();
  System.out.println("");
  kucing.Rincian();
  System.out.println("");
  anjing.Rincian();
  System.out.println("");
  alaskanmalamute.Rincian();
  System.out.println("");
  akita.Rincian();
  System.out.println("");
  beagle.Rincian();
  System.out.println("");
  reptil.Rincian();
  System.out.println("");
  buaya.Rincian();
  System.out.println("");
  cicak.Rincian();
  System.out.println("");
  ular.Rincian();
  System.out.println("");
  kobra.Rincian();
  System.out.println("");
  python.Rincian();
  System.out.println("");
    }
   
}

Lalu compile dan run program tersebut, berikut contoh screenshootnya

selamat mencoba :)


Tidak ada komentar:

Posting Komentar