Vous êtes sur la page 1sur 19

LAPORAN 3

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Disusun untuk Memenuhi Matakuliah Praktikum Pemrograman Berorientasi Objek


Yang Dibimbing oleh Bapak Azhar Ahmad Smaragdina, S.Pd, M.Pd
Asisten Praktikum :
Tantri Hari Mukti
Endah Puji Rohmawati

Oleh :

Nur Amalianda
130533608100
S1 PTI 2013 offering E

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
S1 PENDIDIKAN TEKNIK INFORMATIKA
September, 2014

LAPORAN KE-3
INHERITANCE (Pewarisan)

A. TUJUAN
1. Memahami konsep inheritance (pewarisan)
2. Mendefinisikan superclasses dan subclasses
3. Override method dari superclass
4. Menerapkan keyword this

B. DASAR TEORI
Pewarisan
Inheritance (Pewarisan)
Dalam Java, semua class, termasuk class yang membangun Java API, adalah
subclasses dari superclass Object. Contoh hirarki class diperlihatkan di bawah ini.
Beberapa class di atas class utama dalam hirarki class dikenal sebagai superclass.
Sementara beberapa class di bawah class pokok dalam hirarki class dikenal sebagai
subclass dari class tersebut.
Pewarisan adalah keuntungan besar dalam pemrograman berbasis object karena suatu
sifat atau method didefinisikan dalam superclass, sifat ini secara otomatis diwariskan dari
semua subclasses. Jadi, Anda dapat menuliskan kode method hanya sekali dan mereka
dapat digunakan oleh semua subclass. Subclass hanya perlu mengimplementasikan
perbedaannya sendiri dan induknya. Keuntungan dari inheritance adalah :
Bersifat reusable
Tidak harus menyalin semua data dan method dari suatu kelas jika akan
menggunakannya lagi
Kemudahan dalam me-manage kelas yang memiliki data dan method yang sama.
Untuk memodifikasi suatu data atau method untuk semua subkelas atau kelas anak,
maka tidak perlu melakukan perubahan di masing-masing kelas anak melainkan
hanya pada kelas induk saja.

Istilah dalam inheritance yang perlu diperhatikan :


Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi subclass.

Superclass
Superclass atau dapat disebut dengan class induk digunakan untuk menunjukkan
hirarki class yang berarti class dasar dari subclass/class anak.

Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.

Super
Keyword ini digunakan untuk merujuk pada member dari parent class.
Ketika kita memakai konsep inheritance, maka yang harus kita ketahui adalah
konstruktor dari parent class tidak dapat diwariskan ke subclass-nya. Sebagai
konsekuensinya adalah setiap kali kita membuat suatu subclass, maka kita harus
memanggil konstruktor parent class di konstruktor subclass. Jika kita tidak
mendeklarasikannya secara eksplisit, maka kompiler Java akan menambahkan
deklarasi pemanggilan kontruktor parent class di konstruktor subclass. Pemakaian
lain dari super adalah untuk menunjuk anggota dari superclass (seperti reference
this).
Ada beberapa hal yang harus diingat ketika menggunakan pemanggil constuktor
super:

Pemanggil super() HARUS DIJADIKAN PERNYATAAN PERTAMA DALAM


constructor.

Pemanggil super() hanya dapat digunakan dalam definisi constructor.

Termasuk constructor this() dan pemanggil super() TIDAK BOLEH TERJADI


DALAM constructor YANG SAMA.

This
Kata kunci this adalah variable implisit yang ada didalam java. Ditinjau dari
kepemilikannya, variabel terbagi menjadi 2, yaitu : Variabel kelas dan Variabel
Instans. Variabel kelas adalah variabel yang melekat pada kelas dan tidak
terpengaruh oleh proses instantiasi, sehingga tidak dapat dimiliki dan diakses oleh
objek yang diinstans dari kelas tersebut. Variabel instans adalah variabel yang
dimiliki oleh objek dari proses intantiasi suatu kelas.
Variable This digunakan untuk mengakses variabel instans dari masing-masing
objek. This sebenarnya adalah sebuah variable read-only (tidak dapat diubah

nilainya). Dengan variable ini, akan didapatkan reference atau pointer menuju objek
terkini. Misalkan sebuah aplikasi sedang berjalan, pada saat tertentu yang dijalankan
oleh komputer adalah method aMethod() milik object anObject. Dari method
aMethod() dibutuhkan reference ke objek terkini yaitu object anObject itu sendiri.
Untuk itulah digunakan variabel this dalam method aMethod() milik object anObject.
Kata kunci this dapat digunakan untuk beberapa alasan berikut:

Adanya ambigu pada atribut lokal dari variabel lokal

Menunjuk pada object yang meminta method non-static

Menunjuk pada konstruktor lain 4. Mengakses variabel instans dari masingmasing object

Format penulisan this


this.data_member merujuk pada data member
this.function_member() merujuk pada function member
this() merujuk pada konstruktor
Overriding Method
Untuk beberapa pertimbangan, terkadang class asal perlu mempunyai implementasi
berbeda dari method yang khusus dari superclass tersebut. Oleh karena itulah,
method overriding digunakan. Subclass dapat mengesampingkan method yang
didefinisikan dalam superclass dengan menyediakan implementasi baru dari method
tersebut. Misalnya kita mempunyai implementasi berikut untuk method getName
dalam superclass Person,
public class Person
{
:
:
public String getName()
{
System.out.println(Parent: getName);
return name;
}
:
}

Untuk override, method getName dalam subclass Student, kita tulis,


public class Student extends Person{
:
:
public String getName()
{
System.out.println(Student: getName);
return name;
}:
}

Jadi, ketika kita meminta method getName dari object class Student, method
overridde akan dipanggil, keluarannya akan menjadi, Student: getName.

Method Final dan class Final


Dalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak lama
menjadi subclass. Class ini dinamakan class final. Untuk mendeklarasikan class
untuk menjadi final kita hanya menambahkan kata kunci final dalam deklarasi class.
Sebagai contoh, jika kita ingin class Person untuk dideklarasikan final, kita tulis,
public final class Person
{ //area kode
}

Beberapa class dalam Java API dideklarasikan secara final untuk memastikan
sifatnya tidak dapat di-override. Contoh-contoh dari class ini adalah Integer, Double,
dan String. Ini memungkinkan dalam Java membuat method yang tidak dapat dioverride. Method ini dapat kita panggil method final. Untuk mendeklarasikan method
untuk menjadi final, kita tambahkan kata kunci final ke dalam deklarasi method.
Contohnya, jika kita ingin method getName dalam class Person untuk dideklarasikan
final, kita tulis,
public final String getName(){
return name;
}

Method static juga secara otomatis final. Ini artinya Anda tidak dapat membuatnya
override.

C. LATIHAN
Latihan 1
Source Code

Output Program

Source Code class TestPertamaKedua tanpa S1.terprotek()

Output Program yang telah di Modifikasi

Penjelasan :
Pada program ini kita menggunakan fungsi pewarisan atau turunan yang mana disini kita
mempunyai 3 kelas yang saling berkaitan dalam pemanggilan fungsinya , dan 1 dari 3
kelas itu menjadi kelas induknya. Disini kita akan membandingkan ouput awal yang
belum di modifikasi dan sudah dimodifikasi. Dengan memanggil output awal yang
terdapat method terprotek pada test pertama kedua, dan memanggil output yang tidak
ada method terproteknya terdapat perbedaan pada tampilan method ini hanya untuk
anaknya. Terlihat pada output diatas

Latihan 2
Source Code

Output Program

Penjelasan :
Pada program ini kita juga menggunakan fungsi turunan atau pewarisan yang dimana
pada program ini kita mempunyai 3 kelas yang mana sebagai kelas induka adalah Person
dan sebagai kelas uji atau kelas deklarasinya adalah KonstruktorSuperKelas. Dan kita
disini juga memamfaatkan keyword super yang berada kelas employed untuk memanggil
konstruktor pada kelas induk.
Latihan 3
Source Code

Output Program

Penjelasan :
Pada program ini menggunakan fungsi turunan yang mana pada program ini mempunyai
2 kelas sebagai kelas induk adalah hewan dan sebagai kelas anak adalah gajah , disini
dalam pendeklarasian program terdapat konstruktor, dan terdapat fungsi override pada
method subclass dan superclassnya, yang mana override itu parameter sama isinya yang
berbeda.
Latihan 4
Source Code

Output Program

Penjelasan :
Pada program ini menggunakan fungsi pewarisan juga dan disini yang perlu sangat kita
perhatikan adalah penggunaan keyword super. Script super di gunakan pada kelas
turunan yang akan memanggil kelas induk yaitu kelas A. jika tidak menggunakan script
super program akan berjalan namun akan eror pada tampilan nilai yang akan terus
berulang ulang.

Latihan 5
Source Code

Output Program

Source Code yang telah di Modifikasi

Output program yang telah di Modifikasi

Penjelasan :
Pada program ini saya khususkan pada penjelasan program yang sudah di modifikasi
disni menggunakan fungsi turunan. Dimana disini kita mensimulasikan proses truck dari
diam, berjalan, berjalan di tanjakan, menuruni tanjakan dan sampai truck tersebut
berhenti.
D. TUGAS PRAKTIKUM
Tugas 1
Source Code

Output Program

Penjelasan :
Pada program ini kita di minta untuk membuat sebuah method pada kelas turunan yang
dapat mengoverrid kelas induk yang mana disini kita punya 3 kelas yang sebagai induk
adalah kelas induk dan sebagai deklarasi fungsi atau sebagai gabungan kelas itu adalah
kelas TestIndukTurunan. Disini method uji test pada kelas TestIndukTurunan di
berlakukan overloading. Sedangkan override terdapat pada kedua test sama tetapi
berbeda pada isinya.
E. TUGAS RUMAH
Rumah 1
Source Code

Class hewan 1

Class Herbivora

Class karnivora

Class Heka

Output Program

Penjelasan :
Pada program ini disini menerapkan fungsi turunan yang mana terdapat 4 kelas , dimana
yang sebagai kelas induk adalah hewan1 dan sebagai anak adalah Herbivora dan
Karnivora, sedangkan kelas Heka adalah deklarasi dari kelas kelas tersebut dan fungsi
utamanya terdapat di kelas ini , jadi pemanggiannya lewat kelas Heka.

F. KESIMPULAN
Inheritance atau pewarisan pada pemrograman berorientasi objek merupakan suatu
hubungan dua buah kelas atau lebih.

kita melakukan inheritance(pewarisan) untuk

membuat suatu class baru(class turunan/subclass) yang masih memiliki sifat atau
spesifikasi dari superclass. Di dalam Java untuk mendeklarasikan suatu class sebagai
subclass dilakukan dengan cara menambahkan kata kunci extends setelah deklarasi nama
class, kemudian diikuti dengan nama parent class-nya. Kata kunci extends tersebut
memberitahu kompiler Java bahwa kita ingin melakukan perluasan class.
Inheritance sendiri memiliki arti pewarisan. Yang dimaksud pewarisan dalam hal ini
adalah beberapa data dan method menurunkan suatu karakteristik yang dimiliki oleh data
dan method tersebut kepada kelas / object yang lain.dan kelas yang mewariskan /

menurunkan suatu karakteristik itu disebut super class / induk kelas, sedangkan yang
diberi warisan / diberi turunan yaitu sub class / anak kelas.
Misal contoh dalam dunia nyata : kucing anggora jika dia beranak pasti anaknya akan
memiliki sifat, bentuk, karakteristik bulunya seperti pada induknya.inheritance /
pewarisan juga memiliki beberapa keuntungan, diantaranya yaitu :
1) Memiliki sifat reusable -> tidak harus mengcopy data-data dan method jika ingin
digunakan / di panggil lagi saat dibutuhkan.
2) Kemudahan dalam mengatur / mengendalikan class yang mempunyai data dan
method yang sama.
Inheritance juga memiliki tujuan :
dapat menggunakan ulang kode yang sudah di urutkan dalam class yang bertujuan untuk
membentuk class yang baru .
Inheritance sendiri merupakan cirri khusus dari oop (object oriented programming).
Jadi kesimpulan dari inheritance atau pewarisan itu sendiri adalah penurunan sifat yang
sama dari super class / induk kelas kepada sub class / anak kelas yang sifat sub class itu
sendiri memiliki karakteristik yang sama persis dari super class.

G. DAFTAR PUSTAKA
1. Team Asisten Universitas Negeri Malang. 2014. Modul 3 Praktikum Pemrograman
Berorientasi Objek tentang Inheritance. Malang : Universitas Negeri Malang
2. http://hideki248.blogspot.com/2012/04/inheritance-dan-polymorphism-padajava.html. Di akses pada tanggal 5 November 5, 2014. Pukul 16.00 WIB
3. http://a114808201105354.wordpress.com/2012/04/25/inheritance-pewarisan-dalampemrograman-berorientasi-objek-pbo/. Di akses pada tanggal 5 November 5, 2014.
Pukul 16.00 WIB
4. http://khafidfoundation.wordpress.com/2011/09/22/inheritance-pada-java/. Di akses
pada tanggal 5 November 5, 2014. Pukul 16.00 WIB

Vous aimerez peut-être aussi