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