LAPORAN 3 JAVA - INHERITANCE (PBO)

24
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

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

FAKULTAS TEKNIK

JURUSAN TEKNIK ELEKTRO

S1 PENDIDIKAN TEKNIK INFORMATIKA

September, 2014

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.

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.