OOP atau Object Oriented Programming adalah suatu metode pemrograman yang berorientasi pada objek yang memiliki data atau atribut serta method didalamnya. Tujuan dari menggunakan OOP adalah untuk mempermudah pekerjaan programmer ketika melakukan pengembangan program dengan mengikuti model yang telah ada di kehidupan sehari-hari, pemrograman menjadi lebih fleksibel, dan dapat digunakan luas dalam skala besar. Dalam sebuah program, sebuah objek yang besar dibentuk dari gabungan beberapa objek yang lebih kecil, dimana objek tersebut saling berkomunikasi dan bertukar infomasi dengan objek yang lain untuk mencapai hasil akhir.
OOPs (Object Oriented Programming System)
Dalam object oriented programming, terdapat beberapa konsep yang menjadi dasar penggunaan OOP. Konsep tersebut adalah :
1. OBJECT
Object adalah instance dari class. Jika class secara umum mepresentasikan (template) sebuah object, sebuah instance adalah representasi nyata dari class itu sendiri. Contoh : dari class Mahasiswa kita dapat membuat object nama dan npm.
2. CLASS
Class merupakan suatu cetakan untuk menciptakan suatu instant dari Class berfungsi untuk menampung isi dari program yang akan di jalankan, di dalamnya berisi atribut / type data dan method untuk menjalankan suatu program. Contoh: class Mahasiswa, class Dosen.
3. INHERITANCE
Konsep inheritance adalah konsep untuk membentuk class baru yang memiliki fungsi turunan atau mirip dengan class yang ada sebelumnya. Konsep inheritance merupakan konsep dengan system hierarki atau bertingkat, dimana semakin ke bawah kelas maka menjadi semakin spesifik.
4. POLYMORPHISM
Konsep polymorphism adalah konsep dimana suatu objek yang berbeda dapat diakses melalui interface yang sama. Dalam konsep polymorphism menggunakan dua method yaitu method overriding dan method overloading.
5. ABSTRACTION
Konsep abstraction merupakan konsep dimana memungkinkan untuk memerintahkan suatu fungsi, tanpa harus mengetahui bagaimana fungsi tersebut bekerja. Konsep abstraction hanya menunjukkan hal penting kepada pengguna dan menyembunyikan detail internal. Abstraction dapat diilustrasikan sebagai suatu cetak biru (blueprint) atau prototype untuk menciptakan sebuah objek.
6. ENCAPSULATION
Dalam Pemrograman Berorientasi Objek, enkapsulasi adalah suatu cara untuk menyembunyikan informasi dari suatu class. Dua hal yang mendasar dalam enkapsulasi yakni (Sasongko, 2008):
- Information hidding : Kita dapat menyembunyikan informasi dari suatu class sehingga anggota class tersebut tidak dapat diakses dari luar, caranya adalah hanya dengan memberikan akses kontrol ‘private’ ketika mendeklarasikan atribut atau method.
- Interface to access data : Jika kita telah melakukan information hiding terhadap suatu atribut pada suatu class, kita dapat melakukan perubahan terhadap atribut yang kita sembunyikan tersebut dengan cara membuat suatu interface berupa method untuk menginisialisasi atau merubah nilai dari suatu atribut tersebut.
Encapsulation penting dalam Pemrograman Berorientasi Objek karena memiliki beberapa manfaat, di antaranya:
- Meningkatkan keamanan program.
- Mengurangi ketergantungan antara objek dan membuat program lebih modular.
- Mempermudah perubahan, encapsulation membuat perubahan dalam sebuah objek dapat dilakukan tanpa mempengaruhi fungsi program secara keseluruhan.
- Meningkatkan keterbacaan kode
ACCESS MODIFIER
Access modifier digunakan untuk hak akses user pada class, method, atau variabel. Dengan menggunakan modifier, kita dapat menentukkan siapa saja yang dapat menggunakan atau mengakses objek tersebut.
- Private
Modifier private menunjukkan bahwa suatu class, method atau variabel hanya dapat diakses dari dalam kelas tersebut. Modifier ini biasanya digunakan untuk kelas, method, atau variabel yang memang ingin disimpan atau tidak dapat digunakan oleh kelas yang lain (tidak berguna untuk kelas yang lain).
- Protected
Modifier protected ini digunakan kalau suatu class, method atau variabel ingin digunakan hanya oleh kelas-kelas yang satu paket dengan kelas tersebut atau sub kelas dari kelas tersebut baik yang satu paket atau lain paket.
- Public
Pada modifier public ini bersifat umum, yaitu class, method, atau variable dapat dipanggil oleh semua kelas. Baik dari satu paket yang sama atau berlainan paket. Public juga akan memperbolehkan akses terhadap semua kelas yang diinstan dari kelas tersebut.
COUPLING DAN COHESION
Coupling merujuk pada tingkat ketergantungan antara dua kelas. Semakin tinggi tingkat ketergantungan antara kelas-kelas, semakin kuat coupling antara kelas-kelas tersebut. Coupling yang tinggi dapat menyebabkan masalah saat melakukan perubahan pada suatu kelas, karena perubahan tersebut dapat mempengaruhi kelas-kelas yang terkait.
Cohesion merujuk pada tingkat konsistensi dan kesatuan antara anggota-anggota dalam sebuah kelas. Semakin tinggi tingkat cohesion suatu kelas, semakin terfokus dan terorganisir anggota-anggota dalam kelas tersebut. Hal ini memudahkan pemeliharaan dan pengembangan program.
Sumber :
https://student-activity.binus.ac.id/himka/2021/12/05/konsep-object-oriented-programming-oop/
https://teknorial.com/blog/class-dan-object-pada-pemrograman-java/
Hidayat, Arfian. 2013. E-Book Pemrograman Berorientasi Objek. Semarang: Fakultas Ilmu Komputer, Universitas Dian Nuswantoro.