Page 24 - TUGAS UAS_MEDIA PENDIDIKAN
P. 24
Contoh: Kelas "Mobil" dapat memiliki atribut seperti "Warna" dan "Kecepatan" serta metode seperti
"Maju" dan "Berhenti".
3. Enkapsulasi:
Definisi: Enkapsulasi adalah konsep menyatukan data dan metode yang beroperasi pada data ke
dalam satu unit yang disebut objek.
Contoh: Data dan metode dalam kelas "Mobil" dibungkus bersama-sama dalam satu kesatuan.
4. (Inheritance):
Definisi: Pewarisan memungkinkan kelas untuk mewarisi atribut dan metode dari kelas lain. Ini
mendukung hierarki kelas.
Contoh: Kelas "Truk" dapat mewarisi sifat umum dari kelas "Mobil" tetapi mungkin memiliki
metode tambahan yang spesifik untuk truk.
5. Polimorfisme:
Definisi: Polimorfisme memungkinkan suatu objek untuk memiliki banyak bentuk atau perilaku. Ini
memungkinkan pemanggilan metode yang sama dengan objek yang berbeda.
Contoh: Metode "Maju" pada objek "Mobil" dan "Truk" dapat memiliki implementasi yang berbeda.
Pemrograman berorientasi objek membantu dalam merancang dan mengorganisir kode dengan cara
yang lebih modular dan mudah dimengerti. Ini juga memfasilitasi penggunaan kembali kode
(reusability) dan mendukung konsep pengembangan perangkat lunak yang lebih terstruktur.
Beberapa bahasa pemrograman yang mendukung OOP termasuk Java, C++, Python, dan Ruby.
Berikut adalah contoh implementasi sederhana pemrograman berorientasi objek
menggunakan bahasa pemrograman Python. Dalam contoh ini, kita akan membuat kelas untuk
merepresentasikan objek "Mobil" dan "Truk" yang memiliki hubungan pewarisan.
# Definisi kelas induk (superclass) "Mobil"
class Mobil:
def __init__(self, warna, kecepatan):
self.warna = warna
self.kecepatan = kecepatan
def maju(self):
print("Mobil berwarna", self.warna, "bergerak maju dengan kecepatan", self.kecepatan)
def berhenti(self):
print("Mobil berwarna", self.warna, "berhenti")
# Definisi kelas anak (subclass) "Truk" yang mewarisi dari "Mobil"
class Truk(Mobil):
def __init__(self, warna, kecepatan, muatan):
# Memanggil konstruktor kelas induk
super().__init__(warna, kecepatan)
self.muatan = muatan
# Override metode maju untuk Truk