Halo teman-teman semuanya, pada artikel kali ini, kita akan membahas salah satu konsep penting dalam pengembangan perangkat lunak modern, yaitu Object Oriented Programming (OOP) atau Pemrograman Berorientasi Objek.
PHP adalah bahasa pemrograman yang mendukung paradigma OOP secara penuh sejak versi PHP 5, dan kini OOP menjadi fondasi penting dalam membangun aplikasi berskala besar maupun kecil.
Apa Itu OOP?
Object Oriented Programming adalah metode pemrograman yang berfokus pada objek. Objek ini merupakan gabungan antara data (disebut properti) dan fungsi (disebut method) yang dibungkus dalam satu entitas. OOP memudahkan kita dalam membangun kode yang lebih terstruktur, modular, dan mudah dipelihara.
Konsep Dasar OOP
Beberapa konsep utama dalam OOP antara lain:
- Class: Cetak biru atau template untuk membuat objek.
- Object: Instansi dari class, yaitu entitas nyata yang memiliki data dan perilaku.
- Property: Variabel yang berada di dalam class.
- Method: Fungsi yang berada di dalam class.
- Constructor: Fungsi khusus yang dijalankan otomatis saat objek dibuat.
- Encapsulation, Inheritance, dan Polymorphism: Konsep lanjutan dalam OOP (akan dijelaskan di artikel berikutnya).
Membuat Class dan Object di PHP
<?php
class Mahasiswa {
public $nama;
public $jurusan;
public function __construct($nama, $jurusan) {
$this->nama = $nama;
$this->jurusan = $jurusan;
}
public function perkenalan() {
echo "Halo, nama saya $this->nama dari jurusan $this->jurusan. <br>";
}
}
// Membuat objek dari class Mahasiswa
$mahasiswa1 = new Mahasiswa("Rina", "Informatika");
$mahasiswa1->perkenalan();
?>
Berikut ini penjelasan dari kode di atas.
-
class Mahasiswa { ... }Ini adalah deklarasi class bernama
Mahasiswa. Class adalah template atau cetakan yang mendefinisikan properti dan perilaku (method) dari suatu objek. -
public $nama;danpublic $jurusan;Ini adalah property (atau atribut) dari class
Mahasiswa. Property menyimpan data atau informasi dari objek.publicadalah visibility yang berarti properti ini bisa diakses dari luar class.$namadan$jurusanakan digunakan untuk menyimpan nama dan jurusan mahasiswa.
-
public function __construct($nama, $jurusan) { ... }Ini adalah constructor, yaitu method khusus yang akan otomatis dijalankan saat objek dibuat.
$namadan$jurusanadalah parameter yang akan diberikan saat membuat objek.__constructadalah nama fungsi khusus dalam PHP untuk constructor.$this->nama = $nama;berarti: isi propertinamamilik objek ini ($this) dengan nilai$namayang dikirim saat membuat objek.$this->jurusan = $jurusan;sama seperti di atas, tapi untuk propertijurusan.
Catatan:
$thisdigunakan untuk mengakses properti dan method milik objek itu sendiri. -
public function perkenalan() { ... }Method
perkenalan()adalah fungsi biasa yang bisa dipanggil pada objekMahasiswa. Fungsi ini akan menampilkan teks perkenalan, dengan mengambil nilai properti$namadan$jurusandari objek yang sedang aktif ($this). -
$mahasiswa1 = new Mahasiswa("Rina", "Informatika");Ini adalah instansiasi objek.
new Mahasiswa(...)membuat objek baru dari classMahasiswa."Rina"dan"Informatika"dikirim sebagai parameter ke constructor, sehingga:$this->namamenjadi"Rina"$this->jurusanmenjadi"Informatika"
-
$mahasiswa1->perkenalan();Baris ini memanggil method
perkenalan()dari objek$mahasiswa1. Hasilnya adalah teks:Halo, nama saya Rina dari jurusan Informatika.
Kesimpulan
Object Oriented Programming (OOP) merupakan pendekatan penting dalam pemrograman modern yang memudahkan dalam membangun aplikasi yang kompleks, terstruktur, dan mudah dikembangkan.
Dengan memahami class, object, property, method, dan constructor, kita sudah memiliki dasar yang kuat untuk menulis kode PHP yang lebih baik.
Pada artikel selanjutnya, kita semua akan belajar tentang Property & Method di dalam OOP PHP.
Terima Kasih
Artikel ini dibaca sebanyak 3.066 kali
{ setTimeout(() => { showShimmer = false; }, 300); })"
:class="{'opacity-0': !loaded, 'opacity-100': loaded}"
class="lazy w-full h-auto rounded-xl border border-white dark:border-neutral-700/80 transition-opacity duration-500"
loading="lazy"
/>
SAWERIA
Memuat komentar...