Dokumen tersebut membahas konsep-konsep dasar dalam pemrograman berorientasi objek (PBO) seperti objek, kelas, atribut, method, abstraksi, enkapsulasi, pewarisan, dan polimorfisme. Objek merupakan entitas yang memiliki karakteristik dan perilaku, sedangkan kelas mendefinisikan karakteristik dan perilaku objek secara umum. Prinsip-prinsip PBO memungkinkan pemodelan dan pemecahan masalah secara modular.
2. Konsep PBO
Pemrograman Berorientasi Obyek (Object
Oriented Programming – OOP) adalah
paradigma pemrograman yang menggunakan
obyek dan interaksinya untuk merancang
aplikasi dan program komputer.
3. Apa itu obyek?
Semua benda yang ada di dunia ini dapat kita
sebut sebagai obyek. Guru mata pelajaran
RPL kalian adalah suatu obyek. Gawai yang
kalian pegang juga suatu obyek. Bahkan
mata pelajaran RPL adalah juga sebuah
obyek. Setiap obyek akan mempunyai
karakteristik dan tingkah laku tertentu.
Karakteristik disebut attribute dan tingkah
laku disebut sebagai behavior atau method.
4. Dalam definisi pemrograman berorientasi obyek
dikenal adanya kelas dan obyek. Class atau
kelas mendefinisikan karakteristik abstrak dari
sesuatu termasuk atribut atau sifat-sifat dari
sesuatu dan apa yang dapat dikerjakan oleh
sesuatu (method). Sebagai contoh, mobil adalah
sebuah kelas yang memiliki attribut warna, merk,
tipe dan lain-lain. Mobil juga punya method
antara lain: maju, mundur dan berhenti (lihat
Gambar di bawah).
5.
6. Obyek adalah contoh dari kelas yang sudah
didefinisikan. Atribut dan method dari kelas secara
otomatis akan menurun pada obyek namun dengan
kekhususan. Sebagai ilustrasi kita perhatikan
gambar di bawah. Pada gambar tersebut, kita bisa
identifikasi 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.
7. Ada beberapa konsep penting yang kalian
harus pahami dalam pemrograman
berorientasi obyek yaitu, abstraksi,
enkapsulasi, inheritance dan polymorphism.
8. 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 gambar di bawah.
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 ini 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.
9.
10. 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.
11. Inheritance
Inheritance atau pewarisan adalah prinsip
pewarisan sifat dari orang tua ke anak atau
turunannya yang diterapkan pada kelas. Orang tua
memiliki atribut dan method yang lebih umum
dibandingkan dengan anak atau turunannya. Pada
Gambar 8.4. 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.
12.
13. 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.