The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.

a. PI1 Diktat Pemrograman Berorientasi Objek Kelas XI RPL Semester Gasal_ANTIK HARIYANTI

Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by desi.bpdikjur, 2021-12-22 02:16:13

a. PI1 Diktat Pemrograman Berorientasi Objek Kelas XI RPL Semester Gasal_ANTIK HARIYANTI

a. PI1 Diktat Pemrograman Berorientasi Objek Kelas XI RPL Semester Gasal_ANTIK HARIYANTI

BAB 6 Polimorfisme

Tujuan Pembelajaran:
1. Menjelaskan konsep polymorphism dengan overloading dan overriding dalam

pemrograman aplikasi berorientasi obyek.
2. Menjelaskan prosedur polymorphism dengan overloading dan overriding dalam

pemrograman aplikasi berorientasi obyek.
3. Menerapkan prosedur polymorphism dengan overloading dan overriding dalam

pemrograman aplikasi berorientasi obyek
4. Merancang program aplikasi berorientasi obyek dengan penerapan polymorphism dengan

overloading dan overriding dalam melindungi data dan informasi.
5. Membuat kode program aplikasi berorientasi obyek yang menerapkan polymorphism

dengan overloading dan overriding.
6. Menguji program aplikasi berorientasi obyek yang menerapkan polymorphism dengan

overloading dan overriding.

A. Polimorfisme
Polimorfisme merupakan sebuah teknik pemrograman yang membuat blok kode

pemrograman menjadi lebih banyak bentuk dari sebuah turunan parent class dengan aksi
yang berbeda. Polimorfisme juga dapat diartikan sebagai tindakan yang sama pada level
turunan atau Child class dengan cara yang berbeda. Polimorfisme berhubungan dengan
penggunaan lebih dari satu method dengan nama yang sama. Penggunaan method dengan
nama yang sama dapat diterapkan dengan menggunakan method overloading dan
overriding.

81 | P a g e

Binatang bersuara

miaaww nggiee ngaaa

Gambar 6.1. Konsep Polimorfisme
Pada gambar 6.1 terdapat sebuah method yaitu bersuara. Methode tersebut dapat
digunakan oleh berbagai jenis binatang dengan jenis suara yang berbeda dengan nama
method yang sama. Isi dari method suara dapat berubah-ubah sesuai dengan jenis binatang
yang menggunakan method tersebut.
Berikut contoh kode program konsep Polimorfisme.
1. Kode program class Binatang

Penjelasan kode program tersebut sebagai berikut:
a. Parent class ➔ Binatang
b. Nama file Binatang.java
2. Kode program class Kuda

82 | P a g e

Penjelasan kode program tersebut sebagai berikut:
a. Class Kuda menjadi turunan dari class Binatang
b. Terdapat method void bersuara ()
c. Nama file Kuda.java
d. Objek baru dari class Kuda adalah kuda_poni yang mewarisi method dari class Kuda

dan tidak mengambil warisan method dari class Binatang
Hasil kompilasi dari kode program tersebut adalah:

B. Overloading
Overloading adalah metode yang digunakan sehingga class memiliki lebih dari satu method
dengan nama sama tetapi memiliki daftar argumen atau tipe variabel yang berbeda. Adapun
overloading pada Java memiliki aturan sebagai berikut:
1. Memiliki jumlah parameter yang berbeda
hitung (int a, int b)
hitung (int a, int b, int c)

2. Memiliki tipe data parameter yang berbeda
hitung (int a, int b)
hitung (double a, double b)

83 | P a g e

3. Memiliki urutan parameter yang berbeda
hitung (int a, int b)
hitung (int b, int a)

Contoh kode program overloading

Hasil kompilasi kode program tersebut adalah sebagai berikut:

Overloading adalah salah satu teknik yang dilakukan untuk memudahkan aktivitas
pemrograman. Dengan overloading programmer tidak perlu membuat banyak fungsi atau

84 | P a g e

method. Programmer hanya perlu memodifikasi method tersebut agar sesuai dengan
keperluan.
Contohnya pada kode program tersebut dilakukan overloading sehingga method hitung
() dapat digunakan untuk perhitungan luas persegi panjang dan lingkaran. Anda tidak
perlu membuat nama method khusus seperti hitung luasPersegiPanjang () atau hitung
luasLingkaran (). Ada hanya perlu menyesuaikan tipe data, parameter dan return sesuai
dengan perhitungan yang akan dilakukan. Hal ini dapat memudahkan karena Anda tidak
perlu membuat dan mengingat banyak nama method untuk membuat program yang
melakukan operasi sejenis. Adapun method yang dipanggil akan disesuaikan dengan
parameter yang diatur pada masing-masing method.

C. Overriding
Overriding adalah teknik pemrograman dimana child class atau kelas anak yang
menggunakan nama method yang sama dengan parent class. Adapun overriding pada
Java memiliki aturan antara lain:
1. Parameter dengan dalam overriding method di subclass harus Sama persis dengan
parameter yang ada di parent class.
2. Tipe return subclass harus sama dengan tipe atau subtipe dengan yang ada di
overridden method pada parent class.
3. Hak akses overriding method di subclass tidak boleh lebih ketat daripada hak akses
method pada parent class.
4. Constructor tidak dapat dioperasi karena harus sama dengan nama class-nya.
5. Method yang dideklarasikan final tidak dapat di override.
6. Method yang dideklarasikan Static tidak tidak dapat di override tetapi dapat
deklarasikan kembali.

85 | P a g e

Contoh kode program Overriding

Hasil kompilasi dari kode program tersebut adalah:
Dengan menggunakan overriding Anda dapat memodifikasi method yang diwariskan dari
parent class tanpa harus mengubah langsung pada yang terdapat di parent class. Hal ini
akan sangat bermanfaat, misalnya Anda memiliki beberapa class yang memiliki sebuah
parent class. Anda dapat melakukan implementasi dari parent class tersebut pada salah

86 | P a g e

satu child class sesuai dengan keperluan tanpa harus mengubah parent class. Dengan
cara ini jika ada cara lain yang mewarisi parent class, namun memiliki implementasi
berbeda tetap dapat menggunakan Parent class tersebut dan menyesuaikan dengan
keperluan.

D. Final
Kata kunci final adalah kata kunci yang digunakan untuk membatasi penggunaan. Kata
kunci ini dapat diterapkan pada variabel, method, dan class. Penggunaan kata kunci final
pada method membuat Method tersebut tidak dapat dioperasikan oleh subclass. Anda
dapat mendeklarasikan sebuah kata kunci final pada class atau method, jika di dalam class
atau method tersebut terdapat implementasi yang tidak dapat diubah dan penting untuk
konsistensi objek. Adapun penerapan kata kunci final pada variabel akan membuat nilai
yang terdapat pada variabel tersebut menjadi konstan (tetap). Untuk mendeklarasikan
variabel, class atau method yang bersifat final dapat dilakukan dengan menambahkan
kata kunci final pada saat deklarasi.
Berikut adalah contoh penerapan kata kunci final pada variabel class dan method
1. Variabel Final
Variabel final adalah variabel yang nilainya ditetapkan untuk tidak dapat diubah. Jenis
variabel ini biasa diterapkan untuk membuat konstanta matematika seperti konstanta
PI atau gravitasi.
final double PI = 3.14;

2. Method Final
Method yang dideklarasikan sebagai final tidak dapat di override.

final void namaMethod ();

3. Class Final
Class yang dideklarasikan sebagai final tidak dapat diwariskan.
final NamaClass ();

87 | P a g e

Latihan Soal

A. Pilihlah salah satu jawaban yang tepat!
1. Pengertian dari polimorfisme adalah…
A. Bentuk lain dari method
B. Objek yang mempunyai bentuk lain
C. Hubungan antara class dengan objek
D. Child yang dapat diakses oleh child lainnya
E. Class yang mempunyai turunan di bawahnya
2. Berikut ini yang dimaksud dengan overloading adalah….
A. Objek adalah anak dari class
B. Hak akses yang hanya dimiliki oleh user tertentu saja
C. Metode yang digunakan sehingga class tidak dapat diwarisi oleh class lainnya
D. Metode yang digunakan sehingga class memiliki lebih dari satu method dengan
nama sama
E. Metode yang digunakan sehingga child class menggunakan nama method yang
sama dengan parent class
3. Berikut ini yang dimaksud dengan overriding adalah….
A. Objek adalah anak dari class
B. Hak akses yang hanya dimiliki oleh user tertentu saja
C. Metode yang digunakan sehingga class tidak dapat diwarisi oleh class lainnya
D. Metode yang digunakan sehingga class memiliki lebih dari satu method dengan
nama sama
E. Metode yang digunakan sehingga child class menggunakan nama method yang
sama dengan parent class
4. Berikut ini yang menunjukkan adanya polimorfisme adalah….
A. ayah, ibu dan anak
B. kepompong, ulat dan kupu-kupu
C. siswa, guru, dan kelas

88 | P a g e

D. siswa ikut tari, lukis dan beladiri
E. penulis buku, artikel blog dan pembaca
F. Objek parent
G. Method dan nilai variabel
H. Objek parent dan method
I. Variabel parent dan method
5. Jenis polimorfisme dapat melibatkan teknik ….
A. Enkapsulasi
B. Overriding
C. Overloading
D. Inheritance
E. Overloading dan overriding
B. Jawablah pertanyaan-pertanyaan berikut dengan benar.
1. Apa yang Anda ketahui tentang polimorfisme?
2. Jelaskan tentang overloading!
3. Jelaskan tentang overriding!

89 | P a g e


Click to View FlipBook Version