LAPORAN 3 JAVA - INHERITANCE (PBO)
-
Upload
universitasnegerimalang -
Category
Documents
-
view
3 -
download
0
Transcript of LAPORAN 3 JAVA - INHERITANCE (PBO)
LAPORAN IIIPRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK
Disusun untuk Memenuhi Matakuliah Praktikum PemrogramanBerorientasi Objek
Yang Dibimbing oleh Bapak Heru Wahyu Herwanto, S.T., M.Kom
Asisten Praktikum :Roby WahyudiJevri T.A
Oleh :
Ananda Putri Syaviri130533608243
S1 PTI 2013 offering B
UNIVERSITAS NEGERI MALANG
LAPORAN KE-3
”INHERITANCE”
A. TUJUAN
1. Memahami konsep inheritance (pewarisan).
2. Mendefinisikan superclass dan subclass.
3. Override method dari superclass.
4. 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.
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.
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 :
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 :
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:
- 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.
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.