Jumat, 11 Desember 2015

Melanjutkan tutorial belajar Objek Oriented Programming (OOP) PHP, jika sebelumnya kita telah mempelajari Pengertian Class, Object, Property dan Method, kali ini kita akan membahas Cara Membuat dan Mengakses Objek dalam PHP.

Cara Membuat Objek dalam PHP


Istilah Objek dalam Objek Oriented Programming (OOP), sebenarnya terdiri dari class, property, method dan object. Keempat istilah ini telah kita pelajari dalam tutorial sebelumnya. Merangkum apa yang telah kita pelajari, berikut adalah contoh cara pembuatan objek di dalam PHP:


<?php
// buat class laptop
class laptop {
  
   // buat property untuk class laptop
   var $pemilik;
   var $merk;
   var $ukuran_layar;
  
   // buat method untuk class laptop
   function hidupkan_laptop() {
     return "Hidupkan Laptop";
   }
   function matikan_laptop() {
     return "Matikan Laptop";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_anto = new laptop();
?>


Dalam kode diatas, kita telah membuat sebuah class dengan nama laptop, lengkap dengan property dan menthod-nya. Kemudian saya membuat 1 buah objek dari class laptop dengan nama $laptop_anto pada baris terakhir.

Walaupun dalam kode diatas kita telah membuat objek, objek tersebut belum menampilkan apa-apa, karena class laptop belum berisi data apapun. Kita akan segera mempelajari cara mengakses ‘isi’ dari class dalam PHP.

Jika anda bertanya kenapa saya menggunakan contoh class laptop yang mungkin ‘jauh’ dari istilah Web, jawabannya adalah agar menyederhanakan penjelasan. Objek Oriented Programming memiliki aturan dan alur program yang cukup rumit sehingga menggunakan contoh sederhana ini bisa mempermudah dalam memahami konsep OOP.

Dalam buku-buku yang membahas OOP, jenis class yang ‘aneh’ ini juga sering digunakan sebagai contoh. Misalnya class mobil, class sapi, ataupun class orang_utan. Sekali lagi, ini hanya untuk menyederhanakan pemahaman.

Cara Mengakses Objek dalam PHP


Cara mengakses objek yang saya maksud sebenarnya adalah cara untuk mengakses ‘isi’ dari sebuah objek, yakni property dan method-nya. Agar lebih mudah dipahami, berikut adalah revisi contoh class laptop sebelumnya:


<?php
// buat class laptop
class laptop {
  
   // buat property untuk class laptop
   var $pemilik;
   var $merk;
   var $ukuran_layar;
  
   // buat method untuk class laptop
   function hidupkan_laptop() {
     return "Hidupkan Laptop";
    }
   function matikan_laptop() {
     return "Matikan Laptop";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_anto = new laptop();
  
// set property
$laptop_anto->pemilik="Anto";
$laptop_anto->merk="Asus";
$laptop_anto->ukuran_layar="15 inchi";
  
// tampilkan property
echo $laptop_anto->pemilik;
echo "<br />";
echo $laptop_anto->merk;
echo "<br />";
echo $laptop_anto->ukuran_layar;
echo "<br />";
  
// tampilkan method
echo $laptop_anto->hidupkan_laptop();
echo "<br />";
echo $laptop_anto->matikan_laptop();

?>


Jika anda menjalankan kode program di atas, berikut adalah hasil yang didapat:

Anto
Asus
15 inchi
Hidupkan Laptop
Matikan Laptop

Mari kita bahas kode program diatas:

class laptop {

Baris awal contoh kode program kita adalah pendefenisian sebuah class dengan nama laptop. Kurung kurawal menandakan awal dari class.

var $pemilik;
var $merk;
var $ukuran_layar;

Selanjutnya, tiga baris diatas merupakan pendefenisian variabel class, atau dikenal dengan property. Property tidak lain hanya variabel biasa yang berada di dalam class. Keyword var digunakan untuk deklarasi variabel di dalam class.

Jika anda pernah mempelajari OOP PHP, mungkin akan langsung komplain tentang penggunaan keyword var untuk pendefenisian property. Saya menggunakan keyword var hanya untuk menyederhanakan penjelasan. Konsep enkapsulasi (public, protected dan private) akan dibahas mendalam dalam tutorial berikutnya. Kita akan mengoreksi cara pendefenisian ini nantinya.


function hidupkan_laptop() {
   return "Hidupkan Laptop";
}

function matikan_laptop() {
   return "Matikan Laptop";
}

2 buah fungsi diatas adalah method dari class. Jika anda telah mengenal cara pembuatan function, kedua contoh ini hanyalah fungsi biasa yang akan mengembalikan nilai berupa string. Pembahasan tentang cara penggunaan function di dalam PHP pernah kita bahas pada Tutorial PHP Cara Penulisan dan Pembuatan Fungsi PHP.

$laptop_anto = new laptop();

Baris ini merupakan perintah untuk pembuatan objek dari class laptop (dikenal dengan proses instansiasi). Variabel $laptop_anto saat ini berisi objek dari class laptop. Kita akan mengakses property dan method class laptop melalui objek $laptop_anto ini.


$laptop_anto->pemilik="Anto";
$laptop_anto->merk="Asus";
$laptop_anto->ukuran_layar="15 inchi";


3 baris diatas adalah cara untuk men-set nilai kedalam property dari objek $laptop_anto. Perhatikan bahwa kita menggunakan tanda panah (->) untuk mengakses property dari objek. Tanda panah ini adalah operator khusus objek yang dikenal dengan istilah ‘Object Operator’. Penulisan nama property juga dilakukan tanpa menggunakan tanda $, sehingga property $pemilik, diakses dengan:
$laptop_anto->pemilik.

echo $laptop_anto->pemilik;
echo "<br />";
echo $laptop_anto->merk;
echo "<br />";
echo $laptop_anto->ukuran_layar;
echo "<br />";


Kode program diatas digunakan untuk menampilkan nilai property dari objek $laptop_anto yang sebelumnya telah di-set nilainya. Sama seperti pada saat men-set nilai property, kita juga menggunakan tanda panah (->), kemudian diikuti nama property tanpa tanda $.

Perintah echo ditambahkan agar PHP menampilkan nilai property ke dalam web browser. Agar tampilan di web browser lebih rapi, saya menambahkan echo “<br />” diantara hasil tampilan property.

echo $laptop_anto->hidupkan_laptop();
echo "<br />";
echo $laptop_anto->matikan_laptop();


Kode terakhir dari contoh kita kali ini adalah cara pemanggilan method dari objek $laptop_anto. Cara pengaksesannya sama dengan cara mengakses property, namun karena method adalah fungsi, kita menambahkan tanda kurung diakhir pemanggilan fungsi.


Objek Sebagai Entitas Terpisah



Dalam contoh kode diatas, saya hanya menggunakan 1 buah objek yang berasal dari class laptop. Namun pada dasarnya sebuah class bisa digunakan untuk membuat berapapun banyak objek. Setiap objek merupakan bagian terpisah, namun tetap memiliki property dan method yang berasal dari class laptop.

Berikut adalah contoh pembuatan beberapa objek dari class laptop:


<?php
// buat class laptop
class laptop {
  
   // buat property untuk class laptop
   var $pemilik;
  
   // buat method untuk class laptop
   function hidupkan_laptop() {
     return "Hidupkan Laptop";
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_anto = new laptop();
$laptop_andi = new laptop();
$laptop_dina = new laptop();
  
// set property
$laptop_anto->pemilik="Anto";
$laptop_andi->pemilik="Andi";
$laptop_dina->pemilik="Dina";
  
// tampilkan property
echo $laptop_anto->pemilik; // Anto
echo "<br />";
echo $laptop_andi->pemilik; // Andi
echo "<br />";
echo $laptop_dina->pemilik; // Dina
echo "<br />";

?>


Class laptop diatas saya sederhanakan agar lebih singkat. Setelah pembuatan class, saya kemudian membuat 3 buah objek dari class laptop, yakni $laptop_anto, $laptop_andi dan $laptop_dina. Ketiga objek ini memiliki struktur yang sama (sama-sama berasal dari class laptop), namun memiliki isi data yang berbeda-beda.

Agar lebih paham, silahkan anda mencoba menambahkan beberapa property dan method untuk class laptop diatas.

Dalam tutorial kali ini kita telah membahas tentang Cara Membuat dan Mengakses Objek dalam PHP. Sampai disini semoga anda telah memahami konsep class, property, method dan objek. Dalam tutorial belajar OOP PHP berikutnya, kita akan membahas tentang pengertian enkapsulasi dalam pemrograman objek.