Anda di halaman 1dari 7

Modul

4
Inheritance (Pewarisan)

I. Tujuan:
1. Mengetahui pengertian inheritance (pewarisan)
2. Mengetahui konsep inheritance
3. Mengimplementasikan konsep inheritance pada bahasa pemrograman java
4. Memahami penggunaan kata kunci super
5. Mengetahui pengaksesan member pada parent class

II. Dasar Teori


2.1. Pengantar Inheritance
Konsep inheritance atau pewarisan ini mengadopsi dunia nyata dimana sebuah
objek dapat mewariskan sifat pada turunannya. Dalam kehidupan manusia pasti memiliki
karakter yang hampir sama dengan orang tua. Selain bentuk fisik yang memiliki
keseragaman yang hampir sama, tentunya juga memiliki beberapa karakter/sifat yang
hampir sama dengan kedua orang tua.
Misalnya ayah nobita adalah orang penyabar,
sedangkan nobita juga penyabar, tapi dibalik semua itu,
nobita juga mempunyai sifat lain yang tidak dimiliki oleh
ayahnya, yaitu pemalas. Itulah kenapa setiap turunan
dikatakan ‘hampir‘ sama dengan induknya.

2.2. Pengertian Inheritance


Inheritance (pewarisan) adalah proses pewarisan data dan method satu kelas
induk kepada kelas turnannya.
Komponen class pada pewarisan yaitu:
• Super Class: kelas induk atau kelas yang mewariskan
• SubClass: anak kelas atau kelas yang mendapat warisan

2.3. Inheritance Pada Java


Di dalam bahasa pemrograman java, untuk mendeklarasikan suatu class
sebagai subclass dilakukan dengan cara menambahkankata kunci extends setelah
deklarasi nama classnya, kemudian diikuti dengan nama parent class-nya atau super
classnya. Kata kunci extends tersebut memberitahu kompiler java bahwa kita ingin
melakukan perluasan class.
Cara penulisan subclassnya adalah sebagai berikut:

Contoh kasus:
Terdapat beberapa software di komputer. Software tersebut beraneka ragam:
software game, software edukasi, dan lain-lain. Biarpun berbeda jenisnya, software
tersebut pasti memiliki kesamaan dengan software sejenisnya. Dengan kata lain, apabila
dilihat dari segi pemrograman, maka class Software adalah superclass, sedangkan
class Game adalah subclassnya. Jadi penulisan code java-nya adalah sebagai berikut:

2.4. Manfaat Inheritance


Berikut in adalah beberapa manfaat apabila menggunakan konsep inheritance:
1. Bersifat reusable
Pada class yang memiliki sifat mirip denga class lain, tidak perlu membuat
variabel dan method yang sama dalam penerapannya. Sehingga hanya perlu
membuat satu class sebagai induk, dan beberapa class sebagai anak yang mewarisi
method dan data dari class induk. Ketika membutuhkan data dan method tambahan
pada class anak, hanya perlu menambahkan data tambahan tersebut, tanpa perlu
mendeklarasikan data dan method yang sudah dimiliki oleh induk class.
2. Efisiensi dalam manajemen data dan method
Ketika membutuhkan perubahan pada data dan method pada induk class,
tidak perlu mengubah semua class anak, sehingga hanya perlu melakukan
perubahan pada class induknya saja.

2.5. Keyword “super“


Keyword super digunakan oleh subclass untuk memanggil constructor atau
method yang ada pada superclassnya. Berikut cara penulisan keyword super pada
subclass untuk memanggil constructor pada superclass.

Sedangkan cara penulisan “super“ pada subclass untuk memanggil method


pada superclass adalah sebagai berikut:

2.6. Kontrol akses


Suatu parent class dapat tidak mewariskan sebagian data dan methodnya
kepada subclassnya. Sejauh mana suatu data dan method tersebut dapat diwariskan ke
kelas lain sangat berhubungan dengan access control. Gambaran akses kontrol
digambarkan pada tabel berikut:

III. Latihan Praktikum


1) Penggunaan keyword “super“

Beri keterangan pada program mengenai latihan praktikum di atas.

2) Pewarisan BangunDatar kepada Persegi dan Segitiga


Buatlah class BangunDatar sebagai induk class.

Kemudian buatlah class Persegi dan Segitiga sebagai subclass atau anak kelas.
Hasilnya adalah:

3) Kontrol Akses

Data-data di atas memiliki akses control yang berbeda-beda.


Data alamat dapat diakses oleh anak classnya, karena berada dalam satu package.
Sehingga agar data nama dapat diakses oleh anak classnya, harus diubah ke dalam
public/ protected. Kemudian buatlah fungsi untuk menampilkan data-data tersebut, dan
implementasikan pada main method.

IV. Tugas Praktikum


1) Buatlah class Ayah yang memiliki atribut hidung (mancung atau pesek), mata (lebar atau
sipit), kulit (hitam atau putih). Kemudian buatlah class Anak yang menurunkan data dari
class Ayah. Class Anak memiliki data tambahan yaitu nama. Implementasikan pada main
method.
2) Buatlah sebuah Class dengan menerapkan konsep inheritance dengan ketentuan sebagai
berikut:
a. Parent Class : Berisi Method Input
b. Child Class : Berisi Class untuk menghitung volume: persegi, persegi panjang, bola,
limas segi empat, limas segitiga, dan tabung

V. Kesimpulan
(Kesimpulan apa yang dapat anda ambil dari praktikum modul ini?)

Anda mungkin juga menyukai