Anda di halaman 1dari 10

MAKALAH

POLYMORPHISM
Disusun Untuk Memenuhi Tugas Mata Kuliah Pemrograman Komputer 2
Dosen Pengampun : Rhesa Arya Raditya Putra,S.Kom,MMSi

DI SUSUN OLEH :
Nuh Ganda Prasetyo
(1084201028)
Kelas 5B
UNIVERSITAS MOHAMMAD HUSNI THAMRIN JAKARTA
FAKULTAS KESEHATAN
D-IV TEKNIK ELEKTROMEDIK
Jl. Raya PondokGede No.23-25 Jakarta Timur 13550
2022/2023
KATA PENGANTAR

Puji dan syukur kami ucapkan kepada Allah SWT, atas berkat segala limpahan
rahmat dan karunia-Nya sehingga kami masih diberi nikmat berupa kesehatan dan
kelancaran dalammenyelesaikan makalah mata kuliah PEMROGRAMAN
KOMPUTER 2 tentang “ POLYMORPHISM ”
Makalah ini disusun untuk memenuhi tugas mata ajar PEMROGRAMAN
KOMPUTER 2 di universitas MH Thamrin. Penulis menyadari bahwa dalam
penulisan makalah ini masih jauh dari kata sempurna baik dari isi maupun
penyusunannya, oleh karena itu penulis mengharapkan kritik dan saran dari
berbagai pihak yang terkait yang sifatnya membangun agar dapat bermanfaat bagi
penulis khususnya maupun orang lain yang membutuhkan umumnya.                                                            
 Dalam penyelesaian makalah ini tidak luput dari bantuan pikiran serta dorongan
dari berbagai pihak, untuk itu dalam kesempatan ini penulis mengucapkan
terimakasih yang setinggi – tingginya kepada semua pihak yang telah membantu.
Semoga segala bantuan yang telah diberikan kepada penulis mendapatkan pahala
yang setimpal dari Allah SWT. Semoga makalah ini bermanfaat bagi para
pembaca.

Jakarta, 27 November 2022


DAFTAR ISI

KATA PENGANTAR......................................................................................................2
DAFTAR ISI....................................................................................................................3
BAB 1................................................................................................................................4
1.1 LATAR BELAKANG........................................................................................4
1.2 RUMUSAN MASLAH......................................................................................4
1.3 TUJUAN MAKALAH.......................................................................................4
BAB 2................................................................................................................................5
2.1 PENGERTIAN TYPE POLYMORPHISM.............................................................5
1) Compile time Polimorfisme...............................................................................5
2.) Polimorfisme Runtime..........................................................................................6
2.1 DEFINISI TENTANG COMPILE TIME..........................................................6
1.) Operator overloading......................................................................................6
2.) Function overloading......................................................................................7
2.2 CONTOH PEMROGRAMAN COMPILE TIME..............................................7
1.) function overloading......................................................................................7
3.1 PENUTUP.............................................................................................................10
3.2 SARAN...............................................................................................................10
DAFTAR PUSTAKA.....................................................................................................11
BAB 1

1.1 LATAR BELAKANG

Bahasa C++ adalah turunan dari bahasa B yang pada awalnya dirancang sebagai
bahasa pemrograman yang dijalankan pada sistem Unix.Perbedaan Antara Bahasa
pemrograman C dan C++ meskipun bahasa-bahasa tersebut menggunakan sintaks
yang sama tetapi mereka memiliki perbedaan, C merupakan bahasa pemrograman
prosedural, dimana penyelesaian suatu masalah dilakukan dengan membagi-bagi
masalah tersebut kedalamsu-submasalah yang lebih kecil, Selain itu, C++
merupakan bahasa pemrograman yang memiliki sifat Pemrograman berorientasi
objek, Untuk menyelesaikan masalah, C++ melakukan langkah pertama dengan
menjelaskan class-class yang merupakan anak class yang dibuat sebelumnya
sebagai abstraksi dari object-object fisik, Class tersebut berisi keadaan object,
anggota-anggotanya dan kemampuan dari objectnya, Setelah beberapa Class
dibuat kemudian masalah dipecahkan dengan Class.dalam C++ terdapat yang
Namanya Bahasa OOP,Bahasa OOP memiliki karakteristik salah satu nya
polymorphism dalam makalah ini kita menjelaskan secara dalam terutama tipe
polymorphism.

1.2 RUMUSAN MASLAH

1. Apa yang dimaksud dengan definisi type polymorphism?


2. Apa yang dimaksud dengan compile time?
3. Apa yang dimaksud dengan function overloading?
4. Apa yang dimaksud dengan operator overloading?
5. Sebutkan contoh program compile time?

1.3 TUJUAN MAKALAH

1. Untuk mengetahui definisi dari type polymorphism.


2. Untuk mengetahui definisi dari compile time.
3. Untuk megetahui apa itu function overloading.
4. Untuk mengetahui apa itu operator overloading.
5. Mencari contoh program dan mengetahui hasil outputnya.
BAB 2

2.1 PENGERTIAN TYPE POLYMORPHISM

Polymorphism adalah konsep yang memungkinkan mendefinisikan metod pada


class anak (sub class) yang memiliki definisi sama dengan metod induk (super
class).

Gambar 2.1

1) CompiletimePolimorfisme

Dalam polimorfisme compile time, suatu fungsi dipanggil pada compile


time. Jenis polimorfisme ini juga dikenal sebagai pengikatan statis atau
pengikatan awal. Kelebihan fungsi dan kelebihan operator adalah dua jenis
polimorfisme waktu Kompilasi dan digunakan untuk mencapai polimorfisme
waktu kompilasi.

Gambar 2.2
2.) PolimorfismeRuntime

Dalam polimorfisme runtime suatu fungsi dipanggil pada saat dijalankan atau
pada saat eksekusi program. Jenis polimorfisme ini juga dikenal sebagai
pengikatan dinamis atau pengikatan lambat. Overriding fungsi dan fungsi virtual
adalah jenis polimorfisme run-time yang berbeda.Ini lebih fleksibel daripada
polimorfisme waktu kompilasi karena semuanya dieksekusi pada waktu proses.

Gambar 2.3

2.1 DEFINISI TENTANG COMPILE TIME

1.) Operator overloading

Overloading operator didefinisikan sebagai proses pemberian tugas tambahan


kepada operator tanpa mengubah arti sebenarnya dari operasi tersebut.Kita dapat
membuat operator bekerja untuk kelas yang ditentukan pengguna dengan
menyediakan operator dengan arti khusus untuk tipe data (ini tidak berarti bahwa
kita mengubah arti sebenarnya dari operator, kita hanya menambahkan khusus
tambahan untuk operator itu). Kemampuan ini dikenal sebagai operator
overloading. Operator overloading didirikan mirip seperti functon overloading,
berbeda pada pemberian nama dimana akan diwali dengan keyword operator dan
diikuti dengan simbol dari operator yang dimaksud.

2.) Functionoverloading

Ketika ada beberapa fungsi dengan nama yang sama tetapi parameter berbeda,
maka fungsi tersebut dikatakan overloaded, hal tersebut dikenal sebagai
functionoverloading. Fungsi dapat kelebihan beban dengan mengubah jumlah
argumen atau/dan mengubah jenis argumen. Secara sederhana, ini adalah fitur
pemrograman berorientasi objek yang menyediakan banyak fungsi untuk memiliki
nama yang sama tetapi parameter berbeda ketika banyak tugas dicantumkan di
bawah satu nama fungsi. Umumnya, kita tidak bisa membuat function dengan
nama yang sama. Mirip seperti penamaan variabel, compiler C++ akan error jika
menemukan terdapat 2 atau lebih function dengan nama yang sama.Akan tetapi
jika jumlah argument atau tipe data argument berbeda, maka akan dianggap
sebagai fungsi yang berbeda pula.

2.2 CONTOH PEMROGRAMAN COMPILE TIME

1.) functionoverloading

Gambar 2.5
Dalam kode program ini saya membuat 3 buah function dengan
nama tambah(). Ketiga function dibedakan berdasarkan jumlah parameter seperti
function tambah() pertama dan kedua, serta dengan jenis tipe data parameter
seperti contoh function tambah() ketiga.Pada saat di panggil, kita harus menulis
function tambah() dengan jumlah dan tipe data argument yang sesuai.
Di baris 19 terdapat pemanggilan fungsi tambah(1, 2). Perhatikan bahwa
argumen pemanggilan fungsi ini ada 2 dan keduanya bertipe integer. Maka akan
cocok dengan definisi fungsi tambah() di baris 5 – 7.
Di baris 20 terdapat pemanggilan fungsi tambah(5, 4, 3). Kali ini argumen
pemanggilan fungsi tambah() ada 3 dan ketiganya bertipe integer. Maka ini akan
cocok dengan definisi fungsi tambah() di baris 9 – 11.
Terakhir di baris 21 terdapat pemanggilan fungsi tambah(“satu”,”dua”).
Sekarang kedua argument bertipe string yang akan cocok dengan definisi
fungsi tambah() di baris 9 – 11.
Inilah maksud dari function overloading, dimana kita membuat beberapa fungsi
dengan nama yang sama.
Gambar 2.6

Hasil dari pemrograman tersebut

Gambar 2.7

Mengapa hasil nya 4 dikarenakan merupakan class pengurangan sehingga 9-5 = 4


seperti output yang keluar.
BAB 3

3.1 PENUTUP

Pengertian function overloading dalam pemrograman C++. Tidak semua bahasa


pemrograman punya fitur function overloading, namun penggunaannya memang
tidak terlalu banyak karena tetap lebih disarankan untuk membedakan setiap
function berdasarkan nama. Operator overloading didirikan mirip seperti functon
overloading, berbeda pada pemberian nama dimana akan diwali dengan
keyword operator dan diikuti dengan simbol dari operator yang dimaksud.

3.2 SARAN

Diharapkan agar dapat memberi masukan berupa kritik dan saran yang bersifat
membangun mengenai isi makalah ini dan kepada yang membaca makalah
sederhana ini, harapan kami semoga dapat memahami.
DAFTAR PUSTAKA

https://r.search.yahoo.com/
_ylt=AwrKDcmTPYJjNNsAIyjLQwx.;_ylu=Y29sbwNzZzMEcG9zAzIEdnRpZAMEc2VjA3Ny/
RV=2/RE=1669508627/RO=10/RU=https%3a%2f%2fwww.belajarcpp.com%2ftutorial
%2fcpp%2ffunction-overloading%2f/RK=2/RS=HmFZX5VJR.Ie.X.evIZ.uqfsQIA-

https://kumparan.com/how-to-tekno/polymorphism-adalah-pengertian-dan-tipe-
utamanya-1xj4zaRiNkM

Anda mungkin juga menyukai