Disusun Oleh :
NAMA : DINI HIDAYATUL HAIR
NIM : 185410027
JURUSAN : Teknik Informatika
JENJANG : S1
STMIK AKAKOM
YOGYAKARTA
TP. 2020
LAPORAN (Modul_8)
(PEWARISAN)
A. TUJUAN
B. DASAR TEORI
Dalam Java, juga memungkinkan untuk mendeklarasikan class-class yang tidak dapat
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 di-override. 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,
Keyword super
Pada saat penciptaan objek dari subclass (kelas anak), konstruktor dari superclass (kelas
induk) akan dipanggil.
Overriding Method
Method instan dalam subclass dengan nama dan paramater yang sama, serta return type sama
dengan yang ada dalam superclass dikatakan meng-override (menimpa) method pada
superclass.
Kemampuan subclass meng-override method mengijinkan kelas mewarisi dari superclass
yang mempunyai perilaku "cukup dekat" dan kemudian memodifikasi perilaku jika
dibutuhkan.
Pada saat overriding (penimpaan) method, anda bisa menggunakan annotasi @Override yang
menyuruh compiler bahwa anda bermamksud meng-override method dalam superclass. Jika,
compiler mendeteksi bahwa method itu tidak ada dalam pada superclass, ia akan
membangkitkan error.
C. PEMBAHASAN PRAKTIK
PRAKTIK !
public Mobil()
{
System.out.println("Konstruktor Mobil");
}
public Mobil(int kecmaks)
{
this.kecmaks = kecmaks;
System.out.println("Kecepatan Maksimal Mobil = " +kecmaks);
}
Praktik_4 [Jelaskan tentang override dan adakah contoh implementasi dari praktik
diatas !]
Jawab :
Override merupakan method instan dalam subclass dengan nama dan parameter yang
sama, dengan return type sama dengan yang ada pada superclass. Dengan menggunakan
annotasi @override maka kita dapat melakukan overriding (penimpaan) method.
Dimana method tersebut akan menimpa method untuk menampilkan info Mobil yang
ada dalam superclass dengan tujuan untuk mengimplementasikan tampilan baru yakni
gandengan. Kita dapat melakukan override metode instance milik superclass dengan
mendeklarasikan metode ulang tersebut kedalam subclass.
Penjelasan :
public class Mobil {merupakan superclass
super(kec);
kata kunci super diatas untuk mengambil nilai dari variable kec. yang ada dalam superclass
super(kecmaks, namaken);
kata kunci super diatas digunakan untuk mengambil nilai dari variable kec maks dan nama
ken yang ada dalam class induk tau superclass
super.PrintInfoMobil();
kata kunci super diatas digunakan untuk mengoverride method yang ada dalam class induk
atau superclass
Praktik_6 [Pengguna klausa final pada kelas, Modifikasi kelas Mobil dengan
menambahkan klausa final pada deklarasi kelas sebagai berikut : ]
Berikut source code dan outputnya :
public final class Mobil {
protected int kecmaks;
protected String namaken;
public Mobil() {
System.out.println("konstruktormobil");
}
public Mobil(int kecmaks) {
this.kecmaks = kecmaks;
System.out.println("KecepatanMaksimal Mobil = " +kecmaks);
}
Mobil(int kecmaks, String namaken){
this.kecmaks=kecmaks;
this.namaken = namaken;
}
public void PrintInfoMobil(){
System.out.println("kecepatanmaksimal:"+kecmaks);
System.out.println("Nama Kendaraan:"+namaken);
}
}
Penjelasan :
Untuk kelas diatas terdapat kata kunci final yang berarti bahwa kelas tersebut tidak bisa
dijadikan sebagai subclass. Kelas final tentunya tidak dapat di override.
Lakukan pengamatan pada kelas truk, berikan penjelasan kenapa terjadi kesalahan !
Berikut hasilnya :
Output:
Penjelasan :
Mengapa terjadi kelas erorr dalam program kelas Truck? Sudah jelas Karena final sendiri
untuk mendeklarasikan class-class yang tidak dapat menjadi subclass. Sehingga Class Mobil
dinamakan class final artinya sudah tidak dapat di buat sub class nya.
Lakukan pengamatan pada kelas truk, berikan penjelasan kenapa terjadi kesalahan !
Berikut hasilnya :
Output :
Penjelasan :
Penjelasan kenapa program menjadi erorr? Karena seperti sebelumnya kata final artinya
sudah paling akhir, tidak dapat dibuat subnya , klausa final ini bukan hanya untuk class saja
berlaku juga untuk method sehingga dalam Java membuat method yang tidak dapat di-
override. Method ini dapat kita panggil method final.
LATIHAN !
Soal :
Jawab :
1) Berikut source code dan outputnya :
public class Bus extends Mobil
{
protected int harga;
@Override
public void PrintInfoMobil()
{
super.PrintInfoMobil();
System.out.println("Harga Kendaraan : "+harga);
}
Penjelasan :
Pada program diatas, merupakan kelas turunan mobil yang kita buat, memiliki atribut
tambahan yaitu harga dengan tipe datanya int. Konstruktornya memiliki nilai parameter int
harga dan int plat, kemudian diberikan kata kunci super. Setelah itu dibuatkan method void
untuk menampilkan hasil dari program tersebut.
2) Berikut source code dan outputnya :
public class TestMobil
{
public static void main(String args[])
{
System.out.println("Merupakan pemanggilan object Mobil");
Mobil agya = new Mobil(17, "Agya");
agya.PrintInfoMobil();
System.out.println("");
System.out.println("");
a.PrintInfoBus();
System.out.println("");
}
}
Output :
Penjelasan :
Program diatas, merupakan kelas TestMobil yang kita modif untuk menampilkan kelas
bus yang telah kita buat sebelumnya sebagai jelas turunan dari mobil. Maka dapat dilihat
hasilnya seperti gambar output diatas.
D.KESIMPULAN
Pada praktikum pemrograman berorientasi obyek pertemuan ke 8 ini dapat disimpulkan
bahwa dengan melakukan praktikum ini kita bisa menggunakan overiding metode, kemudian
menggunakan klausa super ataupun klausa final pada metode dan kelas. Dalam Java, juga
memungkinkan untuk mendeklarasikan class-class yang tidak dapat menjadi subclass. Class ini
dinamakan class final. Untuk mendeklarasikan class untuk menjadi final kita hanya
menambahkan kata kunci final dalam deklarasi class. Ini memungkinkan dalam Java membuat
method yang tidak dapat di-override. Method ini dapat kita panggil method final. Untuk
mendeklarasikan method menjadi final, kita tambahkan kata kunci final kedalam deklarasi
method.
E. LAMPIRAN LISTING
(Listing Terlampir)