Bab lima membahas polimorfisme dimana konsep ini memungkinkan penggunaan interface yang sama untuk mengendalikan objek agar melakukan tindakan yang sama namun prosesnya berbeda-beda. Program yang dirangkum mendemonstrasikan penggunaan polimorfisme dimana kelas mamalia dan sapi memiliki fungsi keterangan yang sama namun memberikan output berbeda.
MODUL AJAR SENI TARI KELAS 4 KURIKULUM MERDEKA.pdf
BAB 5 PBO C++ POLIMORFISME
1. BAB V
POLIMORFISME
5.1. TUJUAN
Tujuan dalam bab ini yaitu agar :
1. Memahami konsep dasar dari Polimorfisme.
2. Mampu membuat polimorfisme sesuai keinginan sendiri.
3. Memahami cara pengaksesan polimorfisme.
5.2. DASAR TEORI
Polimorfisme berasal dari bahasa Yunani yang berarti “banyak
bentuk”. Dalam OOP, konsep ini memungkinkan digunakannya suatu
interface yang sama untuk memerintah suatu objek agar melakukan suatu
aksi/tindakan yang mungkin secara prinsip sama tetapi secara proses
berbeda. Dalam konsep yang lebih umum seringkali polimorfisme disebut
dalam istilah : satu interface, banyak aksi. Contoh dalam dunia nyata adalah
mobil terdiri atas berbagai tipe dan merek, namun semuanya memiliki
interface kemudi yang sama, seperti setir kemudi, pedal gas dan rem.
Interface yang sama tersebut tidak berarti cara kerjanya juga sama. Jika
menekan pedal gas, maka mobil akan melaju dengan cepat. Tetapi proses ini
dapat berbeda untuk setiap jenis mobil.
Dalam Java implementasi, method suatu parent-class dapat diubah
oleh sub-class, hal ini dikenal dengan overriding method. Deklarasi method
sama tetapi implementasi atau definisinya berbeda(Method atau perilaku
yang sama tapi implementasinya/caranya yang berbeda-beda inilah yang
disebut dengan Polimorfisme).
32
2. 33
5.3. ANALISA PRAKTIKUM
5.3.1. Polimorfisme
//untuk no 1,2,3,4 dan seterusnya hanya merupakan no untuk
keterangan kode
#include<conio.h>
#include<iostream.h>
1. class Makhluk
{
2. public:
3. virtual void keterangan()=0;
};
4. class Mamalia: public Makhluk
{
5. public:
6. void keterangan()
{
7.
cout<<"keterangan() pada Mamalia...
"<<endl;
}
};
8. class Sapi: public Mamalia
{
9. public:
10.
void keterangan()
{
11.
cout<<"keterangan() pada Sapi...
"<<endl;
}
3. 34
};
12.
void main()
{
13.
clrscr();
14.
Mamalia mamalia;
15.
Sapi sapi_sumba;
16.
Makhluk*binatang;
17.
binatang=&mamalia;
18.
binatang->keterangan();
19.
cout<<"------------------------"<<endl;
20.
binatang=&sapi_sumba;
21.
binatang->keterangan();
getche();
}
Dan hasilnya adalah :
Gambar 5.1. Hasil eksekusi dari program poli morfisme.
Keterangan :
1. Script No. 1 untuk mendeklarasikan makhluk sebagai kelasnya.
2. Script pada No. 2 untuk mendeklarasikan bahwa hak aksesnya
dapat diakses secara umum.
3. Script pada No. 3 berfungsi untuk mendukung adanya
polymorphic function.
4. 35
4. Scirpt pada No. 4 untuk mendeklarasikan bahwa kelas mamalia
dapat mengakses kelas makhluk karena kelas mamalia adalah
turunannya.
5. Seperti script No. 2, Script No. 5 juga berfungsi untuk
mendeklarasikan bahwa hak aksesnya dapat diakses secara
umum.
6. No. 6 merupakan fungsi dengan nama keterangan.
7. No. 7 sebagai perintah masukkan untuk menampilkan script
dalam bentuk hasil eksekusi.
8. Script No. 8 untuk mendeklarasikan bahwa kelas sapi dapat
mengakses keseluruhan dari kelas mamalia karena kelas sapi
adalah turunannya.
9. Seperti script No. 2 dan 5, Script No. 9 juga berfungsi untuk
mendeklarasikan bahwa hak aksesnya dapat diakses secara
umum.
10. No. 10 merupakan fungsi dengan nama keterangan.
11. No. 11 sebagai perintah masukkan untuk menampilkan script
dalam bentuk hasil eksekusi.
12. No. 12 sebagai fungsi utama program.
13. No. 13 untuk membersihkan layar.
14. No. 14 dan No. 15 merupakan bentuk inisialisasi dari variabel
untuk masing-masing variabel.
15. Pada No. 16 dan No. 17 merupakan bentuk dari fungsi tipe
bilangan yang digunakan. Dimana tanda (*)untuk tipe bilangan
char, sedangkan (=) untuk bilngan int.
16. Script No. 18 adalah binatang yang merupakan hasil inisialisasi
untuk kelas mamalia dikeluarkan melalui fungsi keterangan.
17. No. 19 sebagai perintah masukkan untuk menampilkan script
dalam bentuk hasil eksekusi.
18. No. 20 dan No. 21 untuk mendeklarasikan binatang yang
merupakan inisialsasi dari kelas sapi yang dideklarasikan dengan
5. 36
variabel sapi sumba, dikeluarkan dengan fungsi keterangan yang
terdapat pada kelas sapi.
5.4. KESIMPULAN
Dari percobaan yang telah kita lakukan pada bab ini, kita dapat menarik
kesimpulan :
1. Dalam OOP, konsep polimorfisme memungkinkan digunakannya suatu
interface yang sama untuk memerintah suatu objek agar melakukan
suatu aksi/tindakan yang mungkin secara prinsip sama tetapi secara
proses berbeda.
2. Untuk mendeklarasikan sebuah fungsi virtual dalam kelas induk, anda
cukup menambahkan kata kunci virtual.
3. Fungsi virtual murni biaa dipakai sebagai kelas abstrak.
4. Kelas abstrakadalah kelas yang dideklarasikan tidak untuk menciptakan
objek.
5. Kelas abstrak mempunyai ciri paling tidak mengandung sebuah fungsi
virtual murni.