Object Oriented Programming(OOP) merupakan paradigma pemrograman yang banyak diterapkan ketika membangun sebuah aplikasi. Seperti namanya, OOP merupakan paradigma pemrograman yang fokus atau berorientasi pada objek.
Apa itu objek yang dimaksud???
Objek merupakan sebuah entitas yang terdiri dari dua hal yaitu properties dan methods. Objek pada OOP dapat kita anggap layaknya objek yang ada di dalam dunia nyata. Masih bingung???
Mari kita lihat contohnya, Kucing merupakan sebuah objek. Dalam paradigma OOP, seekor kucing dapat dilihat sebagai objek yang memiliki properties seperti jenis kelamin, warna, ras, berat, dan nama. Kucing (baca: Objek) tersebut memiliki methods atau kemampuan seperti berjalan, makan, berlari, dan tidur.
Pemrograman berorientasi objek (OOP) memiliki empat prinsip dasar, yaitu:
- Encapsulation
- Inheritance
- Abstraction
- Polymorphism
Mari kita lihat lebih detail...
1. Encapsulation / Enkapsulasi
Encapsulation memiliki arti membungkus atau melingkupi sesuatu. Sama seperti pil yang berbentuk kapsul yang membungkus obat di dalamnya agar terhindar dari pengaruh luar, Encapsulation pada OOP juga melakukan hal yang sama.
Konsep enkapsulasi pada OOP bekerja dengan cara mengatur properties atau methods mana saja yang dapat dan tidak dapat diakses dari luar. Hal ini bertujuan untuk membentuk barrier atau pelindung terhadap informasi yang ada di dalam suatu objek.
2. Inheritance / Pewarisan
Beberapa objek di dunia nyata terkadang memiliki beberapa karakteristik yang mirip, begitu juga dalam OOP. Terkadang kita akan membuat Objek yang memiliki karakteristik yang sama.
Tentu akan sanat tidak efektif jika kita harus membuat dan menulis ulang properties atau methods yang sama berulang kali di dalam objek yang berbeda.
Dalam OOP, masalah tersebut dapat diselesaikan dengan konsep inheritance dimana kita cukup membuat properties atau methods yang memiliki karakteristik yang serupa ke dalam sebuah objek yang bersifat general dan kita cukup mewariskan properties atau methods tersebut ke dalam objek-objek yang memiliki kemiripan.
3. Abstraction / Abstraksi
Abstraction merupakan konsep OOP dimana kita dapat membuat methods tanpa harus tahu bagaimana methods tersebut bekerja. Konsep abstraksi hanya menunjukkan hal yang penting untuk diketahui dengan menyembunyikan detail internal.
Abstraksi dapat diilustrasikan sebagai sebuah blueprint atau prototype untuk membuat sebuah objek.
4. Polymorphism
Polymorphism tersusun atas dua kata; yaitu poly yang berarti banyak, dan morph yang artinya bentuk. Polimorfisme dalam OOP merupakan sebuah konsep OOP di mana class atau objek memiliki banyak “bentuk” method yang berbeda, meskipun namanya sama. Maksud dari “bentuk” adalah isinya yang berbeda, namun tipe data dan parameternya berbeda.
Beberapa Istilah Dalam OOP
Ada beberapa istilah yang secara umum ada di dalam paradigma OOP (Object Oriented Programming) yang harus kita pahami.
Istilah | Penjelasan |
---|---|
Class | Cetak biru atau prototipe dari objek dimana kita mendefinisikan atribut dari suatu objek. Atribut ini terdiri dari data properties (variabel) dan perilaku (methods). |
Class Variable | Variabel yang dishare atau dibagi oleh semua instance (turunan) dari class. Class Variabel didefinisikan di dalam class, tapi di luar metode-metode yang ada dalam class tersebut. |
Data Member | Variabel yang menyimpan data yang berhubungan dengan class dan objeknya |
Function Overloading | Fungsi yang memiliki nama yang sama di dalam class, tapi dengan jumlah dan tipe argumen yang berbeda sehingga dapat melakukan beberapa hal yang berbeda. |
Operator Overloading | Pembuatan beberapa fungsi atau kegunaan untuk suatu operator. Misalnya operator + dibuat tidak hanya untuk penjumlahan, tapi juga untuk fungsi lain. |
Instance variable | Variabel yang didefinisikan di dalam suatu metode dan hanya menjadi milik dari instance class. |
Inheritance | Pewarisan karakteristik sebuah class ke class lain yang menjadi turunannya. |
Instance | Instance adalah istilah lain dari objek suatu class. Sebuah objek yang dibuat dari prototipe class Lingkaran misalnya disebut sebagai instance dari class tersebut. |
Instantiation | Pembuatan instance/objek dari suatu class. |
Method | Fungsi yang didefinisikan di dalam suatu class. |
Object | Instansiasi atau perwujudan dari sebuah class. Bila class adalah prototipenya, dan objek adalah barang jadinya. |
Itulah beberapa konsep dasar dari Object Oriented Programming (OOP) yang perlu diketahui. Jika teman-teman masih merasa bingung dengan konsep OOP ini, nantinya kita akan melihat bagaimana implementasi konsep OOP ini dalam berbagai bahasa pemrograman yang dapat menggunakan paradigma OOP, tentunya hal tersebut akan membuat kita lebih paham dengan konsep OOP dan penerapannya.