Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.
Class adalah suatu “blueprint” atau “cetakan” untuk menciptakan suatu instant dari object. class juga merupakan grup suatu object dengan kemiripan attributes/properties, behaviour dan relasi ke object lain.
Sesuai dengan keterangan diatas dapat diartikan bahwa class itu bahan dasar sebelum kita membuat sesuatu, atau juga merupakan sebuah wadah dari apa yang kita buat. Misalkan kita ingin membuat tempe, tentu saja harus ada bahan dasarnya yaitu kedelai, atau ketika kita mempunyai mangga,apel,dan durian maka ketiga benda tadi masuk dalam kumpulan yang bernama buah. Dari kedua contoh tersebut kita bisa menentukan mana “class” dan mana “object”, pada Tempe merupakan object yang dibuat dari class Kedelai.Dan mangga,apel,durian merupakan kumpulan object dari class Buah.
Method adalah suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Method didefinisikan pada class akan tetapi dipanggil melalui object.
Kalau kita kembalikan lagi ke contoh – contoh pada class, kalau Tempe itu object, Kedelai itu class, maka method adalah ciri – ciri dari Tempe seperti tempe itu bewarna kuning dan bertekstur kasar. Dan pada class Buah, methodnya bisa berupa rasa dari salah satu object mangga,apel,atau durian, seperti apel rasanya manis atau mangga rasanya asam.
Event adalah sebuah function yang dipanggil untuk merespon kejadian/event tertentu, seperti klik mouse, penekanan tombol keyboard, perubahan nilai field pada database, dan lain-lain. Umumnya event mengirimkan dua parameter, yaitu object yang mengindikasikan sender/pengirim event, dan object yang menyediakan informasi pada event tersebut.
Property dapat disebut juga variable dari Class sedangkan Method biasa dalam bentuk fungsi. Pada Class member, terdapat Property $v_nama. Lalu fungsi get_nama(), set_nama() merupakan method dari Class Member. Baik Property maupun Method pada suatu Class bersifat opsional jumlahnya, disesuaikan dengan kebutuhan
Polymorphism merupakan kemampuan suatu method untuk bekerja dengan lebih dari satu tipe argumen. Pada bahasa lain (khususnya C++), konsep ini sering disebut dengan method overloading. Pada dasarnya, Python tidak menangani hal ini secara khusus. Hal ini disebabkan karena Python merupakan suatu bahasa pemrograman yang bersifat dynamic typing yaitu tidak memerlukan deklarasi tipe.
Polymorphism adalah suatu object dapat memiliki berbagai bentuk, sebagai object dari class sendiri atau object dari superclassnya
Overloading : Penggunaan satu nama untuk beberapa method yang berbeda (beda parameter)
Overriding : terjadi ketika deklarasi method subclass dengan nama dan parameter yang sama dengan method dari superclassnya.
Polymorphism berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam PBO, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah objek agar melakukan aksi atau tindakan yang mungkin secara prinsip sama namun secara proses berbeda.
Keuntungan Pemograman dengan menggunakan Polymorphism adalah :
• Kita dapat menggunakan kelas-kelas yang kita buat (sebagai super kelas) dan membuat kelas kelas baru berdasar superkelas tersebut dengan karakteristik yang lebih khusus dari behaviour umum yang dimiliki superkelas.
• kita dapat membuat super kelas yang hanya mendefinisikan behaviuor namun tidak memberikan implementasidari metode-metode yang ada.Hal ini berguna jika kita ingin membuat semacam template kelas,kelas semacam ini disebut kelas abstrak karena behaviournya masih abstrak dan belum diimplementasikan.subkelas-subkelas dari kelas semacam ini yang disebut kelas konkret,mengimplementasikan behaviuor abstrak tersebut sesuai dengan kebutuhan masing-masing.
• Menghindari duplikasi object,kita dapat menciptakan class baru dari class yang sudah ada,sehingga tidak perlu menuliskan code dari nol ataupun mengulangnya, namun tetap bisa menambahkan attribute dan atau method unik dari class itu sendiri. Dalam konsep yang lebih umum sering kali polymorphism disebut dalam istilah satu interface banyak aksi.
Polymorphism dapat berarti banyak bentuk, maksudnya yaitu kita dapat menimpa (override), suatu method, yang berasal dari parent class (super class) dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Inheritance adalah hubungan antar class dimana setiap class dapat berbagi method yang ditetapkan ke satu class (single inheritance) atau ke banyak class lain (multiple inheritance). Class yang mewariskan class lain disebut superclass. Dan yang diwarisi oleh class lain atau banyak class disebut subclass.
Bahasa pemrograman yang mendukung OOP antara lain:
- Visual Foxpro
- Java
- C++
- Pascal (bahasa pemrograman)
- SIMULA
- Smalltalk
- Ruby
- Python
- PHP
- C#
- Delphi
- Eiffel
- Perl
- Adobe Flash AS 3.0
0 komentar:
Posting Komentar