Object Oriented Programming (OOP) Python
Pemrograman Berbasis Objek (OOP)
Evolusi pemrograman telah beralih dari pengeksekusian instruksi langkah-demi-langkah menuju kepada pendekatan blok program yang lebih terorganisir, di mana blok kode tersebut dapat dibungkus menjadi subrutin dan fungsi yang telah ditetapkan. Pemrograman terstruktur atau prosedural memungkinkan kita mengatur program ke dalam blok logis, dapat diulang-ulang atau digunakan kembali. Salah satu alasan yang paling penting untuk mempertimbangkan bekerja di OOP adalah bahwa ia menyediakan pendekatan pemodelan langsung dan memecahkan masalah di dunia nyata.
Kelas
Kelas adalah struktur data yang bisa kita gunakan untuk mendefinisikan objek yang menyimpan data bersama-sama nilai-nilai dan perilaku (behavior). Kelas adalah suatu entitas yang merupakan bentuk program dari suatu abstraksi untuk permasalahan dunia nyata, dan instans dari class merupkan realisasi dari beberapa objek. Jika dianalogikan, kelas itu merupakan blueprint ( cetak biru ) dari sebuah objek (instans). Dalam Python, pendeklarasian class punya kesamaan seperti mendeklarasikan sebuah fungsi. Berikut adalah bentuk umum pendeklarasian sebuah kelas,
class <nama_kelas> :
<statemen>
<statemen>
Pendeklarasian kelas di awali dengan kata kunci class kemudian diikuti dengan nama kelasnya. Statemen-statemen dalam tubuh kelas dapat berupa atribut kelas dan method. Kelas umumnya di definisikan pada level teratas dari sebuah modul, dengan begitu objek dari kelas dapat di dibuat dimanapun dalam source code dimana kelas tersebut didefinisikan.
Atribut
Kelas
Atribut merupakan data atau bisa juga berupa fungsi-fungsi yang dimiliki oleh kelas tersebut. Atribut diakses melalui notasi bertitik. Atribut-atribut kelas terikat hanya untuk kelas-kelas dimana atribut tersebut didefinisikan. Atribut-atribut data merupakan veriabel-variabel yang kita deklarasikan. Variabel-variabel tersebut dapat digunakan seperti variabel lainnya dan dapat di ubah-ubah nilainya oleh method didalam kelas ataupun di dalam program utama.
Method
Method merupakan fungsi yang melekat pada sebuah objek atau instan kelas. Contoh berikut menunjukkan penggunaan method dalam kelas.
1. Method Constructor
Method constructor merupakan sebuah method yang akan otomatis dipanggil ketika objek di instantiasi. Constructor umumnya digunakan untuk melakukan inisialisasi terhadap suatu variabel atau method. Bentuk umum Method constructor adalah sebagai berikut,
class
<nama_kelas>:
def __init__(self,
<argumen-argumen>):
<statemen>
<statemen>
Method Destructor
Method destructor dalam python merupakan method yang menyediakan proses khusus sebelum objek di hancurkan/dealokasi. Method constructor disebut __del__(). Method ini tidak akan dilaksanakan sampai semua referensi ke semua objek telah dihapus.
Inheritance (Pewarisan)
Pewarisan merupakan konsep dalam pemrograman berbasis objek yang memungkinkan untuk membuat suatu kelas dengan didasarkan pada kelas yang sudah ada sehingga mewarisi semua method dan atributnya. Pewarisan merupakan suatu mekanisme yang memungkinkan seorang pemrogram menciptakan suatu kelas baru berdasarkan kelas yang sudah tersedia tetapi tidak perlu menuliskan kode dari nol. Dengan cara seperti ini, semua method dan atribut yang terdapat pada kelas induk diturunkan ke kelas turunannya. Namun kelas turunannya dapat menambah method baru atau atribut baru tersendiri. Bentuk Umum pembuatan Kelas turunan,
class
<nama_kelas_turunan>(<nama_kelas_induk>):
<atribut-atribut>
<method-method>
Method Overriding
Sebuah method dikatakan Method overriding jika method dengan nama yang sama terdapat pada kelas induk dan kelas anaknya.