Introduction to OOP (Object-Oriented Programming) in PHP

Maul Zaqi
3 min readJan 19, 2023

--

Hi! Dalam artikel ini, saya akan membahas tentang OOP atau Pemograman Berbasis Objek dalam Bahasa Indonesia.

OOP

Apa itu OOP?

Object-Oriented Programming atau yang biasa disingkat OOP adalah metode pemograman berdasarkan atau berorientasi pada objek. Program-program tersebut merupakan gabungan dari program yang sudah ada sebelumnya. OOP mengutamakan pembuatan objek sebagai pemodelan dari dunia nyata, sehingga membuat program lebih mudah dipahami dan dimengerti. Dasar-dasar OOP adalah class, object, method, dan property.

1. Class

Class adalah template untuk membuat objek yang menentukan data dan perilaku yang dimiliki objek tersebut. Sebuah class dapat dianggap sebagai “blueprint” dari sebuah objek, seperti sebuah desain mobil yang digunakan untuk membuat berbagai mobil.

2. Object

Selanjutnya ada Object. Object merupakan instance dari sebuah class. Sebuah objek memiliki data (atribut) dan perilaku (method) yang sesuai dengan class yang digunakan untuk membuatnya. Objek dapat dianggap sebagai entitas yang memiliki sifat-sifat dan kemampuan-kemampuan tertentu, seperti sebuah mobil yang memiliki warna, jumlah roda, dan kemampuan untuk bergerak. Sebuah objek dapat diinstantiasi (dibuat) dari class yang sesuai dan digunakan dalam program.

Analogi Class dan Object dalam OOP

3. Method

Method atau behavior adalah sebuah function yang didefinisikan dalam sebuah class dan digunakan untuk mengimplementasikan perilaku dari objek yang dibuat dari class tersebut. Method digunakan untuk mengakses atau mengubah data dari sebuah objek dan melakukan operasi tertentu.

Method pada dasarnya adalah function yang berada di dalam class. Seluruh sifat function bisa diterapkan ke dalam method seperti bisa di isi argument/parameter, mengembalikan nilai (dengan keyword return), dan lain-lain. Method didefinisikan dalam sebuah class dengan menggunakan syntax function seperti pada pemrograman procedural, namun dalam OOP, method didefinisikan dalam class dan digunakan dalam objek yang dibuat dari class tersebut.

4. Property

Property adalah variabel yang didefinisikan dalam sebuah class dan digunakan untuk menyimpan data yang dimiliki oleh objek yang dibuat dari class tersebut. Property dapat digunakan untuk menyimpan informasi yang diperlukan oleh objek, seperti nilai, status, atau kondisi tertentu.

Property sebenarnya hanyalah variabel yang terletak di dalam class. Seluruh aturan dan tipe data yang biasa diinput ke dalam variabel, juga bisa diinput ke dalam property. Aturan tata cara penamaan property sama dengan aturan penamaan variabel. Property dapat dibedakan menjadi dua jenis yaitu property public dan property private. Property public dapat diakses dan dimodifikasi dari luar class, sedangkan property private hanya dapat diakses dan dimodifikasi dari dalam class itu sendiri.

Kelebihan Menggunakan OOP

Kelebihan menggunakan OOP antara lain sebagai berikut

  1. Modularitas: Program yang dibuat dapat dipecah menjadi modul-modul yang lebih kecil dan nantinya digabungkan menjadi solusi yang utuh.
  2. Fleksibilitas: Karena setiap solusi dibuat dalam bentuk class, ketika terjadi perubahan maka hanya class tersebut saja yang perlu dirubah.
  3. Ekstensibilitas: Penambahan method atau property dapat dilakukan dengan sangat mudah.
  4. Reuse: Class dapat digunakan berkali-kali untuk proyek maupun modul yang lain.
  5. Mudah dimaintain: Karena setiap class berdiri sendiri, maka untuk memaintain class tersebut jauh lebih mudah.
  6. Keamanan code: Adanya visibilitas memberikan fitur keamanan dimana developer lain tidak bisa dengan bebas menggunakan fitur yang ada pada sebuah objek.

Kekurangan Menggunakan OOP

Sesuatu yang memiliki kelebihan pasti juga memiliki kekurangan, sama halnya dengan OOP. Kekurangan dari OOP diantaranya adalah:

  1. Learning curve yang lumayan tinggi.
  2. Ukuran program jauh lebih besar, dan
  3. Pemakaian memory lebih besar.

Mungkin itulah yang bisa saya jelaskan tentang dasar-dasar OOP. Sampai jumpa lagi di artikel lainnya.

--

--

Maul Zaqi
0 Followers

Just a Software Engineering High School student.