0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan9 halaman

BAB Inheritance

Dokumen ini menjelaskan konsep pewarisan (inheritance) dalam pemrograman berorientasi objek, termasuk pengertian, jenis, dan implementasinya dalam Java. Inheritance memungkinkan subclass untuk mewarisi atribut dan method dari parent class, serta memperkenalkan penggunaan access modifier dan kata kunci super. Contoh implementasi dalam program perbankan menunjukkan penerapan inheritance dan penggunaan konstruktor untuk menginisialisasi data.

Diunggah oleh

octamaxim2
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai ODT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
10 tayangan9 halaman

BAB Inheritance

Dokumen ini menjelaskan konsep pewarisan (inheritance) dalam pemrograman berorientasi objek, termasuk pengertian, jenis, dan implementasinya dalam Java. Inheritance memungkinkan subclass untuk mewarisi atribut dan method dari parent class, serta memperkenalkan penggunaan access modifier dan kata kunci super. Contoh implementasi dalam program perbankan menunjukkan penerapan inheritance dan penggunaan konstruktor untuk menginisialisasi data.

Diunggah oleh

octamaxim2
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai ODT, PDF, TXT atau baca online di Scribd

PEWARISAN (INHERITANCE): DASAR DAN

IMPLEMENTASI

BAB I
MATERI SINGKAT

A. Pengertian Inheritance

Inheritance adalah konsep dalam pemrograman berorientasi objek yang memungkinkan


sebuah class mewarisi atribut dan method dari class lain. Class yang mewariskan disebut parent
class, sedangkan class yang menerima warisan disebut subclass. Dengan inheritance, pembuatan
program menjadi lebih efisien karena kode dapat digunakan kembali.

B. Konsep Dasar Inheritance

Subclass merupakan pengembangan dari parent class. Subclass dapat menggunakan atribut
dan method milik parent class serta menambahkan atribut atau method baru. Dalam Java,
inheritance dideklarasikan menggunakan kRectangleata kunci extends.

C. Jenis Inheritance

Java mendukung single inheritance, yaitu satu subclass hanya memiliki satu parent class.
Selain itu, Java juga mendukung multilevel inheritance, di mana sebuah subclass dapat memiliki
subclass lagi secara bertingkat.

D. Pewarisan Atribut dan Method

Subclass mewarisi atribut dan method dari parent class kecuali yang bersifat private. Atribut
dan method yang diwariskan dapat langsung digunakan oleh subclass tanpa harus dideklarasikan
ulang.

E. Access Modifier dan super

Access modifier menentukan hak akses atribut dan method dalam inheritance. Kata kunci
super digunakan untuk mengakses atribut, method, atau konstruktor dari parent class. Konstruktor
parent class akan dijalankan terlebih dahulu sebelum konstruktor subclass.
BAB II
TUGAS PENDAHULUAN
Pertanyaan

1. Apa yang dimaksud dengan inheritance?

2. Buatlah contoh kasus yang menerapkan konsep inheritance !

3. Adakah perbedaan cara mengakses member class milik parent dan member class

milik sendiri? Jelaskan melalui contoh ! (Silahkan memanfaatkan jawaban soal

nomor 2.)

4. Apa yang dimaksud dengan konsep single inheritance ?

5. Apa yang dimaksud dengan konsep multi level inheritance ?

6. Ada berapa modifier untuk pengontrolan akses? Jelaskan masing-masing!

7. Apakah kegunaan kata kunci super? Jelaskan !

8. Apakah yang dimaksud dengan konstruktor tidak diwariskan?

Jawaban

1. Inheritance adalah konsep dalam pemrograman berorientasi objek yang memungkinkan


sebuah class mewarisi atribut dan method dari class lain.

2. Dalam sebuah sistem perusahaan, terdapat data pegawai yang memiliki atribut nama dan
gaji. Untuk pegawai dengan jabatan manajer, diperlukan atribut tambahan berupa
departemen. Oleh karena itu dibuat class Pegawai sebagai parent class dan class Manajer
sebagai subclass yang mewarisi atribut nama dan gaji, serta menambahkan atribut
departemen. Dengan konsep inheritance, penulisan kode menjadi lebih efisien karena atribut
yang sama tidak perlu dibuat ulang.

3. Ada, terdapat perbedaan cara mengakses member class milik parent dan member
class milik sendiri, terutama saat nama atribut atau method sama.
Penjelasan + Contoh
Pada konsep inheritance, member milik parent class dapat langsung diakses oleh subclass
selama tidak bersifat private. Namun, jika subclass memiliki member dengan nama yang
sama, maka untuk mengakses member milik parent class harus menggunakan kata kunci
super, sedangkan member milik sendiri diakses secara langsung atau menggunakan this.

Pada contoh di atas, [Link] digunakan untuk mengakses member milik class Manajer,
sedangkan [Link] digunakan untuk mengakses member milik class Pegawai. Hal ini
menunjukkan bahwa cara mengakses member parent class dan member class sendiri
berbeda ketika terjadi penamaan yang sama.

4. Single inheritance adalah konsep pewarisan dalam pemrograman berorientasi objek di


mana satu subclass hanya dapat memiliki satu parent class. Dengan konsep ini, sebuah
class turunan hanya mewarisi atribut dan method dari satu class induk sehingga struktur
program menjadi lebih sederhana dan mudah dipahami.

5. Multi level inheritance adalah konsep pewarisan dalam pemrograman berorientasi objek di
mana sebuah subclass dapat menjadi parent bagi subclass lainnya. Dengan kata lain,
pewarisan terjadi secara bertingkat, sehingga atribut dan method dapat diwariskan dari
class paling atas ke class turunan berikutnya.

6. Terdapat 4 access modifier yang digunakan untuk mengontrol hak akses dalam
pemrograman berorientasi objek, yaitu:

1. public
Member dengan modifier public dapat diakses dari mana saja, baik dari class yang
sama, subclass, maupun class lain.

2. protected
Member dengan modifier protected dapat diakses oleh subclass dan oleh class lain yang
masih berada dalam satu package.
3. default (tanpa modifier)
Jika tidak dituliskan modifier, maka member hanya dapat diakses oleh class yang
berada dalam satu package.

4. Private
Member dengan modifier private hanya dapat diakses di dalam class itu sendiri dan
tidak dapat diwariskan ke subclass.

7. Kata kunci super digunakan untuk mengakses member milik parent class dari dalam
subclass. Kata kunci ini berguna ketika subclass ingin menggunakan atau membedakan
member yang dimiliki parent class dengan member miliknya sendiri.
Kegunaan super antara lain:

1. Mengakses atribut parent class

2. Memanggil method parent class

3. Memanggil konstruktor parent class

Dengan menggunakan super, subclass dapat menghindari konflik nama dan memastikan
bahwa member yang diakses berasal dari parent class.

8. Yang dimaksud dengan konstruktor tidak diwariskan adalah bahwa konstruktor pada
parent class tidak secara langsung dimiliki oleh subclass. Artinya, subclass tidak dapat
menggunakan konstruktor parent class seolah-olah konstruktor tersebut adalah miliknya
sendiri. Namun, konstruktor parent class tetap dijalankan terlebih dahulu saat objek
subclass dibuat, dan pemanggilannya dilakukan menggunakan kata kunci super() di dalam
konstruktor subclass.
BAB III
TUGAS PRAKTIKUM
Tugas 1

A. Struktur Directory

TugasUML/

├── src/

│ ├── perbankan

│ │ ├── [Link]

│ │ └── [Link]

│ └── [Link]

B. Program
[Link]

package perbankan;

public class Tabungan {

// Buat field

protected int saldo;

// Buat konstruktor

public Tabungan(int saldo){

[Link] = saldo;

// Getter untuk mengambil nilai nilai saldo

public int getSaldo(){

return saldo;

}
[Link]

package perbankan;

public class PengambilanUang extends Tabungan{

// Buat field

protected int proteksi;

protected int jumlah;

// Konstruktor

public PengambilanUang(int saldo, int proteksi){

super(saldo);

[Link] = proteksi;

// Getter untuk mengambil nilai proteksi

public int getProteksi(){

return proteksi;

// Setter untuk mengatur jumlah uang yang akan diambil

public void setJumlah(int jumlah){

[Link] = jumlah;

// Getter untuk mengambil nilai jumlah uang yang akan diambil

public int getJumlah(){

return jumlah;
}

// Method untuk memvalidasi dan memproses pengambilan uang

public boolean ambilUang(){

if(saldo - jumlah >= proteksi){

saldo -= jumlah;

return true;

} else {

return false;

[Link]

import perbankan.*;

public class Main {

public static void main(String[] args) {

PengambilanUang tabungan = new PengambilanUang(5000, 1000);

[Link]("Uang yang ditabung : " + [Link]());

[Link]("Uang yang diproteksi : " + [Link]());

[Link](4500);

[Link]("-----------------------------");
[Link]("Uang yang akan diambil : " + [Link]() + " "
+[Link]());

[Link]("Saldo sekarang : " + [Link]());

[Link](2500);

[Link]("-----------------------------");

[Link]("Uang yang akan diambil : " + [Link]() + " " +


[Link]());

[Link]("Saldo sekarang : " + [Link]());

C. Analisis

Berdasarkan hasil implementasi program, dapat dianalisa sebagai berikut:

1. Penerapan Inheritance

Class PengambilanUang mewarisi atribut dan method dari class Tabungan menggunakan
keyword extends. Hal ini memudahkan pengelolaan data saldo tanpa perlu mendefinisikan
ulang pada class turunan.

2. Penggunaan Constructor (super())

Constructor pada class PengambilanUang memanggil constructor parent menggunakan


super(saldo) untuk menginisialisasi atribut saldo. Hal ini memastikan bahwa data pada class
induk terinisialisasi dengan benar.

3. Penggunaan Package dan Import

Class dikelompokkan ke dalam package perbankan untuk meningkatkan kerapihan dan


modularitas program. Keyword import perbankan.*; digunakan agar class pada package
tersebut dapat diakses oleh class pengujian.

[Link] Method ambilUang()

Method ambilUang() menggunakan parameter jumlah karena nilai tersebut bersifat


sementara (transaksi), bukan atribut tetap dari tabungan. Pendekatan ini lebih sesuai dengan
konsep OOP dan menghindari penyimpanan data yang tidak diperlukan.
5. Penggunaan Getter

Atribut tidak diakses secara langsung, melainkan melalui method getter (getSaldo() dan
getProteksi()), sehingga prinsip encapsulation tetap terjaga.

Tugas 2

Anda mungkin juga menyukai