| M - U - F - C FOR THE LOVE NOT THE MONEY | , | RED ARMY - LOYAL - LOUD - PROUD | , | WE LOVE UNITED |

Tuesday, June 10, 2014

KONSEP OOP PADA PYTHON


Konsep OOP Pada Python




Di listing tersebut, kita membuat sebuah class destruktor. Disini method bernama destruktor. Method ini biasanya digunakan untuk menyediakan proses khusus sebelum objek dihancurkan atau dealokasi. Dan statement def__init__(self): maksudnya adalah def merupakan methodnya kemudian init untuk menginisialisasikan variabel. Kemudian perintah print “inisialisasi” digunakan untuk mencetak tulisan inisialisasi yang merupakan hasilnya. Dan kita ketikkan lagi statement def__del__(self): lalu dibawahnya kita ketik perintah print “objek telah dihapus” yang maksudnya adalah untuk mencetak hasil yang berupa tulisan objek telah dihapus.



Dari listing program tersebut, kita membuat sebuah class yang bernama Ayah, kita ketik statement class Ayah : .  kemudian ada statement def methodAyah(self): yang digunakan untuk fungsi methodAyah(self) :  lalu kita ketik di bawahnya perintah print “Ini adalah method Ayah” ini digunakan untuk mencetak tulisan yang berisi Ini adalah Method Ayah. Dan perintah tersebut digunakan sebagai hasilnya. Selanjutnya kita buat class lagi yang bernama class Anak(Ayah): yang merupakan class anak yang bisa menginput dari induknya. Statement def methodAnak(self): digunakan untuk menginisialisasi dari methodAnak tersebut. Dan dilanjutkan dengan mengetik perintah print “Ini adalah Method Anak” yang merupakan hasil atau outputnya . lalu selanjutnya bisa kita buat komentar yang berisi deklarasi objek kelas ayah. Dimana p sama dengan Ayah() dan p.methodAyah(). Dilanjutkan dengan membuat komentar yang isinya deklarasi objek kelas Anak. Yang dimana kita ketikkan c sama dengan Anak(), lalu c.methodAnak(), dan c.methodAyah().


Method konstruktor merupakan sebuah method yang akan otomatis dipanggil ketika objek di instantiasi, dan umumnya digunakan untuk melakukan inisialisasi terhadap suatu variable atau method. Selanjutnya kita buat class untuk method konstruktor. Kita ketikkan saja perintah class konstruktor :   kemudian, ketik statement def__init__(self): yang maksudnya adalah untuk menginisialisasikan methodnya. Selanjutnya ketik perintah print “kalimat ini akan langsung dicetak ketika objek dibuat” yang merupakan hasil atau output. Objek sama dengan konstruktor, bisa kita ketik dengan statement objek = konstruktor().



Di listing tersebut dibuat class dari induk, yang bisa kita buat dengan mengetik statement class induk:  lalu ketik def cetak(self): untuk mencetak variable. Kemudian kita buat output atau hasilnya dengan membuat statement “Hi...saya method override di kelas Induk”. Dan kita buat juga class dari  turunan yang bisa juga input class induk tersebut. Kita buat statement class turunan(induk):  perintah def cetak(self): digunakan untuk mencetak variable.  Dan kita buat output atau hasil dari statement tersebut dengan mengetik perintah print “Hi...saya method override di kelas anak”.  Selanjutnya kita buat komentar deklarasi objek kelas induk. Dengan perintah objInduk sama dengan induk() yang maksudnya objek dari induk sama dengan induk tersebut. Kemudian statement objInduk.cetak()  digunakan untuk mencetak objek induk tersebut.  Kita buat lagi komentar deklarasi objek kelas anak. Dengan perintah objAnak sama dengan turunan ,kita ketik objAnak = turunan() yang merupakan objek untuk anak tersebut sama dengan turunan. Dan ada statement turunan.cetak(objAnak) yang merupakan turunan yang dicetak beserta objek dari class anak tersebut.






Di listing program tersebut, kita membuat class yang bernama pegawai. Lalu kita deklarasikan. Def__init__(self,nama,gaji = 0) digunakan untuk menginisialisasi nama dan gaji sama dengan 0. Self.nama sama dengan nama, self.gaji sama dengan gaji. Kemudian ada statement def tunjangan(self,persen): untuk menginisialisasi dari tunjangan dalam bentuk persen. Self.gaji sama dengan self.gaji ditambah self.gaji dikali persen. Def kerja(self): ini merupakan statement untuk mendefinisikan kerja. Dan kita cetak sebagai hasil atau output dengan mengetikkan statement print(self.nama, “Pekerjaanya”) . dilanjutkan dengan perintah def__repr__(self): dan statement return “<Pegawai: nama = %s, gaji =  %s>” % (self.nama, self.gaji).  maksudnya untuk mengembalikan ,nama yang berupa float dan gaji juga berupa float.  Dan kita buat class koki(pegawai).  Dibawahnya kita ketikkan statement def__init__(self,nama) : yang digunakan untuk menginisialisasi dari nama tersebut. Dan ada statement pegawai.__init__(self,nama,100000) maksudnya adalah untuk menginisialisasi nama dan gaji yang berjumlah 100000. Dan statement def kerja(self); adalah untuk menginisialisasi pekerjaan dari si pegawai atau koki tersebut. Kita ketikkan juga perintah print(self,nama, “Membuat makanan”)  yang digunakan untuk mencetak hasil dari nama dan pekerjaan si koki.  Kemudian ada class pelayan(pegawai) maksudnya membuat class dari pelayan yang termasuk pegawai.  Kita ketik perintah def__init__(self,nama):  untuk mendeklarasikan nama si pegawai itu. Pegawai.__init__(self,nama, 50000) digunakan untuk menginisialisasikan nama pegawai pelayan tersebut dan gajinya sebesar 50000. Selanjutnya kita inisialisasikan kerjanya pelayan tersebut. Ketik perintah print(self.nama, “Melayani Customer”) yang maksudnya adalah melayani customer merupakan pekerjaan si pelayan tersebut. Dilanjutkan dengan membuat class dari PizzaRobot(koki) . kita buat statement def__init__(self,nama) untuk inisialisasikan namanya. Def kerja(self) dan print(self.nama, “Membuat Pizza”) yang merupakan pekerjaan si PizzaRobot ,yaitu membuat pizza.
Dan selanjutnya kita membuat komentar program utama.  Ada statement if__name__ ==”__main__”: maksudnya jika ada nama, maka kita berikan dia nama pekerjaanya untuk masing-masing pegawai tersebut. Agus = Pizzarobot(“Agus”) kemudian print(agus) untuk output. Lalu buat tunjangan agus dan kita printlalu ada outputnya.  Perulangan for kelas in Pegawai,koki,pelayan,pizzarobot untuk input semua pegawai. Objek sama dengan kelas dan objek.kerja().

Berikut outputnya :



No comments: