Skip to content

Instantly share code, notes, and snippets.

@Raviyanto
Last active December 14, 2015 17:39
Show Gist options
  • Save Raviyanto/5123500 to your computer and use it in GitHub Desktop.
Save Raviyanto/5123500 to your computer and use it in GitHub Desktop.

Kelas Induk dan Kelas Anak

Ini pemahaman ringkas tentang kelas induk dan kelas anak. Penjelasan yang saya sampaikan bersifat interaktif. Artinya, Anda harus mempraktikkan kode sumber yang telah saya buat. Kode sumber ini saya modifikasi dari karya Pak Fajran Iman Rusadi untuk kelas Program Python @2012 Universitas Virtual Terbuka.

Memahami Kelas

Kelas adalah bentuk awal struktur data (objek) yang mendefinisikan dan mengklasifikasikan kelompok data (variabel awal dan variabel kelas).

Membuat Kode Kelas

Mari kita buat skrip yang berisi kelas. Di sini sebagai contoh, kita namai skrip berikut: kelas_induk_anak.py.

#!/usr/bin/env python

class SegiEmpat(object): # Nama kelas SegiEmpat. Ini jadi kelas induk. Struktur data (objek) adalah kelompok data berupa variabel awal dan variabel kelas.

    def __init__(self, panjang, lebar): # Klasifikasi awal berisi variabel awal.
        self.panjang = panjang # Atribut awal panjang
        self.lebar = lebar # Atribut awal lebar

    def luas(self): # Klasifikasi kelas berisi variabel kelas
        return self.panjang * self.lebar # Fungsi luas

    def keliling(self): # Klasifikasi kelas berisi variabel kelas
        return 2 * self.panjang + 2 * self.lebar # Funsgi keliling

class Persegi(SegiEmpat): # Nama kelas Persegi. Ini jadi kelas anak.
    def __init__(self, sisi): # Klasifikasi awal berisi variabel awal dari kelas anak.
        SegiEmpat.__init__(self, sisi, sisi) # Klasifikasi awal berisi variabel awal dari kelas induk dan kelas anak.
        self.sisi = sisi # Atribut awal sisi

Menguji Kode Kelas

Simpan kelas_induk_anak.py di direktori rumah Anda. Saya menggunakan Linux Ubuntu. Saya membuat direktori rumah saya dengan nama: Belajar_Python.

raviyanto@uvt:~/Belajar_Python$ ls
kelas_induk_anak.py

Di direktori Belajar_Python kita tampilkan Python-Shell.

raviyanto@uvt:~/Belajar_Python$ python
Python 2.7.3 (default, Sep 26 2012, 21:53:58) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> 

Untuk menguji apakah kelas SegiEmpat adalah kelas induk dan kelas Persegi adalah kelas anak, kita lakukan perintah berikut:

>>> from kelas_induk_anak import SegiEmpat, Persegi
>>> kotak_segi_empat = SegiEmpat(9, 7)
>>> kotak_persegi = Persegi(6)
>>> isinstance(kotak_segi_empat, SegiEmpat)
True
>>> isinstance(kotak_segi_empat, Persegi)
False
>>> isinstance(kotak_persegi, SegiEmpat)
True
>>> isinstance(kotak_persegi, Persegi)
True
>>> 

Perhatikan isinstance(kotak_segi_empat, Persegi) -> False. Jadi, kelas SegiEmpat bukan anak dari kelas Persegi. Mari kita uji fungsi-fungsi kelas di atas.

>>> kotak_segi_empat.panjang
9
>>> kotak_segi_empat.lebar
7
>>> kotak_segi_empat.luas()
63
>>> kotak_segi_empat.keliling()
32
>>> kotak_persegi.panjang
6
>>> kotak_persegi.lebar
6
>>> kotak_persegi.luas()
36
>>> kotak_persegi.keliling()
24
>>> 

Perhatikan kelas Persegi (kelas anak) bisa menggunakan fungsi dan variabel yang ada di kelas SegiEmpat (kelas induk).

Memahami Mempraktikkan

Ingat, memahami ilmu adalah dengan mempraktikkan. Tanpa mempraktikkan ilmu, itu sama saja kita belum memahami ilmu tersebut. Selamat berpraktik.

Membaca Referensi

1.Jess Hamrick

2.Python UVT

3.Tutorials Point

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment