Jurusan/Fakultas/Universitas : Teknologi Informasi/Teknik/Universitas Udayana
Mata Kuliah : Pemrograman Berorientasi Objek (B)
Dosen : I Putu Agus Eka Pratama, ST MT
Pada postingan kali ini, Saya akan sedikit berbagi tentang penerapan pewarisan pada java. sebelum mulai pada penerapannya, mari kita mulai dengan konsep pewarisanitu sendiri. Konsep inheritance ini mengadopsi dunia riil dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan.
Suatu class yang mempunyai class turunan dinamakan parent class atau base class. Sedangkan class turunan itu sendiri seringkali disebut subclass atau child class. Suatu subclass dapat mewarisi apa-apa yang dipunyai oleh parent class. Karena suatu subclass dapat mewarisi apa apa yang dipunyai oleh parent class-nya, maka member dari suatu subclass adalah terdiri dari apa-apa yang ia punyai dan juga apa-apa yang ia warisi dari class parent-nya.
Kesimpulannya, boleh dikatakan bahwa suatu subclass adalah tidak lain hanya memperluas (extend) parent class-nya.
Setelah sedikit penjelasan tentang pewarisan dalam pemrograman berorientasi objek, sekarang kita saya akan membagikan sedikit contoh penerapannya dalam pemrograman dengan bahasa java. Sebelumnya, kita harus mendefinisikan Super Class yg mana merupakan class yang nantinya akan diturunkan ke Sub Class.
Dalam hal ini Anggap saja kita memiliki Superclass bernama Mamalia dan Reptile. Mamalia memiliki sub class yaitu sapi, kucing, anjing. Sedangkan pada reptile memiliki sub class yaitu ular, buaya, dan cicak. Pada class Anjing, dibagi lagi menjadi 3 class, yaitu Bulldog, Rottweiler, dan Golden. Pada class ular memiliki anak lagi menjadi kobra dan pyton.
Berikut Codingan / script pada class "Mamalia" dan "Reptile" Beserta sub class nya. Silahkan Anda Copy script berikut kedalam IDE anda. Disini Saya Menggunakan Geany di Linux Ubuntu 14.04.
//Kelas Mamalia
//Super Kelas untuk kelas anak : Sapi
class Mamalia {
int ID;
String Nama;
String Keterangan;
//konstructor
public Mamalia (int id, String nama, String keterangan) {
ID = id;
Nama = nama;
Keterangan = keterangan;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " +ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
}
}
//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 TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Kucing extends Mamalia {
String Jenis;
public Kucing (int mid, String nama, String keterangan, String jenis) {
super (mid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Anjing extends Mamalia {
String Jenis;
public Anjing (int mid, String nama, String keterangan, String jenis) {
super (mid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//Kelas Bulldog
//Turunan dari kelas anjing, menggunakan "extends" dan "super"
class Bulldog extends Anjing {
public Bulldog (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Rottweiler extends Anjing {
public Rottweiler (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Golden extends Anjing {
public Golden (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//*******************************************************************************
//Kelas Reptile
//Super Kelas untuk kelas anak : ular
class Reptil {
int ID;
String Nama;
String Keterangan;
//konstructor
public Reptil (int id, String nama, String keterangan) {
ID = id;
Nama = nama;
Keterangan = keterangan;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " +ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
}
}
//kelas Buaya
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Buaya extends Reptil {
String Jenis;
//konstructor
public Buaya (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Cicak extends Reptil {
String Jenis;
public Cicak (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Ular extends Reptil {
String Jenis;
public Ular (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//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 TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Phyton extends Ular {
public Phyton (int uid, String nama, String keterangan, String jenis) {
super (uid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//Super Kelas untuk kelas anak : Sapi
class Mamalia {
int ID;
String Nama;
String Keterangan;
//konstructor
public Mamalia (int id, String nama, String keterangan) {
ID = id;
Nama = nama;
Keterangan = keterangan;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " +ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
}
}
//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 TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Kucing extends Mamalia {
String Jenis;
public Kucing (int mid, String nama, String keterangan, String jenis) {
super (mid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Anjing extends Mamalia {
String Jenis;
public Anjing (int mid, String nama, String keterangan, String jenis) {
super (mid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//Kelas Bulldog
//Turunan dari kelas anjing, menggunakan "extends" dan "super"
class Bulldog extends Anjing {
public Bulldog (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Rottweiler extends Anjing {
public Rottweiler (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Golden extends Anjing {
public Golden (int aid, String nama, String keterangan, String jenis) {
super (aid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//*******************************************************************************
//Kelas Reptile
//Super Kelas untuk kelas anak : ular
class Reptil {
int ID;
String Nama;
String Keterangan;
//konstructor
public Reptil (int id, String nama, String keterangan) {
ID = id;
Nama = nama;
Keterangan = keterangan;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " +ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
}
}
//kelas Buaya
//Turunan dari kelas Reptil, menggunakan "extends" dan "super"
class Buaya extends Reptil {
String Jenis;
//konstructor
public Buaya (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
//methode
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Cicak extends Reptil {
String Jenis;
public Cicak (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Ular extends Reptil {
String Jenis;
public Ular (int rid, String nama, String keterangan, String jenis) {
super (rid, nama, keterangan);
Jenis = jenis;
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
//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 TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
class Phyton extends Ular {
public Phyton (int uid, String nama, String keterangan, String jenis) {
super (uid, nama, keterangan, jenis);
}
public void TampilkanRincian() {
System.out.println("ID = " + ID);
System.out.println("Nama Hewan = " + Nama);
System.out.println("Keterangan = " + Keterangan);
System.out.println("Jenis = " + Jenis);
}
}
Selanjutnya pada main yang terdapat pada public class Hewan, berisi kode sebagai berikut.
//MAIN CLASS
public class Hewan {
public static void main(String[] args) {
System.out.println("Berikut merupakan jenis-jenis hewan :");
System.out.println(""); //pada c++ memiliki fungsi yang sama dengan endl;
Mamalia mamalia = new Mamalia(001, "Mamalia", "Hewan menyusui");
Sapi sapi = new Sapi(100, "Sapi", "Salah satu hewan mamalia", "herbivora");
Kucing kucing = new Kucing(110, "Kucing", "Salah satu hewan mamalia", "Karnivora");
Anjing anjing = new Anjing(120, "Anjing", "Salah satu hewan mamalia", "Karnivora");
Bulldog bulldog= new Bulldog(121, "Anjing Bulldog", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Rottweiler rottweiler = new Rottweiler(122, "Anjing Rottweiler", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Golden golden = new Golden(123, "Goldem", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Reptil reptil = new Reptil(002, "Reptil", "Hewan berdarah dingin yang tubuhnya ditutupi sisik");
Buaya buaya = new Buaya(200, "Buaya", "Salah satu hewan reptil", "Karnivora");
Cicak cicak = new Cicak(210, "Cicak", "Salah satu hewan reptil", "Karnivora");
Ular ular = new Ular(220, "Ular", "Salah satu hewan reptil", "Karnivora");
Kobra kobra = new Kobra(221, "Ular Kobra", "Salah satu hewan reptil jenis ular", "Karnivora");
Phyton phyton = new Phyton(222, "Ular Pyton", "Salah satu hewan reptil jenis ular", "Karnivora");
//Output
mamalia.TampilkanRincian();
System.out.println("");
sapi.TampilkanRincian();
System.out.println("");
kucing.TampilkanRincian();
System.out.println("");
anjing.TampilkanRincian();
System.out.println("");
bulldog.TampilkanRincian();
System.out.println("");
rottweiler.TampilkanRincian();
System.out.println("");
golden.TampilkanRincian();
System.out.println("");
reptil.TampilkanRincian();
System.out.println("");
buaya.TampilkanRincian();
System.out.println("");
cicak.TampilkanRincian();
System.out.println("");
ular.TampilkanRincian();
System.out.println("");
kobra.TampilkanRincian();
System.out.println("");
phyton.TampilkanRincian();
System.out.println("");
}
}
public class Hewan {
public static void main(String[] args) {
System.out.println("Berikut merupakan jenis-jenis hewan :");
System.out.println(""); //pada c++ memiliki fungsi yang sama dengan endl;
Mamalia mamalia = new Mamalia(001, "Mamalia", "Hewan menyusui");
Sapi sapi = new Sapi(100, "Sapi", "Salah satu hewan mamalia", "herbivora");
Kucing kucing = new Kucing(110, "Kucing", "Salah satu hewan mamalia", "Karnivora");
Anjing anjing = new Anjing(120, "Anjing", "Salah satu hewan mamalia", "Karnivora");
Bulldog bulldog= new Bulldog(121, "Anjing Bulldog", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Rottweiler rottweiler = new Rottweiler(122, "Anjing Rottweiler", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Golden golden = new Golden(123, "Goldem", "Salah satu hewan mamalia jenis anjing", "Karnivora");
Reptil reptil = new Reptil(002, "Reptil", "Hewan berdarah dingin yang tubuhnya ditutupi sisik");
Buaya buaya = new Buaya(200, "Buaya", "Salah satu hewan reptil", "Karnivora");
Cicak cicak = new Cicak(210, "Cicak", "Salah satu hewan reptil", "Karnivora");
Ular ular = new Ular(220, "Ular", "Salah satu hewan reptil", "Karnivora");
Kobra kobra = new Kobra(221, "Ular Kobra", "Salah satu hewan reptil jenis ular", "Karnivora");
Phyton phyton = new Phyton(222, "Ular Pyton", "Salah satu hewan reptil jenis ular", "Karnivora");
//Output
mamalia.TampilkanRincian();
System.out.println("");
sapi.TampilkanRincian();
System.out.println("");
kucing.TampilkanRincian();
System.out.println("");
anjing.TampilkanRincian();
System.out.println("");
bulldog.TampilkanRincian();
System.out.println("");
rottweiler.TampilkanRincian();
System.out.println("");
golden.TampilkanRincian();
System.out.println("");
reptil.TampilkanRincian();
System.out.println("");
buaya.TampilkanRincian();
System.out.println("");
cicak.TampilkanRincian();
System.out.println("");
ular.TampilkanRincian();
System.out.println("");
kobra.TampilkanRincian();
System.out.println("");
phyton.TampilkanRincian();
System.out.println("");
}
}
Jika sudah, lakukan proses compile dan make, sehingga terbentuk file .class. Di Geany dapat dilakukan dengan klik menu Build > Compile atau tekan F8. Lakukan hingga proses compile sukses (lihat keterangan di bagian bawahnya).
Kemudian jalankan dengan klik menu Build > Execute atau tekan F5.
Sekian Tutorial kali ini, semoga dapat bermanfaat. See you later... :D
Sumber
0 komentar:
Posting Komentar