Python dan Konsep Object Oriented Programming (OOP)
Paradigma Object Oriented Programming (OOP) merupakan paradigma pemrograman yang menggunakan pendekatan dengan memodelkan semua hal seperti objek dalam dunia nyata yang memiliki ciri dan kelakuan (behaviour). Misalkan sebuah motor, maka akan memiliki ciri mempunyai roda, stang, jok, rem, dan lain-lain. Ada juga ciri warna, atau tahun keluaran berapa. Selain cirri-ciri tersebut, motor juga punya aksi yang bisa dilakukan olehnya, seperti ketika gas diputar maka menarik gas, ketika pedal rem diinjak maka akan menghentikan laju, dan lain-lain. Dalam OOP, ada beberapa istilah-istilah penting, antara lain:
- Class, adalah cetak biru atau prototipe dari objek dimana kita mendefinisikan atribut dari suatu objek. Atribut ini terdiri dari data member (variabel) dan fungsi (metode).
- Class Variabel, adalah variabel yang dibagi oleh semua instance (turunan) dari Class. Variabel class didefinisikan di dalam class, tapi di luar metode-metode yang ada dalam class tersebut.
- Instance, adalah istilah lain dari objek pada suatu class.
- Instansiasi, adalah pembuatan instance atau objek dari suatu kelas
- Object, adalah instansiasi atau perwujudan dari sebuah class, bila kelas adalah prototipenya, dan objek adalah barang jadinya.
- Inheritansi, adalah proses pewarisan karakteristik sebuah class ke class lain yang menjadi turunannya.
- Metode, adalah fungsi yang didefinisikan di dalam suatu kelas
Karena Python merupakan bahasa pemrograman multi-paradigma, maka kita dapat memilih paradigma yang paling sesuai untuk memecahkan masalah yang dihadapi. Menggabungkan beberapa paradigma yang ada dalam satu program atau beralih dari satu paradigma ke paradigma lain dimungkinkan dengan menggunakan Python.
Contoh Implementasi Class di Python
Kita mendefinisikan sebuah class yang kemudian diikuti oleh nama kelas tersebut
class ClassName:
'''class docstring'''
class_body
Contoh class sederhana
class Mahasiswa:
'''Dasar kelas untuk semua Mahasiswa'''jumlah_mahasiswa = 0
def __init__(self, nama, npm):
self.nama = nama
self.npm = npm
Mahasiswa.jumlah_mahasiswa += 1
def tampilkan_jumlah(self):
print("Total Mahasiswa:", Mahasiswa.jumlah_mahasiswa)
def tampilkan_profil(self):
print("Nama :", self.nama)
print("NPM :", self.npm)
Instansiasi Objek
Untuk membuat objek dari sebuah class, maka kita dapat memanggil nama class dengan argumen sesuai dengan fungsi __init__() pada saat kita mendefinisikannya.
mahasiswa1 = Mahasiswa("Sarah", 2019001)
mahasiswa2 = Mahasiswa("Budi", 2019002)
mahasiswa2 = Mahasiswa("Paijo", 2019003)
Mengakses Attribut Objek
Langkah terakhir adalah mengakses atribut objek dengan menggunakan operator titik. Variabel kelas bisa diakses dengan menggunakan nama kelasnya.
mahasiswa1.tampilkan_profil()
mahasiswa2.tampilkan_profil()
print("Total Mahasiswa :", Mahasiswa.jumlah_mahasiswa)
Output
Referensi: