OOP

Konsep Object Oriented Programming(OOP)

Posted on Updated on


Di posting kali ini,, saya akan mencoba menjelaskan tentang konsep pemrograman berbasis objek atau bahasa ngetrend Object Oriented Programming.(baru dapet ilmu dari dosen)hehee..nah, kenapa konsep OOP ini saya masukan di kategori pemrograman java, karena saya menggunakan java untuk mempelajari pemrograman berbasis objek.di kampus saya juga menggunakan java sebagai bahasa pemrograman penunjang konsep OOP ini. Java dipilih karena kita akan lebih mudah mempelajari konsep OOP dengan Java, kenapa? tentu saja karena hampir semua yang ada didalam java adalah objek. jadi, buat anda yang biasa menggunakan java, disadari atau tidak a nda juga telah mengimplementasikan pemrograman objek dalam program anda. Ga percaya?? contohnya adalah <System.out.println>, <JOptionPane.showMessageDialog>, <System.in> itu semua sebenarnya adalah objek yang telah dibuat dalam library java.



Web development jakarta

Nah, pemrograman pada dasarnya terbagi menjadi 3, yang pertama pemrograman logika yaitu pemrograman yang beroientasi kepada logika dalam pembuatan programnya, contohnya adalah PROLOG, pemrograman ini banyak digunakan pada program-program beorientasi AI(Artificial Intelligence).Yang kedua adalah pemrograman prosedural, pemrograman ini merupakan pemrograman yang berorientasi kerja, atau proses, misalnya mengolah data, mencetak dokumen, dll contohnya adalah pascal. sedangkan pemrograman objek tentu saja pemrograman yang berorientasi benda atau objek itu sendiri, contohnya adalah, mahasiswa, karyawan, dosen, kemudian yang melakukan kerja adalah objek-objek tersebut misalnya mahasiswa dapat belajar, karyawan bekeraja, dll.dalam pemrograman prosedural, pemrograman dibagi menjadi beberapa bagian berupa perintah-perintah kecil dan sederhana, sedangkan pada pemrograman berorientasi objek, konsep yang digunakan adalah kita memodelkan sistem yang akan kita buat menjadi objek – objek yang memiliki sifat – sifat (behavior yang berbeda), jadi dalam pemrograman objek kemampuan kita menganalisa masalah dan memetakannya menjadi sebuah objek sangatlah penting.dalam pemrograman berbasis objek, masing – masing objek yang telah kita definisikan juga memiliki hubungan dengan objek yang lain,contohnya adalah hubungan antara objek dosen dan mahasiswa, dosen mengajar mahasiswa, mahasiswa dapat memilih atau mengganti dosen utuk kuliahnya, dll.

Dalam OOP, Setiap objek meiliki karakteristik masing-masing yang bisa dimiliki oleh objek lain, atau juga hanya dimiliki oleh objek tersebut (tergantung pemodelan dari programmer), setiap objek memiliki dua karakteristik yaitu keadaan(state) dan tingkah laku(behavior). keadaan atau state digunakan untuk menyimpan berbagai informasi dari objek itu sendiri. dalam java state pada suatu objek sering disebut juga dengan Attribute atau field. misalnya adalah ketika kita membuat objek mahasiswa, state yang dimiliki oleh objek tersebut adalah nama, npm, nilai, dll.  sedangkan tingkah laku atau behavior digunakan untuk menentukan kerja apa saja yang dapat dilakukan oleh objek tersebut,  dalam Java behavior pada suatu objek sering disebut juga dengan method.contohnya ketikan kita membuat objek mahasiswa, behavior yang dapat kita buat adalah makan, tidur, bolos. nah,, metode yang kita buat dalam suatu objek tentu saja akan mempengaruhi objek itu sendiri atau juga dapat mempengaruhi objek yang lainnya, misalnya, ketika method bolos pada mahasiswa dijalankan, hal ini akan berpengaruh pada state nilai mahasiswa, misalnya nilai mahasiswa jadi kecil atau tidak lulus, dan dapat juga berpengaruh pada objek lainnya, misalnya ‘mahasiswa bolos’ dapat membuat state objek dosen ‘tidak mengajar’, dll.nah,, hal – hal seperti inilah yang membuat kita harus benar – benar membuat analisa yang tepat mengenai hubungan antar objek yang akan kita buat.

Nah, demikian sedikit penjelasan tentang konsep dasar OOP,dan karakteristik sebuah objek. untuk penjelasan yang lebih jelasnya akan saya buat di posting selanjutnya.semoga bermanfaat.oyahh,, posting saya kali ini mengambil referensi dari buku “Mastering Java” tahun 2002 karangan Rachmad Hakim S. dan Ir.Sutarto,M.Si dan dari penjelasan dosen saya di kampus Ibu Aviarini Indrati ^_^

Iklan

OOP (Object Oriented Programming) pada Python

Posted on Updated on


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:



Web development jakarta