Anda di halaman 1dari 7

MODUL 10

KONSEP INHERITANCE
(PEWARISAN)

Kompetensi Dasar :
 Memahami konsep pewarisan
 Mengolah hubungan antara class dengan pola pewarisan

Materi :
 konsep pewarisan
 Single inheritance

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


A. Konsep inheritance
Inheritance atau pewarisan adalah memperluas suatu kelas atau mendefinisikan class
baru dengan memanfaatkan class yang telah ada. Metode OOP memungkinkan kita
memperoleh seluruh data dari class induk (base-class) untuk diberikan kepada class anak
(derived-class) tanpa harus melakukan copy-paste seluruh kode base-class.
Untuk menggunakan inheritance kata kunci yang diperlukan adalah extends. Secara
umum sintax dari inheritance adalah seperti berikut :
class SubClass extends SuperClass {
..............
}

Class SubClass merupakan kelas turunan dari SuperClass, oleh karena itu properties
yang dimiliki oleh SuperClass seperti variabel dan method akan bisa juga dimiliki oleh
SubClass.

Sebagai contoh akan dibuat class Silinder. Penggambaran bangun geometri “silinder”
adalah sebagai berikut:

Kedua ujung silinder memiliki bentuk lingkaran yang dihubungkan


dengan suatu permukaan pada jarak tertentu. Jika jarak kedua silinder
disebut tinggi silinder (t) maka dapat disimpulkan bahwa selain ‘t’
silinder juga memiliki ‘r’, yaitu jari-jari lingkaran pada kedua ujungnya.

Bagan untuk class Silinder dengan seluruh data dan methodnya menurut gambar di atas
adalah sebagai berikut:

Untuk melihat perbandingannya, diberikan kedua bagan yaitu class Lingkaran dan class
Silinder.

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


Terlihat ada data dan method yang sama pada kedua class. Terlihat pula bahwa class
Silinder merupakan superset dari class Lingkaran. Tidak semua method class Lingkaran
dihilangkan pada class Silinder, seperti nampak berikut ini:

Secara hirarki, struktur kedua class tersebut digambarkan sebagai berikut:

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


Contoh Program :

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


Penulisan super.hitungLuas() menyatakan bahwa nilai yang diambil adalah nilai method
hitungLuas() yang ada di class induk. Seandainya kata super dihilangkan maka Java akan
menganggap method yang harus dipanggil ada di class Silinder. Kata super digunakan
karena method dengan nama hitungLuas() ada di class Silinder dan di class Lingkaran,
sehingga harus dipastikan method mana yang akan digunakan. Kecuali untuk tujuan
rekursif, penggunaan kata kunci super akan mencecah terjadinya pemanggilan method
secara rekursif yang tidak dikehendaki.

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


Pada program di atas method hitung keliling masih bisa diakses untuk menghitung keliling
Silinder. Padahal diketahui bahwa benda tiga dimensi tidak memiliki keliling karena bentuk
ruangnya. Dalam kasus seperti ini harua dibatasi pewarisan data atau method agar tidak
bisa diakses dari luar namun tetap bisa diwariskan ke kelas dibawahnya. Kata kunci
protected digunakan untuk membuat pertahanan baru dengan membatasi akses ke data
atau method pada suatu class hanya untuk turunannya saja, tidak termasuk ke bagian lain
yang hanya menggunakan class tersebut.

B. Tipe Inheritance
1. Single Inheritance
Merupakan konsep inheritance dimana suatu kelas hanya memiliki satu turunan.
2. Multiple Inheritance
Merupakan konsep inheritance dimana suatu kelas memiliki kelas turunan dan kelas
turunan tersebut juga memiliki kelas turunan lain.
3. Hierarchi Inheritance
Merupakan konsep inheritance dimana suatu kelas memiliki lebih dari satu turunan.

Super Class
SINGLE INHERITANCE

Sub Class A

Super Class

MULTIPLE INHERITANCE
Sub Class A

Sub Class B

Super Class
HIERARCHI INHERITANCE

Sub Class A Sub Class B

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd


C. Tugas Praktikum
1. Buatlah kode program untuk mengimplementasikan inheritance berikut ini. Gunakan
method overriding pada masing-masing kelas turunan.

2. Sebuah rental VCD memiliki desain class master untuk data VCD Film dan CDMusik
sebagai berikut:
 Class cdFilm dengan atribut :
Judul : judul film
Pemain : nama-nama pemain di film tersebut
Sutradara : nama sutradara film tersebut
Publiser : yang memproduksi film tersebut
Kategori : SU : Semua umur, D = Dewasa, R = Remaja, A = Anak.
Strock : jumlah stok VCD film tersebut
 Class CdMusik dengan atribut :
Judul : judul album musik
Penyanyi : nama penyanyi di album tersebut
Produser : nama produser album tersebut
Publiser : studio rekaman yang memproduksi cd musik tersebut.
Top hits : lagu yang diandalkan pada album tersebut.
Kategori : C = Classic, J =Jazz, P =Pop, R = Rock
Stok : jumlah stok musik tersebut.

Dari data kedua class diatas, desainlah class-class tersebut dengan konsep inheritance.
Cari hubungan antar kedua class tersebut dan tentukan super classnya dan sub classnya.
Setelah itu implementasikan class-class yang telah anda desain dan buatlah program
sederhana yang memiliki fasilitas entri data vcd film, entri data cd musik serta melihat daftar
vcd film dan cd musik yang telah dientrikan.

```````````````````````` Lanjut ke Modul 9 ``````````````````````

Modul 9 – Pemrograman Java | Konsep Inheritance| Vebriyanti Dwi Anggraini, S.Pd

Anda mungkin juga menyukai