Anda di halaman 1dari 6

Jurnal Modul 6 Praktikum Dasar Pemrograman 2

Tujuan:
1. Mahasiswa memahami konsep inheritance dalam pemrograman berorientasi obyek
2. Mahasiswa mampu mengimplementasikan konsep inheritance dalam Java
3. Mahasiswa memahami konsep overriding dalam pemrograman berorientasi obyek

Waktu pengerjaan: 60 menit

Pada praktikum kali ini, Anda diminta untuk mengimplementasikan class diagram berikut ini.

Langkah-langkahnya sebagai berikut:


Buatlah class Person sebagai berikut:

Buatlah class Employee sebagai berikut:

1
Buatlah main class dengan isi method main sebagai berikut:

1. [8 poin] Di dalam class Employee tidak pernah didefinisikan method setName dan
getName. Jelaskan mengapa object class Employee bisa menggunakan method
setName dan getName?
Jawab: karena menggunakan extends yang berfungsi untuk memanggil fungsi dari kelas
lain tanpa mendefinisikan setName dan getName

Dalam class Person, tambahkan constructor untuk inisialisasi atribut name.


public Person(String name) {
this.name = name;
}
2. [8 poin] Perhatikan error yang muncul pada main class. Jelaskan mengapa error
tersebut muncul pada saat ditambahkan constructor kelas Person!
Jawab: karena tidak adanya setter di class employee sehingga ketika ditambahkan
constructor di class person, tidak bisa mengganti nama menggunakan input user

Untuk mengatasi kesalahan tersebut, wajib melakukan pemanggilan constructor Person di


dalam constructor Employee. Berikut kode yang harus ditambahkan ke dalam class
Employee.
public Employee(String name) {
super(name);
}
Jalankan main class.
3. [8 poin] Jelaskan fungsi keyword super pada constructor Employee tersebut!
Jawab: memanggil constructor dari mainclass

Tambahkan atribut salary dalam class Employee. Berikut kode programnya.

2
4. [8 poin] Di dalam class Employee tersebut terdapat atribut salary dengan modifier
protected. Apa perbedaan modifier protected dengan modifier private dan public?
Jawab: modifier protected membatasi akses terhadap method/variabel/kelas tetapi tidak
bersifat total hanya terhadap subkelas dari suatu kelas dan kelas lain dari package yang
sama. Sedangkan modifier private sama sekali tidak bisa diakses oleh kelas lain hanya
bisa diakses oleh kelas itu sendiri. Dan modifier public memiliki kebebasan yang bisa
diakses oleh seluruh kelas.

Buatlah class Manager sebagai berikut:

3
5. [8 poin] Perhatikan baris kode 12 sampai 21, terjadi overriding. Apa yang dimaksud
dengan overriding?
Jawab: kemungkinan yang dimiliki SubClass untuk merubah dan memodifikasi statement
– statement pada metode yang dimiliki oleh SuperClass.

6. [8 poin] Pada praktikum sebelumnya, kita mengenal overloading. Apa persamaan


overloading dan overriding?
Jawab: kedua kelas mempunyai nama yang sama
7. [8 poin] Apa perbedaan overloading dan overriding?
Jawab: overloading adalah metode yang mengharuskan kedua kelas mempunyai
parameter yang berbeda, sedangkan overridding adalah metode yang memperbolehkan
jumlah parameternya sama.

Modifikasi main method sebagai berikut:

4
8. [8 poin] Jelaskan output yang muncul dari method getSalary() pada baris 8 dan
mengapa outputnya seperti itu!
Jawab:

getSalary berfungsi untuk mendapatkan/ memanggil atribut

9. [36 poin] Implementasikan kelas Student sesuai class diagram yang diberikan dengan
ketentuan atribut sebagai berikut:
a. Id yang valid adalah dengan panjang tepat 7 digit, jika panjang dari id yang di-set
melebihi atau kurang dari 7 digit, maka setId mengeluarkan pesan “Id tidak valid”
b. Rank yang valid adalah dari 1 sampai 5, di luar 1 sampai 5, maka setRank
mengeluarkan pesan “Rank tidak valid”

Hasil:

5
6

Anda mungkin juga menyukai