SlideShare une entreprise Scribd logo
1  sur  5
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
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;
}
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.
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
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.

Contenu connexe

Tendances

Pertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menuPertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menu
heriakj
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Melina Krisnawati
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
Lela Warni
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 

Tendances (20)

Cara kerja pneumatik
Cara kerja pneumatikCara kerja pneumatik
Cara kerja pneumatik
 
Harga Air kalorimeter
Harga Air kalorimeterHarga Air kalorimeter
Harga Air kalorimeter
 
Konsep dasar thread programming
Konsep dasar thread programmingKonsep dasar thread programming
Konsep dasar thread programming
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
Pertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menuPertemuan 9 preferences dan menu
Pertemuan 9 preferences dan menu
 
15566461 factor-of-safety
15566461 factor-of-safety15566461 factor-of-safety
15566461 factor-of-safety
 
Software Requirements
Software RequirementsSoftware Requirements
Software Requirements
 
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
Java (Netbeans) - Class, Constructor, Object (Object Oriented Programming)
 
Batch Reactor
Batch ReactorBatch Reactor
Batch Reactor
 
Laporan praktikum basis data my sql
Laporan praktikum basis data my sqlLaporan praktikum basis data my sql
Laporan praktikum basis data my sql
 
Algoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur DataAlgoritma dan Struktur Data (Python) - Struktur Data
Algoritma dan Struktur Data (Python) - Struktur Data
 
Analisa website Traveloka - Tugas IMK
Analisa website Traveloka - Tugas IMKAnalisa website Traveloka - Tugas IMK
Analisa website Traveloka - Tugas IMK
 
Modul Open Office Writer
Modul Open Office WriterModul Open Office Writer
Modul Open Office Writer
 
Pertemuan 6 tabview
Pertemuan 6 tabviewPertemuan 6 tabview
Pertemuan 6 tabview
 
Kode etik profesi it
Kode etik profesi itKode etik profesi it
Kode etik profesi it
 
Modul uml
Modul umlModul uml
Modul uml
 
Laporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi LinuxLaporan 14 Sistem Operasi Linux
Laporan 14 Sistem Operasi Linux
 
Materi i teknik mesin m6 kb2
Materi i teknik mesin m6 kb2Materi i teknik mesin m6 kb2
Materi i teknik mesin m6 kb2
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 

En vedette (6)

BAB 4 PBO C++ PENGENALAN ACCESS SPECIEFER
BAB 4 PBO C++ PENGENALAN ACCESS SPECIEFERBAB 4 PBO C++ PENGENALAN ACCESS SPECIEFER
BAB 4 PBO C++ PENGENALAN ACCESS SPECIEFER
 
Bab 4 Rancangan Implementasi Sistem perancangan sis tem informasi pendaftaran...
Bab 4 Rancangan Implementasi Sistem perancangan sis tem informasi pendaftaran...Bab 4 Rancangan Implementasi Sistem perancangan sis tem informasi pendaftaran...
Bab 4 Rancangan Implementasi Sistem perancangan sis tem informasi pendaftaran...
 
BAB 3 PBO C++ Pewarisan
BAB 3 PBO C++ PewarisanBAB 3 PBO C++ Pewarisan
BAB 3 PBO C++ Pewarisan
 
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...Bab 2  Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
Bab 2 Dasar Teori perancangan sistem informasi pendaftaran online be smart i...
 
Bab 5 Penutup perancangan sistem informasi pendaftaran online be smart in en...
Bab 5  Penutup perancangan sistem informasi pendaftaran online be smart in en...Bab 5  Penutup perancangan sistem informasi pendaftaran online be smart in en...
Bab 5 Penutup perancangan sistem informasi pendaftaran online be smart in en...
 
Bab 3 Perancangan diagram dari Perancangan sistem informasi pendaftaran onli...
Bab 3  Perancangan diagram dari Perancangan sistem informasi pendaftaran onli...Bab 3  Perancangan diagram dari Perancangan sistem informasi pendaftaran onli...
Bab 3 Perancangan diagram dari Perancangan sistem informasi pendaftaran onli...
 

Similaire à BAB 5 PBO C++ POLIMORFISME

Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
rahmantoyuri
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
AdityaSuryani1
 
Muhammad Arman Faldi,YUNUS,PERULANGAN
Muhammad Arman Faldi,YUNUS,PERULANGANMuhammad Arman Faldi,YUNUS,PERULANGAN
Muhammad Arman Faldi,YUNUS,PERULANGAN
Armand Faldy
 

Similaire à BAB 5 PBO C++ POLIMORFISME (20)

pemrograman php ii
pemrograman  php iipemrograman  php ii
pemrograman php ii
 
Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)Jobsheet 4 LOOPING( PENGULANGAN)
Jobsheet 4 LOOPING( PENGULANGAN)
 
Backend Dan Python Dasar.pptx
Backend Dan Python Dasar.pptxBackend Dan Python Dasar.pptx
Backend Dan Python Dasar.pptx
 
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
Menerapkan struktur kontrol perulangan dalam bahasa pemrograman.
 
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)Modul PBO Bab-06 - Polimorfisme (Polymorphism)
Modul PBO Bab-06 - Polimorfisme (Polymorphism)
 
Modul pratikum pbo - Polimorphism
Modul pratikum pbo - PolimorphismModul pratikum pbo - Polimorphism
Modul pratikum pbo - Polimorphism
 
04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements04.56 JAVA SE_polymorphic arguements
04.56 JAVA SE_polymorphic arguements
 
Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028
Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028
Konsep oop pada php dan mvc pada php framework, 1200631047 1200631018 1200631028
 
12. polymorphisme
12. polymorphisme12. polymorphisme
12. polymorphisme
 
materi 6.pptx
materi 6.pptxmateri 6.pptx
materi 6.pptx
 
TUGAS MANDIRI algoritma
TUGAS MANDIRI algoritmaTUGAS MANDIRI algoritma
TUGAS MANDIRI algoritma
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
 
Tugas perulangan/Looping
Tugas perulangan/LoopingTugas perulangan/Looping
Tugas perulangan/Looping
 
Python Dasar.pptx
Python Dasar.pptxPython Dasar.pptx
Python Dasar.pptx
 
Seminggu Belajar Laravel Sample
Seminggu Belajar Laravel SampleSeminggu Belajar Laravel Sample
Seminggu Belajar Laravel Sample
 
Oop
OopOop
Oop
 
Looping
LoopingLooping
Looping
 
Muhammad Arman Faldi, Yunus,Perulangan
Muhammad Arman Faldi, Yunus,PerulanganMuhammad Arman Faldi, Yunus,Perulangan
Muhammad Arman Faldi, Yunus,Perulangan
 
Muhammad Arman Faldi,YUNUS,PERULANGAN
Muhammad Arman Faldi,YUNUS,PERULANGANMuhammad Arman Faldi,YUNUS,PERULANGAN
Muhammad Arman Faldi,YUNUS,PERULANGAN
 
Resume aplinet
Resume aplinetResume aplinet
Resume aplinet
 

Dernier

Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
IvvatulAini
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
MaskuratulMunawaroh
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
JarzaniIsmail
 

Dernier (20)

Contoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptxContoh PPT Seminar Proposal Teknik Informatika.pptx
Contoh PPT Seminar Proposal Teknik Informatika.pptx
 
Memperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptxMemperkasakan Dialog Prestasi Sekolah.pptx
Memperkasakan Dialog Prestasi Sekolah.pptx
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAYSOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
SOAL PUBLIC SPEAKING UNTUK PEMULA PG & ESSAY
 
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 5 KURIKULUM MERDEKA.pdf
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
RENCANA & Link2 Materi Pelatihan_ "Teknik Perhitungan TKDN, BMP, Preferensi H...
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMKAksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
Aksi Nyata Disiplin Positif Keyakinan Kelas untuk SMK
 
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptxPPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
PPT SOSIALISASI PENGELOLAAN KINERJA GURU DAN KS 2024.pptx
 
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 6 KURIKULUM MERDEKA.pdf
 
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan BerkelanjutanTopik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
Topik 4_Eksplorasi Konsep LK Kelompok_Pendidikan Berkelanjutan
 
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdfAksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
Aksi Nyata Sosialisasi Profil Pelajar Pancasila.pdf
 
PPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptxPPT Mean Median Modus data tunggal .pptx
PPT Mean Median Modus data tunggal .pptx
 
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdfMODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
MODUL AJAR MATEMATIKA KELAS 3 KURIKULUM MERDEKA.pdf
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdfProv.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).pdf
Prov.Jabar_1504_Pengumuman Seleksi Tahap 2_CGP A11 (2).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.