Algoritma Pemrograman Python 6

Object Oriented Programming II

Object Oriented Programming atau Pemrograman Berorientasi Objek merupakan paradigma pemrograman berdasarkan konsep “objek”, yang dapat berisi data, dalam bentuk field atau dikenal juga sebagai atribut serta kode, dalam bentuk fungsi/prosedur atau dikenal juga sebagai method. Python telah menjadi bahasa berorientasi objek sejak bahasa Python sendiri dibuat.

Class

Class adalah prototype, atau blueprint, atau rancangan yang mendefinisikan variable dan method-method pada seluruh objek tertentu. Class berfungsi untuk menampung isi dari program yang akan di jalankan, di dalamnya berisi atribut / type data dan method untuk menjalankan suatu program. Dalam Python sendiri class didefinisikan dengan keyword class dan diikuti oleh penamaan kelas tersebut “class nama_kelas”. Pemanggila kelas sendiri sama seperti pemanggilan sebuah fungsi/method dalam sebuah program yaitu memanggil nama class tersebut beserta parameter classnya. Biasanya class berisi banyak method/fungsi yang merupakan turunan sifat dari kelas tersebut.

Class sendiri memiliki banyak bentuk dalam setiap Bahasa pemrograman yang berbeda, seperti abstrak class, data class dan lain sebagainya. Class juga dapat memiliki keterkaitan dengan class lainnya yang dapat disebut sebagai class turunan atau inheritance, Inheritance merupakan sebuah hubungan Parent Class (Kelas Induk) dengan Child Class (Kelas Anak) yang dimana memiliki pewarisan sifat dan pewarisan variabel turunan yang sama.

Contoh sederhana dalam class, kita punya sebuah mobil dimana mobil tersebut memiliki sebuah attribut berupa mesin, roda, aki, dsb. Mobil merupakan sebuah class, sedangkan mesin, roda, aki, dsb merupakan sebuah fungsi.

Berikut ini adalah hal yang perlu diperhatikan dalam mendeklatasikan sebuah class

  1. Fungsi Inisialisasi
  2. Parameter Self

Fungsi Inisialisasi

Merupakan sebuah fungsi yang wajib diinisialisasi dalam membuat dan mendeklarasikan sebuah class, gunanya ialah untuk menambahkan argument dan menyimpan parameter pada class.

Parameter Self

Merupakan sebuah variable yang hanya dapat digunakan didalam deklarasi class.

berikut adalah contoh sederhana dalam mendeklarasikan sebuah class

class Employee:
    "Common base class for all employee"
    empCount = 0
    
    def __init__(self, name = "Pegawai", salary = 5000):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
        
    def displayCount(self):
        print("Total Employee %d" % Employee.empCount)
    
    def printEmployee(self):
        print("Nama:", self.name, "\nSalary:", self.salary)


employee1 = Employee("Azhar", 5000)

employee1.printEmployee()
employee1.displayCount()

employee2 = Employee("Gerald", 4000)

employee2.printEmployee()
employee2.displayCount()

Method Getter

Merupakan sebuah metode untuk melakukan pengambilan data dari class. biasanya method getter digunakan ketika ada data yang perlu di export atau dikeluarkan dari class.

Anda bisa menggunakan method getter dengan membuat dan menggunakan fungsi yang mengembalikan nilai pada deklarasi class

Method Setter

Merupakan sebuah metode untuk mengubah data pada class. Terkadang setter sangat dibutuhkan ketika terdapat data yang bersifat immutable atau data yang perlu diubah

Anda bisa menggunakan metode setter sama seperti melakukan deklarasi fungsi init pada class.

Berikut adalah contoh dari implementasi method getter dan setter:

class Employee:
    "Common base class for all employee"
    empCount = 0
    
    def __init__(self, name = "Pegawai", salary = 5000):
        self.name = name
        self.salary = salary
        Employee.empCount += 1
        
    def displayCount(self):
        print("Total Employee %d" % Employee.empCount)
    
    def printEmployee(self):
        print("Nama:", self.name, "\nSalary:", self.salary)
    
    # Deklarasi Method Getter
    # Merupakan sebuah metode untuk mendapatkan data dari class
    def getEmployee(self, typesOfParameterClass):
        if (typesOfParameterClass == "Nama"):
            return self.name
        elif (typesOfParameterClass == "Nama"):
            return self.salary
        else:
            return "Data Tidak Ada"
    
    # Deklarasi Method Setter
    # Merupakan metode untuk mengubah data pada class
    def setEmployee(self, name, salary):
        self.name = name
        self.salary = salary

employee1 = Employee()

employee1.printEmployee()
employee1.displayCount()

# Contoh Implementasi Getter
Nama_pegawai = employee1.getEmployee("Umur")
print("Nama Pegawainya adalah", Nama_pegawai)

# Contoh Implementasi Setter
employee1.setEmployee("Azhar", 50000)
employee1.printEmployee()

employee2 = Employee("Gerald", 4000)

employee2.printEmployee()
employee2.displayCount()

Latihan 1

Buatlah sebuah program yang mengimplementasikan sebuah class yang memiliki nama class mahasiswa dan memiliki method yang dapat digunakan untuk menampilkan biodata mahasiswa yang diinputkan oleh user.

Latihan 2

Buatlah sebuah kelas yang menerapkan method getter dan setter dimana menggunakan implementasi program percabangan serta perulangan seperti pada Latihan sebelumnya. Program menerima deklarasi nilai inputan dari user dan menampungnya dalam sebuah kelas dan variabel didalam kelas tersebut dapat dimanipulasi serta dirubah sesuai keinginan dan perubahan yang diberikan oleh user melalui inputan user itu sendiri serta dapat ditampilkan menggunakan method getter dan setter.

Written by

Azhar Rizki Zulma

I'm a Information System, Independent Developer, Publisher, Mountainer, Nature Lovers, Musician, Producer, and Blogger.