Pemrograman berorientasi objek (OOP) adalah paradigma pemrograman yang penting dalam pengembangan perangkat lunak. Python, sebagai bahasa pemrograman yang serbaguna, mendukung OOP dengan cara yang intuitif dan sederhana. Salah satu elemen utama dalam OOP adalah “class” (kelas), yang merupakan blueprint atau cetak biru untuk membuat objek.
Dalam artikel ini, akan dijelaskan cara membuat class di Python beserta contoh penggunaannya.
Pengenalan OOP dan Class
Sebelum kita melangkah ke pembahasan lebih lanjut, penting untuk memahami konsep dasar OOP dan apa itu class. OOP memungkinkan kita untuk mengorganisasi kode menjadi objek yang saling berinteraksi. Objek memiliki atribut (variabel) dan method (fungsi) yang dapat digunakan untuk memanipulasi data dan melaksanakan tindakan tertentu.
Class adalah entitas yang mendefinisikan struktur dan perilaku objek yang akan dibuat. Kita dapat menganggap class sebagai kerangka kerja yang menggambarkan objek. Dalam class, kita dapat mendefinisikan atribut dan method yang akan dimiliki oleh objek yang dibuat berdasarkan class tersebut.
Membuat Class di Python
Untuk membuat class di Python, kita menggunakan keyword class
diikuti dengan nama class yang kita inginkan. Nama class biasanya diawali dengan huruf kapital untuk membedakannya dengan fungsi dan variabel biasa. Berikut adalah contoh sintaks pembuatan class di Python:
class NamaClass:
# Atribut
atribut1 = init1
atribut2 = init2
# Methods
def method1(self, parameter1, parameter2):
# kode method
def method2(self, parameter3):
# kode method
Di dalam class, kita dapat mendefinisikan atribut dan method. Atribut adalah variabel yang ada di dalam class, sedangkan method adalah fungsi di dalam class.
Pada contoh struktur class di atas, terdapat dua buah atribut yaitu atribut1
dan atribut2
. Kedua atribut ini masing-masing memiliki nilai awal (initial value). Dalam hal ini, initial value sifatnya adalah opsional, boleh ada boleh tidak.
Class di atas juga mempunyai dua buah method, yaitu method1()
dan method2()
. Pada method1()
terdapat dua buah parameter atau argumen, yaitu parameter1
dan parameter2
. Sedangkan pada method2()
hanya memiliki sebuah parameter yaitu parameter3
. Secara umum, keberadaan parameter atau argumen pada sebuah method sifatnya opsional, boleh ada boleh tidak.
Perhatikan, bahwa setiap method selain bisa terdapat parameter, juga harus diawali dengan parameter self
. Parameter ini mewakili instance (objek) yang sedang memanggil method tersebut.
Contoh Penggunaan Class
Selanjutnya mari kita lihat contoh penggunaan class di Python. Misalkan kita ingin membuat class Mahasiswa
yang memiliki atribut nim
dan nama
, serta method printMhs()
yang mencetak data mahasiswa tersebut. Berikut adalah contoh implementasinya:
class Mahasiswa:
# atribut
nim = ""
nama = ""
# method
def printMhs(self):
print("NIM Mahasiswa :", self.nim)
print("Nama Mahasiswa :", self.nama)
Dalam contoh di atas, kedua atribut (nim
dan nama
) diberi nilai awal empty string. Nantinya kedua atribut tersebut akan diberi nilai ketika sebuah obyek (instance) telah dibuat. Sedangkan method printMhs()
dalam hal ini tidak memiliki parameter.
Selanjutnya kita coba membuat obyek dari class Mahasiswa tersebut, kemudian memberi nilai kedua atribut, dan memanggil method printMhs().
# membuat obyek 'mhs1' dari class Mahasiswa
mhs1 = Mahasiswa()
# memberi nilai kedua atribut dari obyek
mhs1.nim = "M01"
mhs1.nama = "Rosihan Ari"
# memanggil method
mhs1.printMhs()
Kode program di atas akan menghasilkan output
NIM Mahasiswa : M01
Nama Mahasiswa : Rosihan Ari
Membuat Constructor
Di dalam sebuah class, kita juga dapat menambahkan constructor. Constructor digunakan untuk menyingkat proses pembuatan obyek (instansiasi) dan memberi nilai atribut dalam sebuah perintah. Berikut ini adalah kode program class Mahasiswa
yang telah dimodifikasi dengan menambahkan constructor.
class Mahasiswa:
nim = ""
nama = ""
# constructor
def __init__(self, x, y):
self.nim = x
self.nama = y
def printMhs(self):
print("NIM Mahasiswa :", self.nim)
print("Nama Mahasiswa :", self.nama)
Dalam contoh di atas, kita menggunakan method khusus bernama __init__
(). Method ini merupakan constructor class yang akan dipanggil saat objek dibuat. Constructor ini digunakan untuk menginisialisasi atribut objek. Pada contoh di atas, kita menginisialisasi atribut nim
dan nama
berdasarkan parameter yang diberikan, dalam hal ini diambil dari nilai x
dan y
nya.
Sekarang kita coba membuat obyek sekaligus memberi nilai awal kedua atributnya dengan memanfaatkan constructornya.
# membuat obyek 'mhs1' dari class Mahasiswa sekaligus memberi nilai atributnya
mhs1 = Mahasiswa("M01", "Rosihan Ari")
# memanggil method
mhs1.printMhs()
Mudah bukan membuat class di Python? Itulah langkah-langkah dasar untuk membuat class di Python. Dengan menggunakan OOP, Anda dapat memecah program menjadi bagian-bagian yang lebih kecil dan lebih mudah dikelola, serta memungkinkan untuk menghasilkan kode yang lebih mudah dibaca dan dipelihara.