Contoh Implementasi dari Orientasi Objek

0

 

OOP

1. Obyek dan Kelas (Object & Class)

Objek adalah instance (contoh) dari sebuah class. Sebuah class adalah blueprint atau cetak biru untuk menciptakan objek. Implementasi objek dan class dalam sebuah program umumnya melibatkan beberapa langkah, yaitu:

Mendefinisikan class dengan menuliskan struktur dan metode yang dibutuhkan oleh objek yang akan dibuat.

Membuat objek dari class dengan memanggil konstruktor, yaitu metode khusus yang digunakan untuk membuat objek baru.

Mengakses atribut dan metode objek dengan menggunakan operator "." (titik) untuk memanipulasi objek.

Contoh sederhana implementasi objek dan class dalam bahasa pemrograman Python adalah sebagai berikut:

class Mobil:

    def __init__(self, merek, warna, tahun):

        self.merek = merek

        self.warna = warna

        self.tahun = tahun

 

    def info(self):

        print("Merek:", self.merek)

        print("Warna:", self.warna)

        print("Tahun:", self.tahun)

 

mobil1 = Mobil("Toyota", "Hitam", 2020)

mobil1.info()

 

2. Abstraksi (Abstraction)

Abstraksi adalah proses menyembunyikan rincian kompleks dari sebuah objek dan menampilkan hanya informasi yang penting dan relevan untuk pengguna. Implementasi abstraksi dapat dilakukan dengan cara membuat kelas abstrak dan metode abstrak.

Kelas abstrak adalah sebuah kelas yang tidak dapat diinstansiasi menjadi objek, namun hanya digunakan sebagai blueprint untuk kelas turunannya. Metode abstrak adalah metode yang hanya dideklarasikan di dalam kelas abstrak, namun tidak memiliki implementasi. Implementasi metode abstrak hanya dapat dilakukan di kelas turunan.

Contoh implementasi abstraksi dalam bahasa pemrograman Python adalah sebagai berikut:

from abc import ABC, abstractmethod

 

class Hewan(ABC):

    @abstractmethod

    def suara(self):

        pass

 

class Kucing(Hewan):

    def suara(self):

        print("Meong")

 

class Anjing(Hewan):

    def suara(self):

        print("Guk guk")

 

# hewan = Hewan()  # tidak bisa diinstansiasi, akan menghasilkan TypeError

kucing = Kucing()

kucing.suara()  # output: Meong

anjing = Anjing()

anjing.suara()  # output: Guk guk

 

3. Pewarisan (inheritance)

Inheritance atau pewarisan adalah salah satu konsep dalam pemrograman berorientasi objek yang memungkinkan sebuah kelas untuk mewarisi atribut dan metode dari kelas lain. Implementasi inheritance dapat dilakukan dengan cara membuat kelas turunan yang akan mewarisi sifat-sifat dari kelas induk atau kelas parent.

Contoh implementasi inheritance dalam bahasa pemrograman Python adalah sebagai berikut:

class Kendaraan:

    def __init__(self, merek, warna, tahun):

        self.merek = merek

        self.warna = warna

        self.tahun = tahun

 

    def info(self):

        print("Merek:", self.merek)

        print("Warna:", self.warna)

        print("Tahun:", self.tahun)

 

class Mobil(Kendaraan):

    def __init__(self, merek, warna, tahun, jenis):

        super().__init__(merek, warna, tahun)

        self.jenis = jenis

 

    def info(self):

        super().info()

        print("Jenis:", self.jenis)

 

class Motor(Kendaraan):

    def __init__(self, merek, warna, tahun, kapasitas):

        super().__init__(merek, warna, tahun)

        self.kapasitas = kapasitas

 

    def info(self):

        super().info()

        print("Kapasitas Mesin:", self.kapasitas)

 

mobil1 = Mobil("Toyota", "Hitam", 2020, "SUV")

mobil1.info()  # output: Merek: Toyota, Warna: Hitam, Tahun: 2020, Jenis: SUV

motor1 = Motor("Honda", "Merah", 2021, 150)

motor1.info()  # output: Merek: Honda, Warna: Merah, Tahun: 2021, Kapasitas Mesin: 150

 

4. Banyak Bentuk (polymorphism)

Polymorphism adalah konsep dalam pemrograman berorientasi objek yang memungkinkan suatu objek untuk memiliki banyak bentuk atau perilaku. Implementasi polymorphism dapat dilakukan dengan cara membuat metode dengan nama yang sama pada kelas-kelas yang berbeda atau dengan menggunakan metode overriding pada kelas turunan.

Contoh implementasi polymorphism dalam bahasa pemrograman Python adalah sebagai berikut:

class Binatang:

    def bersuara(self):

        pass

 

class Kucing(Binatang):

    def bersuara(self):

        print("Meong")

 

class Anjing(Binatang):

    def bersuara(self):

        print("Guk guk")

 

def suara_binatang(binatang):

    binatang.bersuara()

 

kucing = Kucing()

anjing = Anjing()

 

suara_binatang(kucing)  # output: Meong

suara_binatang(anjing)  # output: Guk guk

 

5. Pembungkusan (encapsulation)

Encapsulation adalah konsep dalam pemrograman berorientasi objek yang memungkinkan kita untuk membatasi akses langsung ke data atau variabel pada sebuah kelas. Implementasi encapsulation dapat dilakukan dengan cara menggunakan access modifier seperti private atau protected pada atribut dan metode pada kelas.

Contoh implementasi encapsulation dalam bahasa pemrograman Python adalah sebagai berikut:

class Karyawan:

    def __init__(self, nama, gaji):

        self.__nama = nama

        self.__gaji = gaji

 

    def get_nama(self):

        return self.__nama

 

    def set_nama(self, nama):

        self.__nama = nama

 

    def get_gaji(self):

        return self.__gaji

 

    def set_gaji(self, gaji):

        self.__gaji = gaji

 

karyawan1 = Karyawan("Andi", 5000000)

print(karyawan1.get_nama())  # output: Andi

karyawan1.set_nama("Budi")

print(karyawan1.get_nama())  # output: Budi

print(karyawan1.get_gaji())  # output: 5000000

karyawan1.set_gaji(6000000)

print(karyawan1.get_gaji())  # output: 6000000

 

6. Pengiriman Pesan (message sending)

- Mobil yang diparkir di depan rumah hanya sepotong logam yang dengan sendirinya tidak mampu melakukan aktivitas apapun. Pengemudi harus menyalakan mobil, menggunakan rem, dll

- Obyek "pengetik" dapat mengirim pesan "mengubah ukuran (20)" ke obyek huruf  untuk mengubah ukuran font.

 

7. Asosiasi/hubungan (assosiation)

Hubungan antar obyek

Contoh:

Seseorang menyalakan televisi, ini berarti sesorang tersebut berasosiasi terhadap televisi

Hubungan antar beberapa kelas

Contoh:

Seseorang dapat mengendarai sebuah mobil sekaligus dapat dikatakan mengendarai sebuah bis, sehingga kelas orang berasosiasi dengan kelas Mobil dan sekaligus berasosiasi dengan kelas Bis.

 

8. Agregasi (aggregation)

Bentuk khusus dari asosiasi yang lebih kuat

Asosiasi yang terjadi adalah A “bagian dari” B antara obyek yang satu dengan beberapa obyek yang lain.

Asosiasi antara “Keseluruhan” dengan “Sebagian”

Hubungan yang kuat antara satu obyek dan obyek lainnya sebagai komponen pembentuknya disebut sebagai “komposisi”

- Komputer adalah sebuah agregasi, komputer dibentuk dari sejumlah komponen berbeda sebagai penyusunnya.

- Obyek gabungan kemeja yang tersusun dari bagian bodi, lengan, kerah, kancing, lubang kancing dan kancing cadangan disebut sebagai komposisi

 

Tags

Posting Komentar

0Komentar
Posting Komentar (0)