LAPORAN 3 JAVA INHERITANCE PBO

LAPORAN III
PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek
Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom
Asisten Praktikum :
Roby Wahyudi
Jevri T.A

Oleh :

Ananda Putri Syaviri
130533608243
S1 PTI 2013 offering B

UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
September, 2014

LAPORAN KE-3

”INHERITANCE”
A. TUJUAN
1.
2.
3.
4.

Memahami konsep inheritance (pewarisan).
Mendefinisikan superclass dan subclass.
Override method dari superclass.
Menerapkan keyword this.

B. DASAR TEORI
1. Pewarisan :

Pewarisan merupakan konsep dalam pemrograman berorientasi objek yang
memungkinkan untuk membuat suatu kelas yang didasarkan pada kelas yang
sudah ada sehingga mewarisi semua metode dan variabelnya.
2. Keyword super :


Keyword super digunakan oleh subclass untuk memanggil konstuktor yang berada
pada superclass.
3. Keyword this :

Kata kunci this dipergunakan pada pembuatan kelas dan digunakan untuk
menyatakan objek sekarang.
4. Overriding :

Overriding menulis kembali method sama persis. Sama mulai dari nama method
dan isinya dan mengimplementasi kembali di subclassnya. Overriding dipakai saat
kita menggunakan method yang sama tapi berbeda implementasinya.

Jadi

overriding method mempunyai nama method yang sama, jumlah parameter dan tipe
parameter serta nilai kembalian (return) method yang di override.
C. LATIHAN
 Latihan 1
Screenshoot syntax :
a.


:

Screenshoot Jawaban :

Keterangan
-

:

Pada class Pertama memiliki sebuah variable a dan 2 buah method : terprotek
dan info.

-

Menggunakan fungsi this.getClass.getName ( ).

-

Pada class Kedua memiliki sebuah variable b dan method BacaSuper yang

didalamnya terdapat fungsi pemanggilan terprotek dan info.

-

Pada class TestPertamaKedua terdapat fungsi utama yang didalamnya terdapat
pendeklarasian pembuatan objek Kedua daan Pertama.

b. Hilangkan baris S1.terproteksi ( ) dari class TestPertamaKedua

c. Hapus semua file yang berekstensi .class dari folder kemudian kompilasi
TestPertamaKedua saja.

Keterangan :
-

Ketika file class dihapus semua, maka saat mengcompile TestPertamaKedua
tidak terjadi kesalahan namun muncul kembali file class Pertama, Kedua dan
TestPertamaKedua. Karena menggunakan fungsi this.getClass.getName ( ) yang
berfungsi untuk memperoleh nama kelas, sehingga jika file class dihapus,
ketika dikompilasi akan membentuk file class lagi.


d. Fungsi perintah this.getClass.getName( ):
-

Merupakan ekspresi untuk memperoleh nama kelas.

 Latihan 2
Screenshoot syntax :
a.

:

Screenshoot Jawaban :

Keterangan :
- Pada class Person , variable name dan age dideklarasikan sebagai protected,
-

sehingga tidak dapat diakses oleh kelas turunan.
Pada class Employ , variable noKaryawan dideklarasikan sebagai private.

Pada class Employ terdapat fungs pemanggilan variable name dan age yang ada

-

pada class Person dengan menggunakan super (name,age);
Pada class KonstruktorSuperKelas terdapat fungsi utama yang didalamnya
terdapat pendeklarasian pembuatan objek employ yang berisikan data sesuai
yang ditulis dalam petik.

 Latihan 3
Screenshoot syntax :
a.

:

Perbaikan:

Screenshoot Jawaban :

Keterangan


:

-

Pada class Hewan, terdapat method testClassMethod dan testInstanceMethod.

-

Pada class Gajah, terdapat fungsi utama, method testInstanceMethod dan
testClassMethod.

-

Pada fungsi utama terdapat pendeklarasian pembuatan objek Gajah dan Hewan
serta pemanggilan method kelas Hewan dengan pemanggilan method
testClassMethod dan testInstanceMethod.

-


Penulisan untuk pembuatan objek gajah dan hewan harus sesuai dengan data
atau kata kunci yang digunakan pada class lainnya, dengan kata lain tidak bias
menggunakan nama lain yang tidak sesuai dengan nama yang telah digunakan.

 Latihan 4
Screenshoot syntax :

:

Screenshoot Jawaban :

Keterangan
-

:

Pada class A memiliki sebuah variable a yang dideklarasikan sebagai private
dan method setA serta getA (penggunaan mutator dan accesor). Dan juga
memiliki method tampilkanNilai.


-

Pada class B memiliki sbeuah variable b yang dideklarasikan sebagai private,
dan memiliki method setB dan getB (mutator dan accesor).

-

Pada class B terdapat operasi override yang ada pada method tamplikanNilai
pada class A.

-

Pada class DemoOverride2, terdapat fungsi utama yang didalamnya terdapat
pendeklarasikan onjek B dengan memnaggil nilai telah dideklarasikan pada
class B.

 Latihan 5
Screenshoot syntax :

Perbaikan :


Screenshoot jawaban:

Keterangan :
-

Pada class truck menggunakan sebuah konstruktor, ada beberapa method yang
digunakan yaitu setCadence, setGear, applyBrake, dan speedup.

-

Pada class MountainTruck terdapat pewarisan(inheritance) pada konstruktor yang
digunakan. Menambah 1 method yaitu: setHeigh. Terdapat fungsi utama yang

didalamnya terdapat fungsi pemanggilan method” yang digunakan dalam class
Truck.
-

Penulisan pemanggilan gear, speed pada syntax awal yang terdapat dalam modul
mengalami kekeliruan sehingga pada awal kompilasi tidak dapat dijalankan ,

kemudian diubah dengan penambahan “MB” karena pada rumus penulisan
pembuatan objek baru nama instansi yang digunakan adalah MB 
MountainTruck MB = new MountainTruck();
 Modifikasi class MountainBike:
Screenshoot syntax:

Screenshoot jawaban :

Keterangan :
-

Pada class MountainBike terdapat 1 konstruktor dan 1 method. Kemudian
terdapat fungsi utama. Untuk program diatas hanya menggunakan 1 kelas,
konstruktor dan fungsi utama dijadikan satu. Menggunakan pewarisan
(inheritance) yang digunakan dalam konstruktor. Alur programnya hamper
sama seperti MountainTruck, hanya saja mountainTruck dibagi menjadi 2
kelas yaitu Truck dan MountainTruck.

D. TUGAS PRAKTIKUM
 Tugas 1 :

Syntax

:

Screenshoot hasil :

Keterangan
-

:

Pada class induk hanya menggunakan method tanpa parameter ( hanya
mengidentifikasi secara sederhana).

-

Pada class Turunan menggunakan 1 method yaitu test. Terdapat overload
pada method test bukan override.

-

Pada class TestIndukTurunan terdapat fungsi utama yang didalamnya
terdapat pendeklarasian 2 objek yaitu objek Turunan T2 dan Induk A3
beserta pemanggilan fungsinya dengan test yang pendeklarasiannya terdapat
pada class Turunan dan untuk pemanggilan yang bersangkutan dengan test
pendeklarasiannya ada pada class Induk, itulah mengapa dikatakan program
diatas merupakan inheritance (pewarisan) , mewariskan sesuatu yang
sebelumnya telah tersedia dan untuk pemanggilannya tidak perlu
menuliskan kode dari 0, hanya menggunakan fungsi pemanggilan.

E. TUGAS RUMAH

1) Program inheritance fakultas-jurusan
Syntax
:

Screenshoot jawaban :

Keterangan
-

:

Pada class fakultas menggunakan variable string namaFakultas dan namaMahasiswa
yang dideklarasikan sebagai protected sehingga tidak dapat diakses oleh kelas lain
kecuali menggunakan inheritance. Menggunakan konstruktor dengan parameter yang
dideklarasikan sebagai public sehingga dapat diakses oleh kelas lain.

-

Pada class Fakultas menggunakan method info yang didalamnya terdapat
pemanggilan namaFakultas dan nama.Mahasiswa menggunakan fungsi this.

-

Pada class jurusan menggunakan variable string namaJurusan dan NIM yang
dideklarasikan sebagai private (hanya kelas jurusan yang dapat mengakses variable
ini).

-

Pada class Jurusan menggunakan konstruktor dengan parameter yang berveda dengan
konstruktor pada class Fakultas.

-

Terdapat method info juga pada class Jurusan namun di dalamnya terdapat
pemanggilan namaJurusan dan NIM, berbeda dengan method info pada class
Fakultas, dan didalamnya menggunakan fungsi pemanggilan untuk inheritance.

-

Pada class TestFakultasJurusan hanya terdapat fungsi utama yang didalamnya
terdapat pendeklarasian objek baru dengan nama instansi programmer1, yang
nantinya pemanggilannya dikaitkan dengan method info pada class Jurusan.
2) Program dengan menerapkan "Inheritance" dengan class induk.
induk :tumbuhan
anak : dikotil dan monokotil
Syntax
:

Screenshoot jawaban :

Keterangan

:

-

Konsep programnya sama dengan tugas rumah no 1 tentang fakultas dan jurusan,
namun pada class TestIndukAnak, saya menambahkan pendeklarasian objeknya
menjadi 2 , yaitu dengan nama instansi programmer1 untuk dikotil dan programer2
untuk monokotil.

-

Fungsi inheritance digunakan pada method info di dalam class Anak. Yang artinya
mewariskan method info pada class Induk.

F.

KESIMPULAN:
1) Inheritance adalah suatu mekanisme yang memungkinkan seorang pemrogram
menciptakan suatu kelas baru berdasarkan kelas yang sudah tersedia tetapi tidak
perlu menuliskan kode dari 0 (nol).
2) Dalam Inheritance (pewarisan), semua method dan variable instan yang terdapat
pada kelas dasar dapat diturunkan ke kelas turunan.
3) Pada class Turunan dapat ditambhakna dengan metode atau variable instan yang
baru.
4) Pada inheritance menggunakan beberapa keyword penting salah satunya

this.getClass.getName

(), yang fungsinya sebagai ekspresi untuk

memperoleh kelas baru.
5) Keyword lain yang digunakan pada inheritance adalah this dan super.

6)

Menggunakan fungsi overriding untuk menulis kembali method yang ada pada
class Induk.

7) Dalam inheritance banyak digunakan variable instan dengan deklarasi sebagai

protected dan private, yang artinya hanya dapat diakses pada class tersebut,
memerlukan pemanggilan fungsi agar dapat diakses oleh kelas lain sehingga
inheritance berfungsi pada keadaan seperti diatas.
G. DAFTAR PUSTAKA


Tim Asisten Dosen. 2014. Modul 3 INHERITANCES .Malang: Universitas Negeri



Malang.
Kadir, Abdul. 2005. DASAR PEMROGRAMAN JAVATM 2. Yogyakarta: ANDI.