Pemrograman Berorientasi Objek di Python




Pemrograman Berorientasi Objek di Python
Pengertian Pemrograman Berorientasi Objek
Pemrograman berorientasi objek atau dalam bahasa inggris disebut Object Oriented Programming (OOP) adalah paradigma atau teknik pemrograman di mana semua hal dalam program dimodelkan seperti objek dalam dunia nyata. Objek di dunia nyata memiliki ciri atau attribut dan juga aksi atau kelakuan (behaviour).
Kita misalkan sebuah mobil. Mobil memiliki ciri punya ban, stang, kursi, pedal gas, rem, dan lain sebagainya. Ada juga ciri warna, atau tahun keluaran berapa. Selain punya ciri, mobil juga punya aksi atau sesuatu yang bisa dilakukan olehnya. Misalnya, ketika pedal diinjak apa yang terjadi. Ketika di rem apa yang terjadi, dan lain sebagainya.
Program juga demikian. Semua unit dalam program bisa dianggap sebagai objek. Objek besar dibangun dari objek – objek yang lebih kecil. Objek yang satu berinteraksi dengan objek yang lain, sehingga semua menjadi sebuah kesatuan yang utuh.
Python dari awal dibuat sudah mengadopsi OOP. Selain itu Python juga bisa menggunakan paradigma pemrograman lama yaitu pemrograman terstruktur. Oleh karena itu, Python disebut bersifat hibrid.
Istilah – Istilah Dalam OOP
Sebelum mempelajari lebih jauh tentang OOP, ada baiknya kita harus mengetahui istilah – istilah dalam OOP, yaitu sebagai berikut:
1.      Kelas – Kelas adalah cetak biru atau prototipe dari objek dimana kita mendefinisikan atribut dari suatu objek. Atribut ini terdiri dari data member (variabel) dan fungsi (metode).
Pembuatan Kelas
Kita mendefinisikan sebuah kelas dengan menggunakan kata kunci class diikuti oleh nama kelas tersebut. Berikut adalah sintaks pembuatan kelas di Python.
class ClassName:
    '''class docstring'''
    class_body
Kelas memiliki docstring atau string dokumentasi yang bersifat opsional artinya bisa ada atau tidak. Docstring bisa diakses menggunakan format ClassName.__doc__
class_body terdiri dari semua pernyataan berupa attribut, fungsi, dan data dari kelas

2.      Variabel Kelas – Variabel kelas adalah variabel yang dishare atau dibagi oleh semua instance (turunan) dari kelas. Variabel kelas didefinisikan di dalam kelas, tapi di luar metode-metode yang ada dalam kelas tersebut.
3.      Data member – Data member adalah variabel yang menyimpan data yang berhubungan dengan kelas dan objeknya
4.      Overloading Fungsi – Overloading fungsi adalah fungsi yang memiliki nama yang sama di dalam kelas, tapi dengan jumlah dan tipe argumen yang berbeda sehingga dapat melakukan beberapa hal yang berbeda.
5.      Overloading operator – Overloading operator adalah pembuatan beberapa fungsi atau kegunaan untuk suatu operator. Misalnya operator + dibuat tidak hanya untuk penjumlahan, tapi juga untuk fungsi lain.
6.      Variabel instansiasi – Variabel instansiasi adalah variabel yang didefinisikan di dalam suatu metode dan hanya menjadi milik dari instance kelas.
7.      Pewarisan/Inheritansi – Inheritansi adalah pewarisan karakteristik sebuah kelas ke kelas lain yang menjadi turunannya.
Sintaks
Pewarisan memiliki sintaks sebagai berikut:
class SubClassName (ParentClass1[, ParentClass2, ...]):
    """docstring"""
    class_body
8.      Instance – Instance adalah istilah lain dari objek suatu kelas. Sebuah objek yang dibuat dari prototipe kelas Lingkaran misalnya disebut sebagai instance dari kelas tersebut.
Untuk membuat objek dari sebuah kelas, kita bisa memanggil nama kelas dengan argumen sesuai dengan fungsi __init__() pada saat kita mendefinisikannya.
# Membuat objek pertama dari kelas Karyawan
karyawan1 = Karyawan("Sarah", 1000000)
 
# Membuat objek kedua dari kelas Karyawan
karyawan2 = Karyawan("Budi", 2000000)
9.      Instansiasi – Instansiasi adalah pembuatan instance/objek dari suatu kelas
10.   Metode – Metode adalah fungsi yang didefinisikan di dalam suatu kelas
11.   Objek – Objek adalah instansiasi atau perwujudan dari sebuah kelas. Bila kelas adalah prototipenya, dan objek adalah barang jadinya.

Inheritance
Inheritance (Pewarisan atau turunan) merupakan sebuah konsep dalam pemrograman yang paling penting, pada inheritance terdapat sebuah proses dimana sebuah class dapat mengakses semua property dan semua method yang terdapat dari class yang lainnya. untuk Memahami Konsep Inheritance Pada pemrograman Python kita akan membuat sebuah contoh sederhana seperti dibawah ini:

Constructor
Pada contoh awal tentang penjelasan class, terdapat sebuah method bernama __init__(). Method itulah yang disebut dengan constructor. Suatu constructor berbeda dengan method lainnya, karena constructor akan otomatis dieksekusi ketika membuat object dari class itu sendiri.
Ketika object honda dibuat dari class Car, constructor langsung dieksekusi. Hal ini berguna jika anda membutuhkan proses inisialisasi ketika suatu object dibuat. Suatu constructor juga bisa memiliki satu atau beberapa parameter, sama seperti method pada umumnya namun constructor tidak bisa mengembalikan value.
Object
Object merupakan produk hasil dari suatu class. Jika class merupakan blueprint dari suatu rancangan bangunan, maka object adalah bangunan itu sendiri. Begitulah contoh analogi yang bisa saya gambarkan mengenai relasi antara class dan object. Berikut contoh implementasi dalam bentuk code program:
Dari contoh di atas, terdapat 2 buah object car1 dan car2 yang dibuat dari class yang sama. Masing-masing dari object tersebut berdiri sendiri, artinya jika terjadi perubahan attribute dari object car1 tidak akan mempengaruhi object car2 meskipun dari class yang sama.
Daftar Pustaka
DUMET School. (2018, October 5). Memahami Konsep Inheritance Pada pemrograman Python. Retrieved July Thursday, 2020, from DUMET School: https://kursuswebprogramming.com/memahami-konsep-inheritance-pada-pemrograman-python/
pythonindo. (2019). Pemrograman Berorientasi Objek di Python. Retrieved July Thursday, 2020, from pythonindo: https://www.pythonindo.com/pemrograman-berorientasi-objek-di-python/
Wijaya, H. I. (2018, June 3). Object Oriented Programming Pada Python. Retrieved July Thursday, 2020, from hiwijaya.com: https://hiwijaya.com/blog/oop-pada-python
Workshop Python 101. (2013). Object-Oriented Programming (Pemrograman berorientasi Obyek). Retrieved July Thursday, 2020, from sakti.github.io: https://sakti.github.io/python101/oop.html




Komentar

Postingan populer dari blog ini

Pengertian, Jenis-jenis dan Cara Mengatasi Program Jahat

Konsep Dasar Keamanan

Kriptografi