Konsep Pemrograman Berorientasi Objek (PBO)
Pemrograman Berorientasi Objek (OOP) adalah menyelesaikan persoalan pemrograman dengan membagi persoalan ke dalam unit-unit kecil. Unit terkecil ini selanjutnya disebut dengan OBJEK. Paradigma OOP sendiri ialah cara berpikir seorang programmer dalam menyelesaikan persoalan menjadi unit-unit kecil yaitu objek. Selanjutnya persoalan diselesaikan dengan merancang interaksi antar OBJEK pada sistem. Sedangkan paradigma pemrograman adalah cara berpikir seorang developer/programmer dalam memecahkan persoalan pemrograman.
Fitur-Fitur PBO
- Enkapsulasi - suatu cara untuk menyembunyikan implementasi detail dari suatu class dalam rangka menghindari akses yang ilegal
- Inheritansi - dimana suatu entitas/obyek dapat mempunyai entitas/obyek turunan. Dengan konsep inheritance, sebuah class dapat mempunyai class turunan
- Polymorphism Polymorphism
Agar lebih memahami konsep PBO berikut adalah istilah-istilah yang terdapat dalam konsep pemrograman berorientasi objek
OBJEK & CLASS
- Objek : unit yang mewakili entitas di dunia nyata
- Kelas : penghasil objek
- ATRIBUT / DATA / PROPERTY / VARIABEL : Menyimpan informasi/karakteristik setiap objek
- METODE (METHOD)/BEHAVIOUR : Menyatakan proses-proses apa saja yang dapat dilakukan oleh sebuah objek.
Mengenal Objek dan Class
Berbagai benda di sekitar kita adalah objek nyata yang dapat dilihat, seperti : kucing, meja, rumah, orang , dll. Persoalannya, bagaimana memindahkan pemikiran objek di dunia nyata menjadi objek di dunia software atau pemrograman, khususnya Java?
Ambil contoh objek nyata yang akan dipindahkan adalah objek orang.
Atribut / Data
Setiap objek yang dinamakan ‘orang’ pasti memiliki : nama, tinggi badan, berat badan, warna rambut, warna kulit, jenis kelamin, menggunakan kacamata, dll. Ciri-ciri tersebut dapat dipindahkan menjadi variabel-variabel dari class yang sering disebut sebagai ATRIBUT atau DATA
Contoh Class
Contoh pemisalan objek orang nyata menjadi kode program dalam class Orang
Method merupakan perwujudan aksi atau tindakan dari dunia nyata di dalam pemrograman komputer.
Method dalam dunia pemrograman juga “pasti melakukan sesuatu aksi”, misalnya menampilkan String di konsol atau melakukan operasi tertentu.
Selain memiliki atribut(STATE) yang diimplementasikan sebagai data, orang/manusia juga dapat melakukan suatu aksi atau pekerjaan tertentu (BEHAVIOR).
Contoh aksi/behavior yang umum adalah menangis dan tertawa Kedua behavior tsb bisa dipindahkan ke dalam bahasa pemrograman menjadi method sbb :
Contoh Kelas Mahasiswa :
Objek vs Class
Adalah cetak biru (blueprint) atau prototipe yang mendefinisikan variabel-variabel (data) dan method-method (perilaku) umum dari sebuah objek. Membuat kelas baru sama dengan membuat tipe data baru, membuat class tidak sama dengan membuat objek, membuat objek sama dengan membuat instance dari class (perwujudan dari class), sedangkan Proses pembuatan object disebut dengan instansiasi class.
Contoh perbedaan antara class dan objek
Dari gambar di atas dapat dipahami bahwa suatu class dapat memiliki banyak objek, dan setiap objek akan mewarisi data member dan method yang sama dari class. Untuk membuat objek Orang dari class Orang, gunakan keyword new sbb :
Orang orang1 = new Orang();
Orang orang2 = new Orang();
setiap objek dapat memiliki state atau nilai data member yang berbeda (hanya nama dan tipe variabel yang sama)
Variabel Reference
Objek-objek yang dibuat perlu disimpan dalam variabel yang akan menyimpan referensi/address dari objek yang dibuat. Variabel yang tipe datanya berupa class inilah yang disebut sebagai variabel reference.