Cara menggunakan oop python tutorial

Pada program yang selama ini kita buat, kita mendesain program kita berdasarkan fungsi [blok statemen yang memanipulasi data]. Hal ini disebut pemrograman procedure-oriented.

Ada cara lain untuk mengorganisasi program dengan menggabungkan data dan operasi yang dibungkus dalam suatu obyek yaitu paradigma pemrograman berorientasi obyek.

Obyek memiliki field berupa variabel obyek dan method berupa fungsi obyek. Keduanya disebut atribut obyek. Class juga dapat memiliki field class [variabel class] dan method class. Class didefinisikan dengan keyword class.

this -> self¶

Dalam deklarasi method pada class terdapat perbedaan yaitu ada parameter pertama yang harus ditambahkan pada parameter fungsi. Parameter ini diberi nama self, nilai dari parameter ini menunjuk ke obyek / instance itu sendiri.

Catatan

programmer Java, C# dan C++ terbiasa dengan keyword this. Bedanya untuk Python variabel ini dikirim ke method secara eksplisit.

Nilai self ini disediakan oleh Python. Contoh, ada class ClassSaya yang mempunyai instance obyek obyeksaya. Ketika method dipanggil pada obyek obyeksaya.method[arg1, arg2], secara otomatis diubah oleh Python menjadi ClassSaya.method[obyeksaya, arg1, arg2].

Class¶

Berikut contoh class yang sederhana.

# lat31.py

class Orang:
    pass

org = Orang[]
print[org]

jika dijalankan akan mengeluarkan

Menunjukkan variabel org adalah instance class Orang pada alamat memory 0x7f67decc9bd8.

Method Obyek¶

Berikut contoh deklarasi method pada class.

# lat32.py

class Orang:
    def katakanHalo[self]:
        print 'Halo, apa kabar?'

org = Orang[]
org.katakanHalo[]

Catatan

Perhatikan walaupun method katakanHalo tidak membaca parameter, masih ada self pada deklarasi method.

Method init¶

Ada nama-nama method spesial pada class Python. __init__ adalah salah satunya, method ini akan dijalankan ketika obyek dibuat. Method ini berguna untuk melakukan inisialisasi. Perhatikan garis bawah dua kali di awal dan di akhir method [double underscore, dunder].

# lat33.py

class Orang:
    def __init__[self, nama]:
        self.nama = nama

    def katakanHalo[self]:
        print 'Halo, nama saya %s, apa kabar?' % self.nama

org = Orang['budi']
org.katakanHalo[]

Variabel Class dan Variabel Obyek [Instance]¶

Variabel Class yaitu variabel yang dimiliki oleh class, sedangkan variabel obyek adalah variabel yang yang dimiliki oleh tiap-tiap obyek instance dari class.

# lat34.py

class Orang:
    # variabel class, untuk menghitung jumlah orang
    total = 0
    def __init__[self, nama]:
        # inisiasi data, data yang dibuat pada self merupakan variabel obyek
        self.nama = nama

        # ketika ada orang yang dibuat, tambahkan total orang
        Orang.total += 1

    def __del__[self]:
        # kurangi total orang jika obyek dihapus
        Orang.total -= 1

    def katakanHalo[self]:
        print 'Halo, nama saya %s, apa kabar?' % self.nama

    def total_populasi[cls]:
        print 'Total Orang %s' % cls.total

    # method class
    total_populasi = classmethod[total_populasi]

org = Orang['budi']
org.katakanHalo[]
Orang.total_populasi[]

org2 = Orang['andi']
org2.katakanHalo[]
Orang.total_populasi[]

print 'obyek dihapus'
del org
del org2

Orang.total_populasi[]

Inheritance¶

Salah satu keuntungan dari OOP adalan penggunaan ulang kode dan salah satu caranya yaitu menggunakan mekanisme inheritance / turunan.

# lat35.py

# base class / superclass
class AnggotaSekolah:
    "representasi anggota sekolah"
    def __init__[self, nama, umur]:
        self.nama = nama
        self.umur = umur

        print 'membuat anggota sekolah baru: %s' % self.nama

    def info[self]:
        "cetak info"
        print 'Nama: %s, Umur: %s' % [self.nama, self.umur]

# subclass
class Guru[AnggotaSekolah]:
    "representasi guru"
    def __init__[self, nama, umur, gaji]:
        AnggotaSekolah.__init__[self, nama, umur]
        self.gaji = gaji

        print 'membuat guru: %s' % self.nama

    def info[self]:
        AnggotaSekolah.info[self]
        print 'Gaji: %s' % self.gaji

# subclass
class Siswa[AnggotaSekolah]:
    "representasi siswa"
    def __init__[self, nama, umur, nilai]:
        AnggotaSekolah.__init__[self, nama, umur]
        self.nilai = nilai

        print 'membuat siswa: %s' % self.nama

    def info[self]:
        AnggotaSekolah.info[self]
        print 'Nilai: %s' % self.nilai


guru = Guru['Budi', 40, 3000000]
siswa = Siswa['Andi', 25, 75]

# cetak baris kosong
print

anggota = [guru, siswa]

for orang in anggota:
    orang.info[]

Apa itu OOP pada python?

Object Oriented Programming [OOP] adalah suatu paradigma pemrograman yang berorientasi pada konsep class [kelas] dan object [objek]. Konsep ini sering kali digunakan dalam menyusun aplikasi menjadi kode yang sederhana dan dapat digunakan kembali [reuseable].

Apakah bahasa pemrograman python sudah mendukung OOP?

Phyton merupakan salah satu bahasa pemrograman yang mendukung fitur OOP [Object Oriented Programming].

Apa saja konsep OOP?

4 Prinsip OOP.
Encapsulation. Prinsip enkapsulasi atau kapsulisasi dalam OOP dilakukan ketika setiap objek dalam pemrograman dapat mempertahankan keadaan privat di dalam sebuah kelas-kelas cetak biru. ... .
2. Abstraction. Abstraction atau abstraksi merupakan perpanjangan tangan enkapsulasi. ... .
3. Inheritance. ... .
Polymorphism..

Apa itu atribut di python?

Atribut adalah data anggota [variabel kelas dan variabel contoh] dan metode, diakses melalui notasi titik. Sebuah variabel yang dibagi oleh semua contoh kelas. Variabel kelas didefinisikan dalam kelas tapi di luar metode kelas manapun.

Bài mới nhất

Chủ Đề