Pengenalan Pemrograman Berorientasi Objek (OOP)
Apa itu Pemrograman Berorientasi Objek?
- Teknik membuat program/sistem berorientasi pada sekumpulan objek yang saling berhubungan.
- Objek saling berinteraksi dengan mengirim pesan satu sama lain.
Contoh Interaksi Objek
- Objek Manusia (Andre): Punya mobil BMW.
- Andre ingin menambah kecepatan mobil → Mengirim pesan ke mobil.
- Dalam konteks nyata: Menginjak pedal gas untuk mengirim pesan ke mobil.
Perbedaan dengan Pemrograman Terstruktur
Pemrograman Terstruktur
- Dibagi menjadi beberapa bagian: fungsi atau modul.
- Fungsi dijalankan jika dipanggil.
- Urutan fungsi menandakan urutan jalannya sistem.
Pemrograman Berorientasi Objek
- Memandang sistem sebagai sekumpulan objek yang saling berinteraksi.
- Contoh: Sistem Informasi Akademik di kampus.
- Objek: Mahasiswa, Dosen, Pegawai.
- Objek saling berkirim pesan (misalnya, dosen memberikan nilai, mahasiswa mengajukan KRS).
- Data dan fungsi dibungkus dalam kelas atau objek:
- Variabel: Menyimpan data (state).
- Method: Mendefinisikan tindakan yang dapat dilakukan (behavior).
Tabel Perbedaan Struktur Programming dan OOP
| Aspek | Struktur Programming | Objek Oriented Programming |
|-------|----------------------|----------------------------|
| Definisi | Membagi kode menjadi modul/fungsi | Berdasarkan objek yang saling berinteraksi |
| Fokus Utama | Membagi program jadi satu set fungsi | Representasi program dengan objek |
| Modifikasi Program | Sulit dimodifikasi | Lebih mudah dimodifikasi |
| Komunikasi | Fungsi dipanggil dalam program utama | Objek mengirimkan pesan satu sama lain |
| Penentu Akses | Tidak ada penentu akses | Ada penentu akses (private, public, protected) |
| Keamanan | Data tidak aman | Data lebih aman |
Penentu Akses dalam OOP
- Private: Hanya bisa diakses oleh kelas tersebut saja.
- Public: Bisa diakses oleh semuanya.
- Protected: Hanya bisa diakses oleh kelas tersebut dan turunannya.
Kesimpulan
- OOP mendukung interaksi antar objek dengan pesan.
- Struktural programming berfokus pada pemanggilan fungsi.
- OOP memberikan keamanan dan kemudahan modifikasi lebih baik dibandingkan dengan struktural programming.