OOP dalam Python

  

     Di dalam dunia IT, salah satu bahasa pemrograman yang paling sering digunakan adalah Python. Python merupakan salah satu bahasa kelas tinggi yang memiliki konsep OOP (Object Oriented Programming). OOP merupakan orientasi pemrograman yang menggunakan konsep objek dan kelas dalam pemrograman. Tujuan utama dari OOP adalah untuk mengikat data dan fungsi yang beroperasi di dalamnya sehingga tidak ada bagian lain dari kode yang dapat mengakses data ini kecuali fungsi tersebut. Bagian bagian dari OOP adalah Class, Objects, Polymorphism, Encapsulation, Inheritance, dan Abstraction.

 

     Dalam artikel ini, kita hanya akan membahas lebih lanjut tentang kelas. Kelas merupakan sebuah cetak biru bagi objek yang akan dibuat. Isi dari kelas tersebut adalah beberapa atribut dan metode. Contoh dalam Python adalah seperti ini:

class Person:

         HP =100

         Attack = 1

        Defence = 1

 

def Status(self):

      print(f“Hello, I have {self.HP} health, and my Attack is {self.Attack} and my Defense is {self.Defence}.”)

 

     Pada kasus di atas, kata kunci ‘class’ diperlukan untuk membuat kelas, dan nama kelasnya adalah ‘Person’. Di kelas ‘Person’, terdapat beberapa atribut yaitu ‘HP’, ‘Attack’, dan ‘Defence’. Selain atribut, ada juga metode ‘Status’. Di fungsi itu, ada kata ‘self’. Apa itu? ‘Self’ merupakan fungsi untuk mengakses variabel milik kelas (Namanya boleh tidak ‘self’, namun harus sama dengan yang ada di tanda kurung). Kelas tidak perlu mempunyai isi, namun juga boleh kosong dengan keyword ‘pass’. Contohnya seperti ini:

class Weapon:

          pass

 

     Ada 2 metode yang sangat sering dipakai didalam kelas. Yaitu metode __init__ dan __str__. Metode __init__ merupakan inisialisasi untuk membuat objek dari kelas tersebut. Berikut contohnya:

def __init__ (self, HP, Attack, Defence):

       self.HP=HP

       self.Attack=Attack

       self.Defence=Defence

 

     Sedangkan, metode __str__ mengontrol apa yang harus dikembalikan ketika objek kelas direpresentasikan sebagai string. Berikut contohnya:

def __str__ (self):

       return f”HP: {self.HP}\nAttack: {self.Attack}\nDefence: {self.Defence}”

 

Jika kita melakukan print dalam objek tersebut, kita akan mendapatkan return ini, namun jika tidak, representasi string dari objek yang akan dikembalikan. 

 

Referensi:

https://media.geeksforgeeks.org/wp-content/uploads/20220608174843/OOPS1-282×300.png (Gambar)

Python OOPs Concepts – GeeksforGeeks

Python Classes (w3schools.com)

Joshua Evans Setiyawan