Selamat Datang Di Kelas AI (Beta)

Class, Method, Init (Constructor) & Object Pada Python

Tim Kelas AI - 14 Jun 2024 (4 Minute Read)

Tim Kelas AI, 14 Jun 2024
4 Minute Read

Dalam Python, kita menegenal Class sebagai sebuah entitas data yang memiliki atribut dan juga fungsionalitas yang disimpan dalam memory internal. Atribut dan fungsionalitas dari entitas data ini bersifat abadi (kecuali jika dideklarasikan ulan). Nah ketika entitas data ini pertama kali dideklarasikan, maka namanya akan berubah menjadi Object atau Instance.

Class

Contoh dari sebuah class adalah seperti berikut: Kita hendak membuat sebuah entitas bernama manusia yang memiliki atribut nama, usia, tinggi badan, dan berat badan. Jadi class dari entitas manusia adalah seperti berikut:

class Manusia():
    nama = None
    usia = 0
    tinggi_badan = 42
    berat_badan = 13

Kemudian kita deklarasikan variabel 'anton' sebagai sebuah entitas manusia:

anton = Manusia()
anton
Output:
<__main__.Manusia at 0x79df5cc3a860>

Nah begitulah cara menggunakan sebuah class. Sekarang 'anton' sudah berubah menjadi objek atau instance 'manusia' yang memiliki berbagai atribut dan fungsionalitas.

Atribut

Atribut adalah variabel yang terdapat didalam sebuah class atau object. Dalam class 'manusia' ada beberapa atribut, yaitu: 'nama', 'usia', 'tinggi_badan' dan 'berat_badan'. Kita bisa memanggilnya seperti ini:

print(anton.nama)
print(anton.usia)
print(anton.tinggi_badan)
print(anton.berat_badan)
Output:
None 0 42 13

Jika dilihat-lihat, 'anton' belum memiliki nama ya. Yup, betul bgt. Hal ini karena kita belum mendeklarasikan bahwa nama manusia tersebut adalah 'anton'. Jadi kita baru sebatas membuat sebuah object atau instance saja. Kita bisa mendeklarasikannya dengan cara berikut:

anton.nama = 'Anton'

print(anton.nama)
print(anton.usia)
print(anton.tinggi_badan)
print(anton.berat_badan)
Output:
Anton 0 42 13

Setelah dideklarasikan ulang, atribut dari sebuah object akan tersimpan dalam memory sementara (sampai program ditutup). Artinya jika kita memanggilnya berulang kali, tetap tidak akan berubah. Coonthonya coba kita panggil lagi nama si anton:

anton.nama
Output:
'Anton'

Bener kan gak berubah. Nah itulah atribut dalam Class & Object.

Method

Method adalah sebuah function yang berada didalam sebuah Class. Artinya method adalah fungsionalitas dari sebuah entitas object atau instance. Coba kita buat ulang Class 'manusia' kita ya. Kali ini kita akan memasukan fungsi 'sakit'. Karena manusia juga bisa sakit kan ya. Kira-kira seperti ini:

class Manusia():
    nama = None
    usia = 0
    tinggi_badan = 42
    berat_badan = 13

    def sakit(self):
        print('Saya sakit')

Nah fungsi 'sakit' itulah yang dinamakan method. Oke, sekarang kita coba deklarasikan ulang 'anton':

anton = Manusia()

Untuk memanggil method, caranya sama dengan memanggil atribut. Hanya saja, diperlukan tanda kurung biasa seperti ini:

anton.sakit()
Output:
Saya sakit

Nah itulah yang disebut dengan method. Tapi co kalian coba perhatikan dulu. Ada kata 'self' didalam method kita. Lalu apa itu 'self'?

Self

Self adalah sebuah sintak yang digunakan untuk memanggil atau menggunakan atribut didalam sebuah method. Misal kita ingin ketika dipanggil fungsi sakit(), maka formatnya adalah 'nama' + 'sedang sakit'. Nah untuk memanggil atribut 'nama' ini lah kita memerlukan sintak 'self' seperti ini:

class Manusia():
    nama = None
    usia = 0
    tinggi_badan = 42
    berat_badan = 13

    def sakit(self):
        print(self.nama,' sedang sakit')

Sekarang coba kita deklarasikan ulang si anton:

anton = Manusia()

anton.nama = 'Anton'
anton.sakit()
Output:
Anton sedang sakit

Mudah sekali bukan. Jika ingin menggunakan atribut didalam sebuah method, caranya tinggal panggil self.nama_atribut.

Init (Constructor)

Init adalah sebuah method yang berfungsi untuk mengkonstruksikan atribut, atau melakukan inisialisasi secara langsung. Contoh pada codingan sebelumnya kan kita perlu mendeklarasikan ulang atribut 'nama' ya. Sebenernya kita bisa langsung mendeklarasikannya ketika membuat sebuah object atau instance dengan bantuan Init.

Sintak dari constructor init untuk mendeklarasikan 'nama' kira-kira seperti ini:

class Manusia():
    nama = None
    usia = 0
    tinggi_badan = 42
    berat_badan = 13

    def __init__(self,v_nama):
        self.nama = v_nama

    def sakit(self):
        print(self.nama,' sedang sakit')

Dan untuk mendeklarasikannya kira-kira seperti ini:

anton = Manusia('Anton')
anton.sakit()
Output:
Anton sedang sakit

Jauh lebih mudah dan simpel bukan? Btw kita dapat memasukan banyak variabel loh, bukan hanya satu variabel saja. Kalian bisa coba eksperimen sendiri yah.

Object (Instance)

Instance adalah sebuah objek, yaitu sebuah variabel yang sudah diolah dalam sebuah class sehingga menjadi suatu individu baru yang memiliki atribut dan fungsionalitas didalamnya. Untuk lebih memahaminya, mari kita buat dulu sebuah Class bernama 'produk' seperti ini:

class produk():
    jumlah = 0
    harga = 0

    def __init__(self, v_jumlah, v_harga):
        self.jumlah = v_jumlah
        self.harga = v_harga

    def total_harga(self):
        print(self.jumlah * self.harga)

Dan kita deklarasikan 'ayam' sebagai produk kita seperti ini:

ayam = produk(8,10000)

print(ayam.jumlah)
print(ayam.harga)
ayam.total_harga()
Output:
8 10000 80000

Nah sekarang 'ayam' sudah berubah menjadi sebuah object.

Btw sebuah class bisa saja digunakan untuk banyak macam object loh. Jadi gak cuma satu object saja. Misal kita ingin membuat 'lele' dan 'nasi' juga sebagai sebuah object. Kira-kira seperti ini:

lele = produk(12,8000)
nasi = produk(22,4000)

Kita bisa memanggil 'lele' sebagai sebuah object seperti ini:

print(lele.jumlah)
print(lele.harga)
lele.total_harga()
Output:
12 8000 96000

Juga bisa memanggil 'nasi' sebagai sebuah object seperti ini:

print(nasi.jumlah)
print(nasi.harga)
nasi.total_harga()
Output:
22 4000 88000

Baca Juga:

Artikel yang mungkin relate buat kamu

001

Ketika kalian ngoding nih, pernah gak nemuin suatu kasus dimana kalian melakukan suatu fungsionalitas berkali-kali? Misal fungsi fungsi untuk memeriksa apakah suatu session (sesi autentifikasi) ...


Baca Artikel Lainnya +