Lompat ke konten Lompat ke sidebar Lompat ke footer

Belajar Python Part#11 - Object Oriented Programming (OOP) Memahami Class pada Python

Tutorial Hari Ini
Pengantar Pemrograman Berorientasi Objek
Memahami Class pada Python
Memahami Object pada Python
Penerapan ke Program 
Python

Pembahasan Materi Selanjutnya
Penutup


Pengantar Pemrograman Berorientasi Objek
Hi... sahabat geriatama, saatnya kalian belajar Pemrograman Berorientasi Objek (PBO) atau bahasa kerenya Object Oriented Programming (OOP).  Bahasa Pemrograman Python merupakan bahasa yang mendukung 100% Object Oriented Programming (OOP).
Apa itu OOP ? OOP merupakan sebuah cara untuk membangun sebuah aplikasi dengan memandang sebagai presentasi objek-objek yang saling mendukung serta berinteraksi dari satu objek ke objek yang lainnya, dan dapat dikatakan code program akan terbentuk berkelompok berdasarkan objek. Pemrograman Berorientasi Objek akan membagi-bagi code program menjadi class-class dibuat berdasarkan objek didalam sebuah aplikasi seperti bungkusan sebuah benda atau objek, objek-objek ini yang akan saling berinteraksi.
Objek merupakan sesuatu yang selalu memiliki identitas melalui atribut dimana dapat memiliki prilaku berdasarkan aksi (kemampuan untuk melakukan tugas tertentu), sebagai contoh sebuah mobil.
  • Mobil memiliki identitas melalui atribut(attributes), seperti nama/model (sedan, jeep, truk dll), warna (merah, hitam, silver,kuning, dll), stir, pedal rem, ban, dll
  • Mobil juga memiliki prilaku (behaviors), dapat berjalan cepat, lambat, dan berhenti. Komponen-komponen ini saling bekerja sama untuk prilaku tersebut yang dikendalikan oleh pengemudi.
Jadi untuk lebih memahami dari konsep  Pemrograman Berorientasi Objek (PBO) dapat melalui latihan atau contoh-contoh program yang akan dibahas pada tutorial hari ini.

Memahami Kelas (Class) pada Python
Seperti dikatakan diawal Bahasa Python adalah bahasa pemrograman berorientasi objek (Object Oriented Programming). Hampir semua yang ada di Python adalah objek, dengan memiliki properti dan metoda, seperti kutipan berikut:
A Class is like an object constructor, or a "blueprint" for creating objects
Jadi Apa itu Class ? Class merupakan sebuah rancangan atau blueprint dari sebuah objek.

Membuat Kelas (Class) 
Untuk membuat sebuah kelas pada Bahasa Python dimulai dengan menggunakan kata kunci class dan dikuti dengan titik dua (:).
Aturan penulisan:
class <nama_kelas>:

Contoh: mebuat kelas Mobil Sedan yang memiliki atribut/property warna Merah, jenis Sedan. 
class MobilSedan:
    warna= 'Merah'
    jenis= 'Sedan'
print(MobilSedan)
Hasil: <class '__main__.MobilSedan'>

Memahami Objek (Object) pada Python
Objek(Object) merupakan hubungan atau relasi dengan class, bila membuat sebuah class bukan berarti membuat objek tapi ketika membuat sebuah mobil, sebuah mobil itulah yang  sebut dengan objek. 

Membuat Objek (Object) 
Untuk membuat sebuah objek harus memiliki sebuah class, sebagai contoh akan dibuat sebuah objek dengan nama sedan pada class MobilSedan (yang sudah dibuat sebelumnya), sebagai berikut:
Contoh1: akan dibuat sebuah class MobilSedan (sebelumnya sudah dibuat) dan sebuah object dinamakan dengan sedan, selanjutnya akan dicetak warna dan jenis mobilnya, sbb:
class MobilSedan:
    warna= 'Merah'
    jenis= 'Sedan'
sedan= MobilSedan()       //sedan merupakan sebuah objek.
print('-- Mobil Sedan --')
print('Memiliki: ')
print('Warna Mobil : ',sedan.warna)
print('Jenis Mobil : ',sedan.jenis)
Hasil:
    -- Mobil Sedan --
    Memiliki: 
    Warna Mobil :  Merah
    Jenis Mobil :  Sedan
Sahabat semua itu merupakan penjelasan secara singkat mengenai kelas (classdan objek (object) untuk lebih memahami class dan object baca referensi yang lainnya.

Fungsi __init__()
Contoh di atas merupakan cara membuat class dan object dalam format penulisan yang paling sederhana, dan tidak terlalu bermanfaat dalam aplikasi yang besar dan kompleks. Untuk lebih memahami arti class, kita harus memahami fungsi bawaan dari python, yaitu fungsi __init__(), masih ingat jika mendeklarasikan sebuah fungsi akan dimulai dengan kata kunci def (silahkan baca tutorial sebelumnya). Semua class memiliki fungsi yang disebut __init__(), yang selalu dijalankan ketika class sedang dimulai. Disamping itu gunakan fungsi __init__() untuk menetapkan nilai ke properti objek, atau operasi lain yang perlu dilakukan saat objek sedang dibuat.

Penerapan ke Program Python
Pada penerapan ke program melalui contoh-contoh diharapkan lebih memahami tentang class dan object.
Contoh2:  akan dibuat sebuah class Mahasiswa dan objek-objeknya, untuk mencetak "Biodata Mahasiswa".
class Mahasiswa:
    #-- deklarasi nama proverti:
  def __init__(self, nama, umur, jk, alamat, kota):
    self.nama = nama
    self.umur = str(umur)
    self.jk = jk
    self.alamat = alamat
    self.kota = kota
    #-- deklarasi objek:
  def bioData(self):
    print("-- Bio Data Mahasiswa --")
    print("Nama Lengkap    : " + self.nama)
    print("Umur Saat Ini   : " + self.umur)
    print("Jenis Kelamin   : " + self.jk)
    print("Alamat Sekarang : " + self.alamat)
    print("Kota            : " + self.kota)
#-- pemberian nilai & pemanggilan objek:    
data = Mahasiswa("Gede Surya Pratama",19,'Pria','Lembah Permai Hanjuang','Cimahi Utara')
data.bioData()
Hasil:
-- Bio Data Mahasiswa --
Nama Lengkap        : Gede Surya Pratama Djelantik
Umur Saat Ini           : 19
Jenis Kelamin          : Pria
Alamat Sekarang    : Lembah Permai Hanjuang
Kota                          : Cimahi Utara
>>> 
Contoh3: akan dibuat sebuah class LuasBalok yang memiliki atribut/properti panjang dan lebar serta aksinya yang akan dibuat adalah menghitung luasnya dan objeknya Balok, sbb:
class LuasBalok:
    def __init__(self, panjang, lebar):
        self.panjang= 10
        self.lebar= 5       
Balok= LuasBalok(10,5)
print('-- Mencari Luas Balok --')
print('Panjang Balok :',Balok.panjang)
print('Lebar Balok   :',Balok.lebar)
print('Luas Balok    :',Balok.panjang * Balok.lebar)
Hasil:
-- Mencari Luas Balok --
Panjang Balok : 10
Lebar Balok   : 5
Luas Balok    : 50
>>>
Contoh4: akan dibuat sebuah class OperasiAritmatika yang memiliki atribut/properti X (bilangan ke-1)  dan Y (bilangan ke-2) serta aksi-aksi yang akan dibuat adalah penjumlahan, pengurangan, perkalian, pembagian dan sisa pembagian serta beberapa objek, sbb:
class OperasiAritmatika:
  #-- deklarasi property:  
  def __init__(self,X,Y):
    self.X = X
    self.Y = Y

  #-- Operasi Aritmatika Dasar:
  def Bilangan1(self):
    return self.X
  def Bilangan2(self):
    return self.Y
  
  def tambah(self):
    return self.X + self.Y

  def kurang(self):
    return self.X - self.Y

  def kali(self):
    return self.X * self.Y

  def bagi(self):
    return self.X / self.Y

  def sisa(self):
    return self.X % self.Y

#-- program utama & pemanggilan
op = OperasiAritmatika(6,5)
bil1 = op.Bilangan1()
bil2 = op.Bilangan2()
opTambah = op.tambah()
opKurang = op.kurang()
opKali = op.kali()
opBagi = op.bagi()
opSisa = op.sisa()
print('-- Operasi Aritmatika Sederhana --')
print('   ..Dengan OOP Bahasa python..')
print('==================================')
print('Bilangan Kesatu(X)        = ',bil1)
print('Bilangan Kesatu(Y)        = ',bil2)
print('Penjumlahan 2 Bilangan    = ',opTambah)
print('Pengurangan 2 Bilangan    = ',opKurang)
print('Perkalian 2 Bilangan      = ',opKali)
print('Pembagian 2 Bilangan      = ',opBagi)
print('Sisa Pembagian 2 Bilangan = ',opSisa)
print('==================================')
Hasil:
-- Operasi Aritmatika Sederhana --
   ..Dengan OOP Bahasa python..
==================================
Bilangan Kesatu(X)        =  6
Bilangan Kesatu(Y)        =  5
Penjumlahan 2 Bilangan    =  11
Pengurangan 2 Bilangan    =  1
Perkalian 2 Bilangan      =  30
Pembagian 2 Bilangan      =  1.2
Sisa Pembagian 2 Bilangan =  1
==================================
>>>
Sekian tutorial hari ini mengenai Dasar-dasar Pemrograman Berorientasi Objek (PBO) dengan berfokus pada memahami Class (Kelas) dan Object (Objek) beserta penerapannya ke dalam Bahasa Python. Selanjutnya akan dibahas tentang Inheritance (Pewarisan) pada pemrograman berorientasi obyek (Object Oriented Programming) pada Bahasa Python.
Sekian, semoga bermanfaat. Salam🙏
I Ketut Darmayuda
I Ketut Darmayuda I Ketut Darmayuda

Posting Komentar untuk "Belajar Python Part#11 - Object Oriented Programming (OOP) Memahami Class pada Python"

crossorigin="anonymous">