Anda di halaman 1dari 11

LAPORAN PRAKTIKUM

PEMROGRAMAN BERORIENTASI OBJEK


PERTEMUAN – 8

Disusun Oleh :
NAMA : ANNISA SALSABILA
NIM : 185410070
JURUSAN : TEKNIK INFORMATIKA

STMIK AKAKOM
YOGYAKARTA
2019
A. TUJUAN
1. Mahasiswa dapat menggunakan overiding metode,menggunakan klausa super.
2. Mahasiswa dapat menggunakan klausa final pada metode dan kelas.

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,

public final String getName(){


return name; } Method static juga secara otomatis final. Ini artinya Anda tidak dapat membuatnya
override.

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. PRAKTIK
Praktik 1. Membuat Program Mobil
Pembahasan :
Pada praktik diatas yaitu program untuk pendeklarasian saja, dengan nama kelas Mobil.
Mempunyai hak akses protected pada atribut kecmaks dan namaken dengan tipe data integer dan
String, yang digunakan untuk menyatakan bahwa kelas/method/attribute tersebut dapat diakses
oleh kelas lain yang berada dalam satu package atau kelas lain tersebut merupakan turunannya.
Lalu, pada baris ke 6 terdapat juga program dengan nama kelas yang sama yaitu Mobil. Program
ini berhasil dieksekusi tetapi tidak mengeluarkan output.

Praktik 2. Membuat Kelas Truck


Pembahasan :
Pada praktik diatas yaitu program untuk membuat kelas baru dengan nama Kelas Truck dengan
turunan dari kelas Mobil. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat,
sehingga semakin ke bawah maka kelas tersebut semakin spesifik. Pewarisan memberikan atau
mewariskan sesuatu kepada keturunan berikutnya. Hal itu juga sama seperti pada kelas Truck yang
mewarisi beberapa sifat atau perilaku dari kelas induknya yaitu kelas Mobil, selain dapat mewarisi
kita juga bisa menambahkan sifat dan perilaku baru ke dalam kelas Truck yang sebelumnya tidak
dimiliki di kelas Mobil. Hal ini dinamakan subclass. Untuk membuat kelas anak atau kelas turunan
berdasarkan class yang ada, kita dapat menggunakan kata kunci extends seperti pada perintah yang
berada di baris ke 3.
Mempunyai hak akses protected pada atribut spesifikasi dengan tipe data String dan hak akses
public pada atribut Truck yang didalam nya terdapat String spesifikasi dan integer kec. Lalu, pada
baris ke 15 yaitu terdapat keterangan @Override yang artinya Method overriding merupakan
method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding
pada Java : Parameter yang terdapat pada method overriding di subclass harus sama dengan
parameter yang terdapat pada parent class. Program ini berhasil dieksekusi tetapi tidak
mengeluarkan output, karena outputnya akan di keluarkan oleh program lainnya dengan nama
kelas TestMobil.

Praktik 3. Membuat Kelas TestMobil


Pembahasan :
Pada program diatas yaitu program yang digunakan untuk menjalankan program Truck yang telah
dideklarasikan pada praktik sebelumnya. Program diatas mempunyai nama kelas TestMobil. Pada
praktik diatas yaitu program untuk mengeluarkan output pada praktik sebelumnya. Mengakses
atribut diatas tersebut harus menggunakan method yang hak aksesnya bukan private, seperti
praktik diatas yaitu menggunakan method yang hak aksesnya public agar dapat diakses oleh kelas
TestMobil. Lalu, terdapat perintah untuk mencetak program pada praktik sebelumnya yaitu
PrintInfoTruck(), dimana outputnya yaitu seperti contoh diatas. Program ini berhasil dieksekusi
dan mengeluarkan output seperti diatas.

Praktik 4. Jelaskan tentang override dan adakah contoh implementasi dari praktik diatas :

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.
Contoh implementasi adalah printInfoMobil()

Praktik 5. Jelaskan tentang penggunaan klausa super dan adakah contoh implementasi dari praktik
diatas :
Pada saat penciptaan objek dari subclass (kelas anak), konstruktor dari superclass (kelas induk)
akan dipanggil. Contoh implementasi adalah super (kec);

Praktik 6. Pengguna klausa final pada kelas, Modifikasi kelas Mobil dengan menambahkan klausa
final pada deklarasi kelas sebagai berikut :
Class Mobil :

Pembahasan :
Pada praktik diatas yaitu program dengan nama kelas Mobil. Program tersebut menggunakan
klausa final dengan menambahkan klausa final pada deklarasi kelas tersebut seperti pada baris ke
2 program diatas. Class Final digunakan untuk mendeklarasikan class-class yang tidak dapat
menjadi subclass. Untuk mendeklarasikan class untuk menjadi final kita hanya menambahkan kata
kunci final dalam deklarasi class. 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. Mempunyai hak akses protected pada atribut kecmaks dan
namaken dengan tipe data integer dan String, yang digunakan untuk menyatakan bahwa
kelas/method/attribute tersebut dapat diakses oleh kelas lain yang berada dalam satu package atau
kelas lain tersebut merupakan turunannya. ,
Pada baris ke 9 terdapat juga program dengan nama kelas yang sama yaitu Mobil. Program ini
berhasil dieksekusi tetapi tidak mengeluarkan output, karena outputnya akan di keluarkan oleh
program lainnya dengan nama kelas TestKomposisi.
Class Truck :

Pembahasan :
Pada praktik diatas yaitu program untuk membuat kelas baru dengan nama Kelas Truck dengan
turunan dari kelas Mobil. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat,
sehingga semakin ke bawah maka kelas tersebut semakin spesifik. Pewarisan memberikan atau
mewariskan sesuatu kepada keturunan berikutnya. Hal itu juga sama seperti pada kelas Truck yang
mewarisi beberapa sifat atau perilaku dari kelas induknya yaitu kelas Mobil, selain dapat mewarisi
kita juga bisa menambahkan sifat dan perilaku baru ke dalam kelas Truck yang sebelumnya tidak
dimiliki di kelas Mobil. Hal ini dinamakan subclass. Untuk membuat kelas anak atau kelas turunan
berdasarkan class yang ada, kita dapat menggunakan kata kunci extends seperti pada perintah yang
berada di baris ke 3.
Mempunyai hak akses protected pada atribut spesifikasi dengan tipe data String dan hak akses
public pada atribut Truck yang didalam nya terdapat String spesifikasi dan integer kec. Lalu, pada
baris ke 15 yaitu terdapat keterangan @Override yang artinya Method overriding merupakan
method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding
pada Java : Parameter yang terdapat pada method overriding di subclass harus sama dengan
parameter yang terdapat pada parent class. Program ini berhasil dieksekusi tetapi tidak
mengeluarkan output, karena outputnya akan di keluarkan oleh program lainnya dengan nama
kelas TestMobil.

Praktik 7. Pengguna klausa final pada metode Modifikasi kelas Mobil dengan menambahkan
klausa final pada deklarasi metode printInfoMobil sebagai berikut :
Class Mobil :
Pembahasan :
Pada praktik diatas yaitu program dengan nama kelas Mobil. Program tersebut menggunakan
klausa final dengan menambahkan klausa final pada deklarasi kelas tersebut seperti pada baris ke
2 program diatas. Class Final digunakan untuk mendeklarasikan class-class yang tidak dapat
menjadi subclass. Untuk mendeklarasikan class untuk menjadi final kita hanya menambahkan kata
kunci final dalam deklarasi class. 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. Mempunyai hak akses protected pada atribut kecmaks dan
namaken dengan tipe data integer dan String, yang digunakan untuk menyatakan bahwa
kelas/method/attribute tersebut dapat diakses oleh kelas lain yang berada dalam satu package atau
kelas lain tersebut merupakan turunannya. ,
Pada baris ke 9 terdapat juga program dengan nama kelas yang sama yaitu Mobil. Program ini
berhasil dieksekusi tetapi tidak mengeluarkan output, karena outputnya akan di keluarkan oleh
program lainnya dengan nama kelas TestKomposisi.

Class Truck :
Pembahasan :
Pada praktik diatas yaitu program untuk membuat kelas baru dengan nama Kelas Truck dengan
turunan dari kelas Mobil. Penurunan sifat ini bisa dilakukan dilakukan secara bertingkat-tingkat,
sehingga semakin ke bawah maka kelas tersebut semakin spesifik. Pewarisan memberikan atau
mewariskan sesuatu kepada keturunan berikutnya. Hal itu juga sama seperti pada kelas Truck yang
mewarisi beberapa sifat atau perilaku dari kelas induknya yaitu kelas Mobil, selain dapat mewarisi
kita juga bisa menambahkan sifat dan perilaku baru ke dalam kelas Truck yang sebelumnya tidak
dimiliki di kelas Mobil. Hal ini dinamakan subclass. Untuk membuat kelas anak atau kelas turunan
berdasarkan class yang ada, kita dapat menggunakan kata kunci extends seperti pada perintah yang
berada di baris ke 3.
Mempunyai hak akses protected pada atribut spesifikasi dengan tipe data String dan hak akses
public pada atribut Truck yang didalam nya terdapat String spesifikasi dan integer kec. Lalu, pada
baris ke 15 yaitu terdapat keterangan @Override yang artinya Method overriding merupakan
method yang parrent class yang ditulis kembali oleh subclass. Aturan dari method overriding
pada Java : Parameter yang terdapat pada method overriding di subclass harus sama dengan
parameter yang terdapat pada parent class. Program ini berhasil dieksekusi tetapi tidak
mengeluarkan output, karena outputnya akan di keluarkan oleh program lainnya dengan nama
kelas TestMobil.

D. Latihan :
1. Buatlah kelas baru yang merupakan turunan dari kelas Mobil praktik 1, kelas turunan
mengoveride metode yang ada :
2. Buatlah contoh pembuatan objek dan penggunakaan membernya :

E. TUGAS
1. Kapan suatu kelas diberikan klausa final?
Ketika suatu class dideklarasikan sebagai final maka class tersebut tidak bisa diwariskan. Misalnya
pada package java.lang di library Java Anda bisa melihat jika class String adalah class final. Class
String tersebut dideklarasikan sebagai:
public final class String extends Object
Kalau class String tersebut tidak dideklarasikan sebagai final. Maka Anda bisa saja mengoverride
method-method yang dimilikinya.
Akibatnya adalah semua instance dari String itu bisa disubstitusi oleh instance yang spesifik dari
subclass yang Anda miliki. Hasilnya adalah pengoperasian dari objek-objek String menjadi tidak
bisa diprediksi. Karena class String itu banyak digunakan di mana saja, tentu ini adalah sebuah hal
yang tidak bisa diterima. Atas dasar inilah class String dideklarasikan sebagai final.
2. Kapan suatu method diberikan klausa final?
Suatu method yang dideklarasikan sebagai final maka method tersebut tidak bisa dioverride. Anda
akan menemukan banyak sekali method final di library Java. Jadi kenapa sebuah method harus
dideklarasikan sebagai final? Alasannya utamanya adalah untuk menunjukkan dan memastikan
tidak ada seorangpun yang dapat mengubah definisi method tersebut. Terutama ketika berurusan
dengan method-method yang bersifat sensitif dalam artian berhubungan langsung dengan fungsi
kritikal dan keamanan. Perlu diingat juga bahwa ketika suatu class dideklarasikan sebagai final,
maka class tersebut tidak bisa diwariskan, dan tentu saja secara otomatis semua method yang ada
di class tersebut tidak bisa dioverride. Artinya ini sama saja dengan membuat semua method
tersebut menjadi final. Ketika membuat sebuah method final, maka lebih baik memberikan
dokumentasi yang baik mengenai kenapa melakukannya. Ini akan membantu Anda dan orang lain
untuk menelusuri kode program Java yang Anda buat. Ketika Anda mencoba mengoverride
method final maka akan terjadi error.

3. Perbedaan keyword this dengan super?


this merepresentasikan objek dari class itu sendiri, sedangkan super akan merepresentasikan
objek dari class induk.

F. KESIMPULAN
Pada praktik ini dapat disimpulkan bahwa di 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.

G. LISTING
Terlampir

Anda mungkin juga menyukai