Dalam bahasa pemrograman Python, class dan object digunakan untuk membangun struktur dan menyusun data dalam sebuah program. Python class adalah sebuah cetak biru atau blueprint yang mendefinisikan atribut dan perilaku (fungsi) dari object yang akan dibuat berdasarkan class tersebut. Python object, di sisi lain, adalah instansi konkret dari class yang memiliki atribut dan dapat melakukan operasi atau tindakan tertentu. Dengan menggunakan konsep class dan object, Python memungkinkan pengguna untuk menerapkan paradigma pemrograman berorientasi object, yang memungkinkan pemodelan yang lebih terstruktur, modular, dan dapat digunakan kembali dalam pengembangan perangkat lunak.
Python Class dan Python Object
Python adalah bahasa pemrograman berorientasi object.
Hampir semua yang ada di Python adalah object, dengan properti dan fungsinya.
Class seperti constructor dari suatu object, atau “cetak biru” untuk membuat object.
Cara Membuat Python Class
Untuk membuat class, gunakan kata kunci class
.
Contoh:
class MyClass:
x = 5
print(MyClass)
Output:
<class '__main__.MyClass'>
Cara Membuat Python Object
Sekarang kita bisa menggunakan class bernama MyClass untuk membuat object.
Contoh:
class MyClass:
x = 5
p1 = MyClass()
print(p1.x)
Output:
5
Fungsi __init__() Pada Python Class
Contoh di atas adalah class dan object dalam bentuknya yang paling sederhana, dan tidak terlalu berguna dalam aplikasi.
Untuk memahami arti class, kita harus memahami fungsi bawaan yaitu __init__().
Semua class memiliki fungsi yang disebut __init__(), yang selalu dijalankan saat class diinisiasi.
Gunakan fungsi __init__() untuk menetapkan nilai ke properti object, atau operasi lain yang perlu dilakukan saat object dibuat.
Contoh:
Buat class bernama Manusia, gunakan fungsi __init__() untuk menetapkan nilai untuk nama dan usia.
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
p1 = Manusia("Asep", 36)
print(p1.nama)
print(p1.umur)
Output:
Asep
36
Catatan: Fungsi __init__()
dipanggil secara otomatis setiap kali class digunakan untuk membuat object baru.
Fungsi __str__() Pada Python Class
Fungsi __str__() mengontrol apa yang harus dikembalikan ketika object class direpresentasikan sebagai string atau dicetak sebagai output fungsi print.
Jika fungsi __str__() tidak dibuat, representasi string dari object akan dikembalikan.
Contoh:
Representasi string dari suatu object tanpa fungsi __str__().
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
p1 = Manusia("Asep", 36)
print(p1)
Output:
<__main__.Manusia object at 0x1537c5e55100>
Contoh:
Representasi string dari object dengan fungsi __str__().
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
def __str__(self):
return f"{self.nama}({self.umur})"
p1 = Manusia("Asep", 36)
print(p1)
Output:
Asep(36)
Fungsi Pada Python Object
Object juga dapat berisi fungsi. Fungsi dalam object adalah aksi atau tindakan yang dimiliki dan dapat dijalankan oleh object .
Mari kita buat fungsi di class Manusia.
Contoh:
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
def myfunc(self):
print("Halo, Namaku " + self.nama)
p1 = Manusia("Asep", 36)
p1.myfunc()
Output:
Halo, Namaku Asep
Catatan: Parameter self
adalah referensi ke instance class saat ini, dan digunakan untuk mengakses variabel milik class.
Parameter Self
Parameter self
adalah referensi ke instance class saat ini, dan digunakan untuk mengakses variabel milik class.
Parameter ini tidak harus diberi nama self
, Anda dapat memanggilnya sesuka Anda, tetapi harus menjadi parameter pertama dari fungsi apa pun di class.
Contoh:
Gunakan kata-kata objekkonyol dan abc sebagai ganti self.
class Manusia:
def __init__(objekkonyol, nama, umur):
objekkonyol.nama = nama
objekkonyol.umur = umur
def myfunc(abc):
print("Halo, Namaku " + abc.nama)
p1 = Manusia("Asep", 36)
p1.myfunc()
Output:
Halo, Namaku Asep
Mengubah Properti Python Object
Anda dapat memodifikasi properti pada object seperti ini.
Contoh:
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
def myfunc(self):
print("Halo, Namaku " + self.nama)
p1 = Manusia("Asep", 36)
p1.umur = 40
print(p1.umur)
Output:
40
Menghapus Properti Python Object
Anda dapat menghapus properti pada object dengan menggunakan kata kunci del
.
Contoh:
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
def myfunc(self):
print("Halo, Namaku " + self.nama)
p1 = Manusia("Asep", 36)
del p1.umur
print(p1.umur)
Output:
Traceback (most recent call last):
File "./prog.py", line 13, in
AttributeError: 'Manusia' object has no attribute 'umur'
Menghapus Python Object
Anda dapat menghapus object dengan menggunakan kata kunci del
.
Contoh:
class Manusia:
def __init__(self, nama, umur):
self.nama = nama
self.umur = umur
def myfunc(self):
print("Halo, Namaku " + self.nama)
p1 = Manusia("Asep", 36)
del p1
print(p1)
Output:
Traceback (most recent call last):
File "./prog.py", line 13, in
NameError: name 'p1' is not defined
Tutorial sebelumnya : Python Array
Tutorial setelahnya : Mempelajari Konsep Inheritance Pada Python
Semua Tutorial Python : Tutorial Python