Kelas, Objek, Atribut, dan Metode Menggunakan Python

Dalam pemrograman, khususnya Pemrograman Berorientasi Objek (Object-Oriented Programming/OOP), program tidak hanya disusun berdasarkan fungsi dan prosedur, tetapi juga berdasarkan objek yang memiliki data dan perilaku. Python mendukung pemrograman berorientasi objek secara penuh. Konsep dasar yang perlu dipahami adalah:

  • Class (Kelas)
  • Object (Objek)
  • Attribute (Atribut)
  • Method (Metode)

Keempat konsep tersebut saling berhubungan. Class digunakan sebagai cetak biru (blueprint) untuk membuat object. Object memiliki attribute sebagai data dan method sebagai perilaku atau operasi yang dapat dilakukan oleh object.

Konsep Pemrograman Berorientasi Objek

Object-Oriented Programming (OOP) adalah paradigma pemrograman yang mengorganisasikan program berdasarkan objek. Objek dapat dianggap sebagai representasi dari suatu benda atau entitas yang memiliki Data yang merupakan Attribute dan Perilaku yang merupakan Method. Sebagai contoh, dalam sistem akademik terdapat objek Mahasiswa mempunyai data:

  • NIM
  • Nama
  • Program Studi

Selain itu juga mempunyai perilaku:

  • Melakukan Registrasi
  • Mengubah Data
  • Menampilkan Data

Dapat digambarkan secara sederhana sebagai berikut:

Pengertian Class

Class adalah rancangan atau cetak biru (blueprint) yang digunakan untuk membuat object. Class mendefinisikan data yang dimiliki object dan perilaku yang dapat dilakukan object.

Membuat Class dalam Python

class NamaClass:
# attribute
# method

Contoh:

class Mahasiswa:
    pass

pass digunakan ketika class belum memiliki implementasi. Class tersebut sudah valid, tetapi belum memiliki attribute maupun method.

Pengertian Object

Object adalah hasil pembuatan (instance) dari sebuah class. Jika class adalah cetak biru rumah, maka object adalah rumah yang dibuat berdasarkan cetak biru tersebut. Contoh:

class Mahasiswa:
    pass

mhs1 = Mahasiswa()
mhs2 = Mahasiswa()

Pada program tersebut mhs1 dan mhs2 merupakan object dari class Mahasiswa.

Attribute

Attribute adalah data atau karakteristik yang dimiliki oleh sebuah object. Misalnya object mahasiswa mempunyai NIM, Nama, Prodi, Semester. Maka Attribute dapat diibaratkan sebagai variabel yang menjadi bagian dari object. Attribute dapat dibuat menggunakan object. Contoh:

class Mahasiswa:
    pass

mhs1 = Mahasiswa()

mhs1.nim = "2301001"
mhs1.nama = "Andi"
mhs1.prodi = "Teknik Informatika"

Kemudian attribute dapat ditampilkan:

print(mhs1.nim)
print(mhs1.nama)
print(mhs1.prodi)

Salah satu keuntungan OOP adalah setiap object dapat memiliki nilai attribute yang berbeda, contoh:

class Mahasiswa:
    pass

mhs1 = Mahasiswa()
mhs1.nim = "2301001"
mhs1.nama = "Andi"

mhs2 = Mahasiswa()
mhs2.nim = "2301002"
mhs2.nama = "Budi"

print(mhs1.nama)
print(mhs2.nama)

Walaupun berasal dari class yang sama, masing-masing object mempunyai data sendiri.

Constructor __init__()

Dalam Python, method khusus __init__() biasanya digunakan untuk menginisialisasi attribute ketika object dibuat, contoh:

class Mahasiswa:
    def __init__(self, nim, nama):
        self.nim = nim
        self.nama = nama

Object dapat dibuat sebagai berikut:

mhs1 = Mahasiswa("2301001", "Andi")
mhs2 = Mahasiswa("2301002", "Budi")

print(mhs1.nim)
print(mhs1.nama)

print(mhs2.nim)
print(mhs2.nama)

Memahami self

self merupakan referensi yang digunakan untuk mengakses object yang sedang digunakan, contoh:

class Mahasiswa:
    def __init__(self, nim, nama):
        self.nim = nim
        self.nama = nama

Bagian self.nim berarti attribute nim milik object tersebut. Sedangkan nim di sebelah kanan tanda sama dengan adalah parameter yang diterima oleh method. Sehingga self.nim = nim dapat dipahami sebagai “Simpan nilai parameter nim ke attribute nim milik object”

Method

Method adalah fungsi yang berada di dalam sebuah class. Method digunakan untuk mendefinisikan perilaku atau operasi yang dapat dilakukan oleh object, contoh:

class Mahasiswa:

    def tampilkan_data(self):
        print("Data Mahasiswa")

Object mhs1 = Mahasiswa() Menjalankan method mhs1.tampilkan_data() akan menghasilkan output:

Data Mahasiswa

Method dapat menggunakan attribute yang dimiliki object, contoh:

class Mahasiswa:

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

    def tampilkan_data(self):
        print("NIM  :", self.nim)
        print("Nama :", self.nama)

mhs1 = Mahasiswa("2301001", "Andi")
mhs1.tampilkan_data()

Method dengan Parameter

Method dapat menerima parameter seperti fungsi biasa, contoh:

class Mahasiswa:

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

    def sapa(self, waktu):
        print("Selamat", waktu, self.nama)

mhs1 = Mahasiswa("Andi")
mhs1.sapa("pagi")

Maka outputnya sebagai berikut:

Selamat pagi Andi

Method yang Menghasilkan Nilai

Method dapat menggunakan return, contoh:

class Persegi:

    def __init__(self, sisi):
        self.sisi = sisi

    def luas(self):
        return self.sisi * self.sisi

p = Persegi(10)
hasil = p.luas()

print("Luas =", hasil)

Akan menghasilkan output:

Luas = 100

Method untuk Mengubah Attribute

Method juga dapat digunakan untuk mengubah nilai attribute, contoh:

class Mahasiswa:

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

    def ubah_nama(self, nama_baru):
        self.nama = nama_baru

mhs1 = Mahasiswa("Andi")
print(mhs1.nama)
mhs1.ubah_nama("Budi")
print(mhs1.nama)

Class dengan Input dari Pengguna

Class juga dapat digunakan bersama input(), contoh:

class Mahasiswa:

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

    def tampilkan(self):
        print("\nData Mahasiswa")
        print("NIM  :", self.nim)
        print("Nama :", self.nama)


nim = input("Masukkan NIM  : ")
nama = input("Masukkan Nama : ")

mhs = Mahasiswa(nim, nama)

mhs.tampilkan()

Kesimpulan

Konsep Class, Object, Attribute, dan Method merupakan dasar penting dalam pemrograman berorientasi objek menggunakan Python. Dimulai dengan Class membuat Object kemudian Object memiliki Attribut yang merupakan data dan memiliki Method yang merupakan perilaku.

Slide materi dapat dilihat di sini.

Mungkin Anda Menyukai

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *