BAB 5 PBO C++ POLIMORFISME

1,581 views

Published on

BAB 5 PBO C++ POLIMORFISME

Published in: Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,581
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
81
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BAB 5 PBO C++ POLIMORFISME

  1. 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. 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. 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. 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. 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.

×