Pengertian Object Oriented Programming


OOP merupakan singkatan dari Object Oriented Programming, ialah suatu metode pemrograman yang berorientasi pada objek. Adapun tujuan dari OOP perancangan ialah untuk mempermudah pengembangan program dengan cara mengikuti model yang sudah ada dalam kehidupan sehari-hari. Dimana setiap bagian dari suatu permasalahan adalah sebuah objek, dan objek itu sendiri bisa saja merupakan gabungan dari beberapa objek lain yang lebih kecil. Untuk memudahkan sebagai contoh objek pesawat terbang. Sebuah pesawat terbang terbentuk dari beberapa objek penyusun lain yang lebih kecil, semisal mesin, roda, baling-baling, kursi, sayap, sistem navigasi, dan lain sebagainya. Setiap objek penyusun dari pesawat terbang memiliki fungsinya masing-masing, namun kesemua objek penyusun tersebut saling terintegrasi agar objek pesawat terbang tersebut dapat bekerja secara optimal. Konsep tersebut diterapkan juga dalam program, sebuah objek yang besar dibentuk dari beberapa objek yang lebih kecil, objek-objek tersebut saling mendukung satu sama lain.
Adapun konsep dasar Object Oriented Programming antara lain adalah sebagai berikut.

Kelas (Class)
Kelas merupakan definisi abstrak mengenai informasi dan tingkah laku dari sekumpulan data. Secara sederhana kelas dapat dimisalkan sebagai sebuah konsep rancangan awal yang digunakan untuk menciptakan objek. Kelas merupakan tipe data bagi objek yang melakukan encapsulation data dan operasi pada data dalam suatu unit tunggal. Kelas juga mendefinisikan suatu struktur yang terdiri atas data field, prosedur atau method, dan property sifat kelas tersebut.

Encapsulation
Istilah encapsulation merupakan kombinasi data dan fungsionalitas dalam sebuah unit tunggal sebagai bentuk pembungkusan untuk menyembunyikan rincian suatu informasi. Proses enkapsulation menekankan pada antarmuka dari suatu kelas, atau dengan kata lain bagaimana menggunakan objek kelas tertentu, tanpa harus mengetahui secara rinci proses kerjanya.

Inheritance
Dalam OOP memungkinkan suatu kelas untuk mewariskan sifat yang dimilikinya pada kelas lain yang menjadi turunanya. Penurunan sifat ini dapat dilakukan secara bertingkat-tingkat, sehingga semakin ke bawah kelas tersebut menjadi semakin spesifik. Pada kelas turunan bisa memiliki sifat yang khusus dari kelas yang mewarisi sifatnya. Dengan konsep pewarisan ini memungkinkan seorang programmer untuk dapat menggunakan source code yang telah ditulisnya pada suatu kelas berulang kali pada kelas-kelas turunannya tanpa harus menulis ulang keseluruhan source code tersebut.

Polymorphism
Istilah polymorphism merupakan kemampuan objek-objek yang berbeda kelas namun terkait dalam pewarisan untuk merespon secara berbeda terhadap suatu pesan yang sama. Dengan kata lain polymorphism juga dapat dikatakan sebagai kemampuan sebuah objek untuk memutuskan method mana yang akan diterapkan padanya, tergantung letak objek tersebut pada jenjang pewarisan.

Lihat juga karakteristik dari OOP. Beberapa contoh bahasa pemrograman dengan konsep OOP antara lain C++, Java, dan Python.