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
   19   20   21   22   23   24   25   26   27   28   29