Pada kesempatan kali ini kita akan membahas tentang Mengenal apa aja sih Bahasa Pemrograman yang ada pada Python tersebut.
Berikut pokok pembahasannya:
• Pemrograman Berbasis Obyek Python
• Class Inheritance Python
• Constructor Python
• Menciptakan Obyek Pada Python
Pemrograman Berbasis Obyek Python
Pengertian Pemrograman Berorientasi Objek
Pemrograman berorientasi objek atau Object Oriented Programming (OOP) merupakan bahasa pemrograman multi-paradigma, dimana dapat memilih paradigma yang paling sesuai dengan masalah yang ada, menggabungkan paradigma yang berbeda dalam satu program, dan juga beralih dari satu paradigma ke paradigma lain saat program Python berkembang. Python dibuat sudah mengadopsi OOP. Selain itu Python juga bisa menggunakan paradigma pemrograman lama yaitu pemrograman terstruktur Python yang disebut bersifat hibrid.
Pembuatan Kelas
Pada pembuatan kelas, 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
Class Inheritance Python
Inheritance (warisan atau turunan) adalah sebuah konsep yang penting di dalam Python. Inheritance adalah sebuah proses dimana sebuah class mengambil semua properti dan semua metode dari kelas lain.
Contohnya dari unit sebelumnya tentang class Kendaraan. Sebelumnya kita membuat motor dan mobil berdasarkan Kendaraan. Tetapi kita akan mengalami masalah karena motor dan mobil walaupun memiliki banyak kesamaan tetapi mereka sebenarnya berbeda. Solusinya adalah kita membuat kelas baru bernama Mobil dan Motor yang merupakan turunan Kendaraan. Di Kendaraan kita definisikan semua metode dan semua properti yang umum dimiliki sebuah kendaraan. Lalu di Mobil dan Motor kita definisikan metode dan properti yang unik untuk masing-masing kelas tersebut.
Codingannya :
class Kendaraan(object):
def __init__(self, nama):
self.nama = nama
self.penumpang = []
def tambah_penumpang(self, nama_penumpang):
self.penumpang.append(nama_penumpang)
#membuat class Mobil yang merupakan turunan Kendaraan
class Mobil(Kendaraan):
pintu_terbuka = False
def buka_pintu(self):
self.pintu_terbuka = True
def tutup_pintu(self):
self.pintu_terbuka = False
mobnas = Mobil("MobilSaya")
# mobnas akan memiliki properti dari Kendaraan
mobnas.tambah_penumpang("Raisa")
print "Penumpang: " + str(mobnas.penumpang)
# dan memiliki properti Mobil
mobnas.buka_pintu()
print "Pintu terbuka: " + str(mobnas.pintu_terbuka)
Outputnya :
Penumpang: ['Raisa']
Pintu terbuka: True
Constructor Python
Metode __init__() adalah metode konstruktor, yaitu metode khusus yang digunakan Python untuk menginisialisasi pembuatan objek dari kelas tersebut. Fungsi - fungsi di dalam kelas disebut metode, pendefinisian yang sama dengan fungsi pada umumnya, tetapi harus ada argumen pertama bernama self. Pada saat pemanggilan fungsi, argumen ini otomatis ditambahkan oleh Python dan tidak perlu menambahkannya pada saat memanggil fungsi.
Codingnya:
class Product:
__vendor_message = "Ini adalah rahasia"
name = ""
price = ""
size = ""
unit = ""
def __init__(self, name):
print "Ini adalah constructor"
self.name = name
self.unit = "ml"
self.size = 250
def get_vendor_message(self):
print self.__vendor_message
def set_price(self, price):
self.price = price
Pada konstruktor menggunakan method bawaan Python yang bernama init. Setiap method harus memiliki parameter self dengan arti method tersebut dimiliki dan terdaftar ke class tersebut untuk membedakan dari method atau fungsi yang ada di luar class. Selanjutnya konstruktor dapat memiliki atribut tambahan sesuai kebutuhan. Dalam hal ini, konstruktor Product memiliki parameter name yang harus selalu diisi saat membuat objek. Di dalam konstruktor terdapat inisialisasi atribut untuk name, unit, dan size.
Menciptakan Obyek Pada Python
Instansiasi Objek
Dalam pembuatan 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)
Mengakses Attribut Objek
Kita bisa mengakses atribut objek dengan menggunakan operator titik. Variabel kelas bisa diakses dengan menggunakan nama kelasnya.
karyawan1.tampilkan_profil()
karyawan2.tampilkan_profil()
print("Total karyawan :", Karyawan.jumlah_karyawan)
Menambah, Menghapus, dan Mengubah Atribut Objek
Kita bisa menambah, menghapus, dan mengubah atribut objek seperti berikut:
karyawan1.gaji = 1500000
karyawan1.nama = 'Ratna'
del karyawan1.gaji
Penghancuran Objek (Garbage Collection)
Python menghapus objek yang sudah tidak terpakai secara otomatis untuk menghemat memori. Proses ini disebut dengan pengumpulan sampah (garbage collection). Kolektor sampah Python terus berjalan pada saat program dieksekusi dan dipicu pada saat tidak ada lagi referensi/variabel yang merujuk ke objek. Pada saat referensi terhadap objek sudah nol, maka Python akan otomatis menghapus objek tersebut. Perhatikan contoh berikut:
a = 30 # Menciptakan objek <30>
b = a # menambah jumlah referensi ke objek <30>
c = [b] # menambah jumlah referensi ke objek <30>
del a # mengurangi jumlah referensi ke objek <30>
b = 100 # mengurangi jumlah referensi ke objek <30>
c[0] = -1 # mengurangi jumlah referensi ke objek <30>
Tidak ada komentar:
Posting Komentar