LAPORAN TUGAS PEMROGRAMAN BERORIENTASI OBJEK
Nama: Andika Harsel NIM:IM: 241013002 Prodi: informatika
BAB I. INHERITANCE (PEWARISAN)
1. DEFINISI
Inheritance atau pewarisan adalah salah satu konsep pilar dalam Pemrograman
Berorientasi Objek (PBO) di mana sebuah kelas (class) dapat mewarisi atribut (property)
dan perilaku (method) dari kelas lain. Kelas yang mewariskan disebut sebagai Parent Class
(Super Class), sedangkan kelas yang menerima warisan disebut Child Class (Sub Class).
2. FUNGSI
Fungsi utama dari inheritance adalah untuk membentuk struktur hierarki antar kelas dan
memungkinkan pembuatan kelas baru yang lebih spesifik berdasarkan kelas umum yang
sudah ada tanpa harus menulis ulang kode dasar.
3. MANFAAT
• Reusability (Dapat digunakan kembali): Kita tidak perlu menulis ulang kode yang
sama untuk kelas yang mirip. Cukup menulisnya di parent class.
• Kemudahan Maintenance: Jika ada perubahan logika pada parent class, maka child
class akan otomatis mengikuti perubahan tersebut.
• Efisiensi Waktu: Mempercepat proses pengembangan program.
4. JENIS
• Single Inheritance: Satu child class mewarisi dari satu parent class.
• Multilevel Inheritance: Child class mewarisi dari parent class, dan parent class
tersebut ternyata juga merupakan child dari class lain (bertingkat).
• Hierarchical Inheritance: Satu parent class memiliki banyak child class yang
berbeda.
5. CONTOH (Coding)
Java
6. HASIL OUTPUT PROGRAM
Ekspektasi Output:
7. ANALISA PROGRAM
Pada program di atas, terdapat konsep Single Inheritance. Kelas Mobil dideklarasikan
menggunakan kata kunci extends Kendaraan, yang berarti Mobil adalah anak (subclass)
dari Kendaraan. Karena pewarisan ini, objek mobilSaya dapat mengakses variabel merek
dan method klakson() milik kelas Kendaraan meskipun tidak ditulis ulang di dalam kelas
Mobil. Program membuktikan bahwa child class berhasil mewarisi sifat dari parent class.
BAB II. POLIMORFISME (POLYMORPHISM)
1. DEFINISI
Polimorfisme berasal dari bahasa Yunani yang berarti "banyak bentuk". Dalam
pemrograman, ini adalah kemampuan sebuah objek, variabel, atau fungsi untuk
mengambil banyak bentuk yang berbeda. Sederhananya, polimorfisme memungkinkan
satu antarmuka (interface) digunakan untuk memerintah kelas-kelas yang berbeda agar
melakukan tindakan yang berbeda.
2. FUNGSI
Fungsi utamanya adalah untuk memungkinkan metode dengan nama yang sama
berperilaku berbeda tergantung pada objek yang memanggilnya atau parameter yang
diberikan.
3. MANFAAT
• Fleksibilitas: Memungkinkan penulisan kode yang lebih umum dan abstrak.
• Extensibility: Mudah menambahkan kelas baru tanpa mengganggu kode yang sudah
berjalan.
• Penyederhanaan Kode: Mengurangi kompleksitas penggunaan if-else atau switch-
case yang panjang.
4. JENIS
• Static Polymorphism (Compile-time): Contohnya adalah Method Overloading
(nama fungsi sama tapi parameter beda).
• Dynamic Polymorphism (Runtime): Contohnya adalah Method Overriding (nama
fungsi sama di parent dan child class, tapi isinya diubah oleh child class).
5. CONTOH (Coding)
Java
6. HASIL OUTPUT PROGRAM
Ekspektasi Output:
7. ANALISA PROGRAM
Program di atas menerapkan Dynamic Polymorphism melalui teknik Overriding. Kelas
Hewan memiliki method suara(). Kelas Kucing dan Sapi mewarisi kelas Hewan tetapi
mengubah (meng-override) isi method suara() sesuai karakteristik masing-masing. Pada
Main Class, meskipun variabel hewan1 dan hewan2 bertipe Hewan, saat dijalankan
(runtime), program cerdas memanggil method milik Kucing dan Sapi. Ini menunjukkan satu
perintah (suara()) dapat menghasilkan banyak bentuk output berbeda.