A. PENGENALAN

Tujuan Pembelajaran

Setelah menyelesaikan materi ini, mahasiswa diharapkan mampu:

  1. Memahami konsep dasar Object-Oriented Programming (OOP) dalam PHP.
  2. Menjelaskan pengertian dan peran object dalam pemrograman berbasis objek.
  3. Mengidentifikasi terminologi yang digunakan dalam OOP, seperti class, object, property, dan method.
  4. Membuat dan menggunakan object dalam PHP.
  5. Mendeklarasikan property dan method dalam sebuah class untuk membangun struktur program berbasis objek.
1. Object

Object-Oriented Programming (OOP) adalah metode pemrograman yang menggabungkan data dan fungsi dalam satu kesatuan yang disebut object...

  1. Object Buku → Memiliki data seperti judul, pengarang, dan jumlah halaman. Juga memiliki method untuk menampilkan informasi buku.
  2. Object Anggota → Memiliki data seperti nama, nomor anggota, dan status keanggotaan. Bisa memiliki method untuk meminjam dan mengembalikan buku.
  3. Object Peminjaman → Menyimpan informasi tentang buku yang dipinjam, anggota yang meminjam, serta tanggal peminjaman dan pengembalian.

Dengan pendekatan ini, setiap elemen dalam sistem dapat dibuat sebagai object yang berisi data dan method-nya sendiri. Sebelum OOP, pemrograman sering menggunakan pendekatan prosedural, di mana data dan fungsi dibuat secara terpisah. Misalnya, dalam program perpustakaan, terdapat satu daftar buku dalam bentuk array, kemudian digunakan fungsi-fungsi terpisah untuk menampilkan buku, mencatat peminjaman, dan sebagainya. Hal ini membuat program cenderung tidak terstruktur dan sulit dipelihara.

Untuk memperjelas perbedaan antara kedua paradigma ini, perhatikan Gambar berikut.

Gambar 1 Perbandingan Pemrograman Prosedural vs OOP

Gambar 1 Perbandingan Pemrograman Prosedural vs OOP

Gambar ini memperlihatkan perbedaan mendasar antara pendekatan prosedural dan OOP. Di sisi kiri, pemrograman prosedural digambarkan sebagai susunan fungsi dan variabel global yang berdiri sendiri dan saling bergantung. Pendekatan ini membuat alur logika program cenderung linier dan kurang fleksibel. Di sisi kanan, pendekatan OOP digambarkan sebagai struktur modular, di mana class membungkus data (properties) dan fungsi (methods) menjadi satu kesatuan. Pendekatan ini mendorong modularitas, enkapsulasi, dan pemeliharaan kode yang lebih mudah.

Dengan OOP, semua data dan logika pemrosesannya disatukan dalam object, sehingga program menjadi lebih terorganisir dan fleksibel. Untuk melihat perbedaan secara lebih rinci, berikut disajikan tabel perbandingan antara OOP dan pemrograman prosedural:

Tabel 1 Perbandingan OOP dan Pemrograman Prosedural
Aspek Object-Oriented Programming (OOP) Pemrograman Prosedural
Pendekatan Berbasis objek yang menggabungkan data dan fungsi dalam satu kesatuan Berbasis prosedur yang terdiri dari serangkaian langkah-langkah logis
Struktur Kode Menggunakan class dan object Menggunakan fungsi dan variabel global
Enkapsulasi Data disembunyikan dan hanya bisa diakses melalui metode yang sesuai Data dapat diakses secara langsung oleh seluruh program
Pemakaian Ulang Kode Kode dapat digunakan kembali melalui inheritance (pewarisan) Kode sering perlu ditulis ulang atau disalin untuk digunakan kembali
Kemudahan Perawatan Mudah dikelola karena setiap bagian memiliki tanggung jawab sendiri Bisa menjadi sulit dikelola karena banyak fungsi saling bergantung
Keamanan Data Data dilindungi dengan konsep private, protected, dan public Data lebih rentan karena sering menggunakan variabel global
Contoh Implementasi Membuat class seperti User, Buku, Mobil Menggunakan fungsi seperti tambahUser(), hitungTotal()

LATIHAN

Bacalah setiap pertanyaan pilihan ganda dengan cermat, lalu klik salah satu jawaban yang menurutmu paling tepat.
Gunakan tombol Lanjut untuk berpindah ke soal berikutnya, dan tombol Kembali jika ingin meninjau ulang jawaban sebelumnya.
Setelah semua soal dijawab, klik tombol Periksa Jawaban untuk menampilkan refleksi atas pilihanmu.
Jika masih terdapat jawaban yang salah, kamu dapat mengulangi latihan ini hingga semua jawaban benar untuk membuka akses ke halaman selanjutnya.