Pengertian Pemrograman Berorientasi Objek
Pemrograman Berorientasi Objek (Object Oriented Programming/OOP) adalah paradigma pemrograman yang mengorganisasikan program ke dalam bentuk objek. Setiap objek merepresentasikan suatu entitas yang memiliki karakteristik (atribut) dan perilaku (method).
Dalam OOP, objek dapat saling berinteraksi untuk menyelesaikan suatu permasalahan. Pendekatan ini membuat struktur program lebih modular sehingga memudahkan proses pengembangan maupun pemeliharaan.
Mengapa Menggunakan OOP?
Pemrograman Berorientasi Objek digunakan karena memiliki berbagai kelebihan, antara lain:
- Program lebih terstruktur dan mudah dipahami.
- Mempermudah proses pengembangan aplikasi yang kompleks.
- Mengurangi penulisan kode yang berulang (code reuse).
- Memudahkan perawatan (maintenance) dan pengembangan sistem.
- Meningkatkan keamanan data melalui mekanisme encapsulation.
- Memudahkan kerja sama dalam tim pengembang.
Perbedaan Pemrograman Prosedural dan Pemrograman Berorientasi Objek
| Pemrograman Prosedural | Pemrograman Berorientasi Objek |
|---|---|
| Berorientasi pada fungsi | Berorientasi pada objek |
| Data dan fungsi terpisah | Data dan method berada dalam satu class |
| Sulit dikembangkan pada proyek besar | Lebih mudah dikembangkan |
| Kode sering berulang | Mendukung penggunaan kembali kode |
| Cocok untuk program sederhana | Cocok untuk aplikasi skala besar |
Konsep Dasar OOP
1. Class
Class adalah cetak biru (blueprint) atau rancangan untuk membuat objek. Di dalam class terdapat atribut dan method yang akan dimiliki oleh setiap objek.
Contoh:
Class Mahasiswa
Atribut:
- NIM
- Nama
- Jurusan
Method:
- Belajar()
- MengerjakanTugas()
- Presentasi()
2. Object
Object adalah hasil nyata dari sebuah class.
Misalnya terdapat class Mahasiswa, maka objeknya dapat berupa:
- Mahasiswa 1 (Andi)
- Mahasiswa 2 (Budi)
- Mahasiswa 3 (Siti)
Masing-masing objek memiliki data yang berbeda tetapi berasal dari class yang sama.
3. Attribute
Attribute merupakan data atau karakteristik yang dimiliki oleh suatu objek.
Contoh atribut pada objek Mahasiswa:
- Nama
- NIM
- Jurusan
- Semester
- IPK
4. Method
Method adalah tindakan atau fungsi yang dapat dilakukan oleh suatu objek.
Contoh method:
- Login()
- Belajar()
- SimpanData()
- CetakLaporan()
Contoh OOP dalam Kehidupan Sehari-hari
Contoh 1: Mobil
Class: Mobil
Attribute:
- Merk
- Warna
- Tahun
- Kecepatan
Method:
- Menyalakan mesin
- Menginjak gas
- Mengerem
- Membunyikan klakson
Objek:
- Toyota Avanza
- Honda Brio
- Daihatsu Xenia
Contoh 2: Mahasiswa
Class: Mahasiswa
Attribute:
- Nama
- NIM
- Jurusan
Method:
- Belajar
- Mengikuti kuliah
- Mengumpulkan tugas
Objek:
- Indah
- Rina
- Fajar
Karakteristik Utama OOP
1. Encapsulation (Enkapsulasi)
Encapsulation adalah proses membungkus data dan method ke dalam satu class serta membatasi akses langsung terhadap data agar lebih aman.
Manfaat:
- Melindungi data.
- Mengontrol perubahan data.
- Meningkatkan keamanan program.
2. Inheritance (Pewarisan)
Inheritance memungkinkan sebuah class mewarisi atribut dan method dari class lain.
Contoh:
Class Kendaraan
↓
Class Mobil
↓
Class MobilSport
Dengan inheritance, programmer tidak perlu menulis ulang kode yang sama.
3. Polymorphism
Polymorphism memungkinkan satu method memiliki banyak bentuk atau implementasi yang berbeda.
Contohnya:
Method suara()
Kucing → Meong
Anjing → Guk Guk
Ayam → Kukuruyuk
Method yang sama menghasilkan perilaku yang berbeda sesuai objeknya.
4. Abstraction
Abstraction adalah proses menyembunyikan detail implementasi dan hanya menampilkan fungsi yang diperlukan oleh pengguna.
Contohnya ketika mengendarai mobil, pengemudi cukup menggunakan setir, pedal gas, dan rem tanpa perlu mengetahui cara kerja mesin secara detail.
Kelebihan Pemrograman Berorientasi Objek
Beberapa kelebihan OOP antara lain:
- Kode lebih rapi dan terstruktur.
- Mudah dikembangkan.
- Mudah diperbaiki apabila terjadi kesalahan.
- Mendukung penggunaan kembali kode.
- Lebih aman karena adanya pengaturan hak akses data.
- Cocok digunakan untuk pengembangan aplikasi besar seperti sistem akademik, aplikasi perbankan, e-commerce, dan aplikasi mobile.
Kekurangan OOP
Selain memiliki banyak kelebihan, OOP juga memiliki beberapa kekurangan, yaitu:
- Membutuhkan pemahaman konsep yang lebih mendalam.
- Struktur program lebih kompleks dibandingkan pemrograman prosedural.
- Membutuhkan perencanaan desain class yang baik.
- Penggunaan memori relatif lebih besar.
Contoh Program Sederhana Java
class Mahasiswa {
String nama;
String nim;
void belajar() {
System.out.println(nama + " sedang belajar Pemrograman Berorientasi Objek.");
}
}
public class Main {
public static void main(String[] args) {
Mahasiswa mhs = new Mahasiswa();
mhs.nama = "Indah";
mhs.nim = "231011234";
mhs.belajar();
}
}
Output:
Indah sedang belajar Pemrograman Berorientasi Objek.
Pada contoh di atas:
Mahasiswamerupakan class.mhsmerupakan object.namadannimmerupakan attribute.belajar()merupakan method.
Rangkuman
- Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang berpusat pada objek.
- Objek memiliki atribut dan method.
- Empat konsep utama OOP meliputi Encapsulation, Inheritance, Polymorphism, dan Abstraction.
- OOP mempermudah pengembangan aplikasi yang kompleks karena kode lebih terstruktur, mudah dipelihara, dan dapat digunakan kembali.