Lompat ke konten Lompat ke sidebar Lompat ke footer

Belajar Python Part#12 - Object Oriented Programming (OOP) Menggunakan Inheritance dan Encapsulation pada Python

Tutorial Hari Ini
Memahami Inheritance pada Python
Memahami  Encapsulation pada Python

Memahami Inheritance pada Python
Apa itu Inheritance ? Pewarisan (Inheritance), merupakan bentuk bahasa yang memungkinkan bagi kelas menjadi relasi kelas lainnya, sehingga sebuah subkelas dapat mewarisi sifat dari superkelasnya. Pewarisan pada Bahasa Python dapat memungkinkan untuk mendefinisikan kelas yang mewarisi semua methods dan property dari kelas lain. Dapat didefinisikan sebagai:
Kelas induk (Parent class) adalah kelas yang diwarisi, juga disebut kelas dasar, sedangkan Kelas anak (Child class) adalah kelas yang mewarisi dari kelas lain, juga disebut kelas turunan.

Cara Membuat Kelas Induk (Parent class)
Untuk membuat tipe Kelas(Class) apa pun dapat dijadikan sebagai  Kelas Induk (Parent class), jadi aturan penulisannya sama dengan membuat kelas yang lain. Sebagai contoh:
Buatlah class dengan nama Biodata, yang memiliki properti namaLengkap, alamatSekarang, dan kota yang memiliki method CetakNama, sbb:
class Biodata:
  def __init__(self, namaLengkap, alamatSekarang, kota):
    self.namaLengkap = namaLengkap
    self.alamatSekarang = alamatSekarang
    self.kota = kota

  def CetakBiodata(self):
    print(self.namaLengkap, self.alamatSekarang, self.kota)

class Darmayuda(Biodata):
  pass

data = Darmayuda('I Ketut Darmayuda, ', 'Lembah Permai Hanjuang, ', 'Cimahi Utara')
data.CetakBiodata()
Hasil: I Ketut Darmayuda,  Lembah Permai Hanjuang,  Cimahi Utara

Penjelasan:
Membuat class dengan nama Biodata yang akan mewarisi secara fungsionalitas ke class lain, Kelas induk (Parent class) dengan nama Biodata akan mengirim parameter saat membuat Kelas anak (Child class) dengan nama Darmayuda yang mewarisi secara fungsionalitas dari class Biodata, sedangkan kata kunci pass berfungsi untuk melewatkan atau tidak menambahkan property atau method dari kelas lain.

Contoh lain dengan tidak menggunakan kata kunci pass, sbb:
class Biodata:
  def __init__(self, namaLengkap, alamatSekarang, kota):
    self.namaLengkap = namaLengkap
    self.alamatSekarang = alamatSekarang
    self.kota = kota

  def CetakBiodata(self):
    print(self.namaLengkap, self.alamatSekarang, self.kota)

class Mahasiswa(Biodata):
  def __init__(self,namaLengkap,alamatSekarang,kota):
    Biodata.__init__(self,namaLengkap, alamatSekarang, kota)

Data = Mahasiswa("Diany L., ", "LPH Anggrek, ", "Bandung")
Data.CetakBiodata()
Hasil:
-- Bio Data Mahasiswa --
Diany L.,  LPH Anggrek, Bandung

Memahami  Encapsulation pada Python
Pembungkusan atau Pengkapsulan (Encapsulation), merupakan bentuk bahasa dari pemrograman berorientasi objek yang mana memungkinkan pada program untuk membatasi akses ke class-class program yang lain, sebagai:
Contoh kesatu:
#-- Nama file: Ayahbunda.py --
class Ayahbunda:
  def __init__(self, anak_ke1, anak_ke2, anak_ke3):
    self.anak_ke1 = anak_ke1
    self.anak_ke2 = anak_ke2
    self.anak_ke3 = anak_ke3

  def BioData(self):
    print(self.anak_ke1, self.anak_ke2, self.anak_ke3)

class Suryati(Ayahbunda): 
  pass                         #fungsi pass untuk melewati bila tidak
                               #menggunakan parameter
class AgusWidana(Ayahbunda):
  pass

Data1 = Suryati("Gede Watumbara ,", "Made Wiranata, ","Komang Setiawirawan")
Data2 = AgusWidana("Windy, ","Ninda, ","Anindia")
print('-- Putra & Putri dari Ibu Suryati --')
Data1.BioData()
print('')
print('-- Putra & Putri dari Bapak Agus Widana --')
Data2.BioData()
Hasil:
-- Putra dari Ibu Suryati --
Gede Watumbara , Made Wiranata,  Komang Setiawirawan

-- Putra dari Bapak Agus Widana --
Windy,  Ninda,  Anindia
Contoh kedua: dengan parameter
#-- Nama file: Akakbunda.py --
class AnakBunda:
  def __init__(self, anak_ke1, anak_ke2, anak_ke3):
    self.anak_ke1 = anak_ke1
    self.anak_ke2 = anak_ke2
    self.anak_ke3 = anak_ke3

  def BioData(self):
    print(self.anak_ke1, self.anak_ke2, self.anak_ke3)

class Suryati(AnakBunda): 
  def __init__(self,anak_ke1, anak_ke2, anak_ke3):
    AnakBunda.__init__(self,anak_ke1,anak_ke2,anak_ke3)
               
class AgusWidana(AnakBunda):
  def __init__(self,anak_ke1, anak_ke2, anak_ke3):
    AnakBunda.__init__(self,anak_ke1,anak_ke2,anak_ke3)

Data1 = Suryati("Gede Watumbara ,", "Made Wiranata, ","Komang Setiawirawan")
Data2 = AgusWidana("Windy, ","Ninda, ","Anindia")
print('-- Putra & Putri dari Ibu Suryati --')
Data1.BioData()
print('')
print('-- Putra & Putri dari Bapak Agus Widana --')
Data2.BioData()
Hasil:
-- Putra dari Ibu Suryati --
Gede Watumbara , Made Wiranata,  Komang Setiawirawan

-- Putra dari Bapak Agus Widana --
Windy,  Ninda,  Anindia

Penutup
Sekian tutorial tentang dasar Pemrograman Python dan dasar Pemrograman Berorientasi Objek (PBO) dengan pokok bahasan memahami Pewarisan (Inheritance) dan Pengkapsulan (Encapsulation) dengan Bahasa Python. Sampai berjumpa kembali pada pembahasan pemrograman Bahasa Python yang lain, seperti ke Data Science dengan Python Pandas, Micro Web Framework  denganFlask serta yang lainnya.
Sekian, semoga bermanfaat. Salam🙏
I Ketut Darmayuda
I Ketut Darmayuda I Ketut Darmayuda

Posting Komentar untuk "Belajar Python Part#12 - Object Oriented Programming (OOP) Menggunakan Inheritance dan Encapsulation pada Python"

crossorigin="anonymous">