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).
jadi singkatnya dalam membuat program kita akan memecah setiap entitas/masalah kedalam kumpulan objek
misalnya kita ingin membuat sebuah aplikasi kasir maka kita tentukan entitasnya contoh :
- kasir
- barang
- transaksi
maka dalam pemograman berorientasi objek kita akan membuat objek-objek untuk kasir,barang,dan transaksi.lalu di setiap objek itu nanti akan ada attribut dan fungsi-fungsi yang bisa di gunakan sesuai dengan tujuan dari objek tersebut.
jika sudah paham konsepnya selanjutnya kita akan praktek untuk kodingnya
kita akan mencoba membuat sebuah class barang
class Barang:
def __init__(self,nama,stok):
#semua yang ada disini akan di eksekusi pertama kali
__init__ merupakan sebuah method bawaan pyton dimana berfungsi sebagai penerima argumen/inputan awal saat objek nanti di panggil/dideklarasikan,nah disini argumennya adalah nama dan stok
lalu bagaimana dengan self,self sendiri merupakan reprensentasi dari objek itu sendiri kalau dalam java atau bahasa pemograman lainnya hampir mirip dengan kode this,dan di python setiap __init__ class serta method yang perlu memanggil atribute dari class itu wajib menggunakan argumen self
class Barang:
def __init__(self,nama,stok):
self.nama_barang = nama
self.stok_barang = stok
karena __init__ merupakan metode yang pertama kali di panggil/dieksekusi saaj mendeklarasikan sebuah class maka pemberian dan pengsisian value dari attribute dilakukan disini,attribute di class baranga bisa dilihat adalah nama_barang dan stok_barang tentunta di awali dengan self yang berari bahwa attribute itu dimiliki dan melekat dengan class barang.selanjutnya setiap attribute itu akan menerima nilai dari argumen yang sudah di tentukan,attribute nama_barang menerima value dari argumen nama dan attribute stok_barang menerima value dari argumen stok
selanjutnya kita akan coba memanggil class yang kita buat tadi
barang_1 = Barang("Indomie",10)
disini kita memanggil class Barang serta jangan lupa memberi nilai ke setiap argumennya,lalu bagaimana dengan argumen self nya? argumen self otomati terisi oleh kelas yang di panggil jadi tidak perlu di berikan nilai/langsung dilewati ke argumen ke dua.bisa dilihat argumen pertama merupakan nama jadi kita memberi value “Indomie” serta argumen kedua adalah stok jadi kita memberi value berupa angka yaitu 10
kita bisa mengeceknya apakah kita berhasil membuat sebuah objek dengan cara menampilkan nilai atrributenya seperti ini :
print(barang_1.nama_barang)
selanjutnya kita akan membuat metod/fungsi baru dari class Barang,fungsi ini akan menampilkan nama barang dan stok barang sekaligus
class Barang:
def __init__(self,nama,stok):
self.nama_barang = nama
self.stok_barang = stok
#print info barang
def infoBarang(self):
print("Nama Barang : ",self.nama_barang)
print("Stok Barang : ",self.stok_barang)
lalu kita memanggilanya seperti ini :
barang_1.infoBarang()
kalian juga bisa mengubah nilai attribute objek yang sudah di deklarasikan seperti ini :
barang_1.nama_barang = "Indomie Goreng"
maka jika kalian print lagi akan menampilkan nilai yang berbeda
barang_1 = Barang("Indomie",10)
#sebelum di ubah
barang_1.infoBarang()
#setelah di ubah
barang_1.nama_barang = "Indomie Goreng"
barang_1.infoBarang()
ok cukup disni dulu kita akan melanjutkannya di lain waktu,kalian bisa menambah fungsi-fungsi lainnya jika perlu
untuk refrensi dan contoh-contoh lainnya kalian bisa lihat disini :
https://realpython.com/python3-object-oriented-programming :
ataupun source lainnya di google pada umumnya semua bahasa pemograman mempunyai konsep yang sama jika kalian memiliki pengalaman pemograman objek di bahasa java,php dan lainnya tidak susah untuk menerapkannya di python