OOP (Object Oriented Programming) pada Python

13/11/2010 15:51

 Listing program       :

class Kotak:

def input1(self):

self.p = int(input("masukan panjang\t: "))

self.l = int(input("masukan lebar\t: "))

def luas(self):

self.luas1 = self.p*self.l

xxx = Kotak()

xxx.input1()

xxx.luas()

print ("luas kotak\t:",xxx.luas1)

class Kubus(Kotak):

def input2(self):

self.t = int(input("masukan tinggi\t: "))

def volum(self):

self.volum1 = self.p*self.l*self.t

hengky = Kubus()

hengky.input1()

hengky.input2()

hengky.volum()

print ("volume kubus\t:",hengky.volum1)

Logika program       :

tulisan kali ini akan membahas OOP yang dapat digunakan pada Python dan menggunakan sifat – sifat yang dimiliki oleh bahasa pemrograman berorientasi objek seperti inheritance atau pewarisan kelas. Class pertama, yang sekaligus juga digunakan sebagai kelas induk bernama kotak, diisi oleh beberapa fungsi atau method dimana perndeklarasiannya sebagai berikut:

  • class Kotak:

kode diatas merupakan deklarasi kelas yang bernama Kotak, yang akan digunakan sebagai kelas induk pada program ini.

  • def input1(self):

self.p = int(input("masukan panjang\t: "))

self.l = int(input("masukan lebar\t: "))

setelah kelas dideklarasikan, didalamnya akan terdapat beberapa fungsi yang pertama adalah fungsi bernama input1 dengan parameter bernama self, dimana fungsi input1 ini berisi statement yang akan meminta input berupa integer sebagai panjang dan tinggi kotak.karena statement input ini berada didalam fungsi input1 yang memiliki parameter self jadi agar variable panjang dan tinggi dapat dipanggil oleh kelas yang diturunkan nanti, penulisan variable harus disertai dengan parameter fungis tersebut.hal ini digunakan untuk membuat objek.

  • def luas(self):

self.luas1 = self.p*self.l

fungsi yang kedua bernama fungsi luas yang dideklarasikan dengan menggunakan parameter self dimana fungsi ini berguna untuk menghitung luas dari kotak yang panjang dan lebarnya telah kita ketahui dengan dari hasil input pada fungsi input1. Jadi untuk mencari luas suatu bangun datar dengan panjang dan lebar yang telah diketahui digunakan rumus self.luas1=self.p*self.l.

  • xxx = Kotak()

setelah mendeklarasikan fungsi – fungsi yang ada pada kelas kotak, selanjutnya kita dapat menjalankan fungsi-fungsi yang telah dibuat, tetapi sebelumnya kita harus membuat objek dari kelas Kotak yang dalam program ini objek bernama xxx.perlu diketauhi bahwa objek xxx ini hanya  berlaku pada kelas kotak saja dan tidak berlaku untuk kelas anaknya, jadi jika terdapat kelas anak(child class) dari kelas Kotak harus dideklarasikan kembali objeknya.

  • xxx.input1()

xxx.luas()

setelah membuat objek dari kelas Kotak barulah kita bisa memanggil dan menjalankan fungsi-fungsi yang ada pada class ini dengan cara memanggil nama fungsi dengan disertai nama objek yang telah dibuat seperti kode diatas.jadi, kode diatas akan menjalankan fungsi input1, lalu setelah fugnsi input1 selesai akan dijalanakan fungsi luas.

  • print ("luas kotak\t:",xxx.luas1)

setelah fungsi luas selesai dijalankan tentu saja akan dihasilkan nilai dari variable luas1 yang ada didalam fungsi tersebut.untuk menampilkan hasil dari variable tersebut digunakan kode xxx.luas1 dimana xxx adalah nama objek yang dibuat dan luas1 adalah nama variable yang ada didalam fungsi yang telah dipanggil sebelumnya.

  • class Kubus(Kotak):

setelah kelas Kotak selesai dibuat, selanjutnya kita akan membuat kelas anak dari kelas Kotak yang telah dibuat sebelumnya, untuk membuat kelas anak, atau menurunkan kelas pada python digunakan kode seperti diatas.jadi kelas Kubus pada program ini merupakan kelas turunan dari kelas Kotak, sehingga kelas Kubus juga memiliki sifat – sifat dan dapat menjalankan fungsi-fungsi yang ada pada kelas parentnya.

  • def input2(self):

self.t = int(input("masukan tinggi\t: "))

karena kelas Kubus dapat menjalankan fungsi yang ada pada kelas Kotak, jadi untuk mencari volume kubus kita hanya perlu menambahkan input tinggi pada fungsi yang diberi nama input2.sedangkan untuk input panjang dan lebar kubus kita dapat menjalankan fungsi input1 yang ada pada kelas induk yaitu kelas Kotak.

  • def volum(self):

self.volum1 = self.p*self.l*self.t

fungsi berikutnya bernama fungsi volum yang dideklarasikan dengan menggunakan parameter self dimana fungsi ini berguna untuk menghitung volume dari kubus yang panjang dan lebarnya telah kita ketahui dengan dari hasil input pada fungsi input1. Jadi untuk mencari volume dari suatu kubus dengan panjang ,lebar, dan tinggi yang telah diketahui digunakan rumus self.volum1=self.p*self.l*self.t

  • hengky = Kubus()

setelah mendeklarasikan fungsi – fungsi yang ada pada kelas kotak, selanjutnya kita dapat menjalankan fungsi-fungsi yang telah dibuat, tetapi sebelumnya kita harus membuat objek dari kelas Kubus yang dalam program ini objek bernama hengky.

  • hengky.input1()

hengky.input2()

hengky.volum()

setelah membuat objek untuk kelas kubus kita dapat memanggil dan menjalankan semua fungsi yang terdapat pada kelas Kotak dan Kelas Kubus sesuai dengan keperluan kita.untuk mencari volum suatu kubus, kita perlu mengetahui panjang, lebar, dan tinggi dari kubus tersebut.jadi kita perlu memanggil fungi input1 pada kelas Kotak yang berisi statement untuk meminta input panjang dan lebar.setelah fungsi input1 selesai  dijalankan, akan dijalankan fungis input2 yang berisi statement untuk meminta input tinggi.setelah panjang, lebar, dan tinggi diketahui kita dapat menghitung volume kubus dengan cara menjalankan fungsi volum.dimana cara pendeklarasian dari pemanggilan fungi-fungsi diatas sama seperti pada penjelasan sebelumnya, dimana nama fungsi yang dipanggil harus disertai dengan objek yang telah dibuat.

  • print ("volume kubus\t:",hengky.volum1)

setelah fungsi volum selesai dijalankan tentu saja akan dihasilkan nilai dari variable volum1 yang ada didalam fungsi tersebut.untuk menampilkan hasil dari variable tersebut digunakan kode hengky.volum1 dimana volum adalah nama objek yang dibuat dan volum1 adalah nama variable yang ada didalam fungsi yang telah dipanggil sebelumnya.

Output Program:

Back

Search site

Copyright@outtaste.co.cc