Pengertian Object Oriented Programming (OOP)
Pemrograman Berorientasi Obyek ( Object Oriented Programming – OOP ) adalah programming paradigm yang menggunakan obyek dan interaksinya untuk merancang aplikasi dan program komputer. bahasa pemrograman yang mendukung konsep OOP yaitu : (Visual Basic.Net, Visual C#, dan Visual J), Borland Delphi, Java, Phyton, PHP versi 5 ke atas, C++ dan banyak lainnya. Setiap obyek akan mempunyai karakteristik dan tingkah laku tertentu. Karakteristik disebut attribute dan tingkah laku disebut sebagai behavior atau method . Sebagai contoh, mobil adalah sebuah kelas yang memiliki attribut warna, merek, tipe dan lain-lain. Mobil juga punya method antara lain, maju, mundur dan berhenti.
Pada
gambar di atas kita bisa mengidentifikasi kelasnya adalah mobil dengan atribut
dan methodnya. Obyeknya adalah sebuah mobil sedan dengan merk Toyota, dan warnanya
adalah merah. Sedan itu juga memiliki method maju, mundur dan berhenti. Pada
kasus ini mobil sedan disebut sebagai instance atau turunan dari kelas mobil.
Ada beberapa konsep penting yang
kalian harus pahami dalam pemrograman
berorientasi yaitu, abstraksi, enkapsulasi, inheritance dan polymorphism.
A. Abstraksi
Abstraction
atau disebut juga composition merupakan prinsip penyederhanaan
dari sesuatu yang kompleks dengan cara memodelkan kelas sesuai
dengan masalahnya.
Untuk
lebih memperjelas pengertian coba perhatikan
di atas Pada gambar tersebut terlihat sebuah mobil jika dipecah-pecah
bagian-bagiannya kita akan dapatkan seperti ban, mesin, rangka mobil,
kaca, dan lain-lain dan hal in berlaku sebaliknya. Jika kita gabungkan
bagian-bagian
tersebut maka kita akan mendapatkan sebuah kelas mobil. Pada pemrograman
berorientasi obyek biasanya kalau kita menjumpai beberapa kelas
atau
obyek yang kalau diidentifikasi memiliki banyak kesamaan atribut dan method
maka kita akan menggabungkan kelas-kelas tersebut menjadi satu super class.
B. Enkapsulasi
Prinsip
encapsulation adalah prinsip penyembunyian detil dari sebuah kelas
terhadap obyek yang berinteraksi terhadapnya. Sebagai contoh ketika kita menjalankan
mobil, sebenarnya kita sedang berinteraksi dan kita meminta kepada
mobil untuk menjalankan methodnya seperti maju, mundur atau berhenti.
Kita berinteraksi hanya dengan beberapa bagian dari mobil (interface) seperti
persneling, setir, pijakan gas, pijakan rem dan bagian lain. Tapi detil proses
yang terjadi didalam mobil bagaimana bisa maju, mundur atau berhenti
kita
tidak perlu tahu.
C. Inheritance
Inheritance
atau pewarisan adalah prinsip pewarisan sifat dari orang tua ke anak
atau turunannya yang diterapkan pada kelas.
Pada
Gambar di atas kita bisa tahu bahwa mobil memiliki atribut dan method yang lebih
umum dibandingkan dengan sedan , truk atau bus. Mobil sebagai kelas yang
mewarisi disebut sebagai super class, sedangkan sedan, truk dan bus sebagai
kelas yang diwarisi disebut sub class.
D. Polymorphism
Polymorphism
mungkin merupakan konsep pemrograman beroerientasi obyek yang
paling sulit dimengerti. Arti dari polymorphism adalah kemampuan dari
suatu obyek untuk mempunyai lebih dari satu bentuk. Atau dalam pengertian
lain adalah kita dapat menerapkan sesuatu hal yang berbeda melalui suatu
cara yang sama. Sebagai contoh kalau ada empat ekor hewan berbeda yaitu
burung, ular, katak, dan singa kemudian kita minta untuk bergerak, maka burung
akan terbang, ular akan melata, katak melompat, singa mungkin akan berlari.
Jadi suatu method yang sama mungkin bisa diterapkan secara lain jika obyek yang menerapkan
adalah berlainan.