Tutorial Belajar OOP PHP Part 6: Cara Penggunaan Pseudo-Variable $this dalam Objek PHP

Jika dalam tutorial sebelumnya kita telah memahami pengertian dan fungsi dari variabel $this, dalam tutorial kali ini saya akan membahas cara penggunaan pseudo-variable $this dalam pemrograman Objek PHP. Tutorial kali ini hanya untuk memperjelas konsep variabel $this yang telah kita pelajari sebelumnya.


Arti Pseudo-Variable $this dalam Pemrograman Objek PHP

Melanjutkan tutorial mengenai variabel $this, kali ini kita akan melihat cara penggunaannya melalui contoh program PHP yang lebih lengkap.

Dalam contoh berikut, saya membuat class laptop dengan method yang saling memanggil method lain menggunakan variabel $this, silahkan anda pahami alur kerja dari class dan objek dibawah ini:

<?php
// buat class laptop
class laptop {
 
   // buat property untuk class laptop
   public $pemilik;
   public $merk;
 
   // buat method untuk class laptop
   public function hidupkan_laptop() {
     return "Hidupkan Laptop $this->merk punya $this->pemilik";
   }
 
   public function matikan_laptop() {
     return "Matikan Laptop $this->merk punya $this->pemilik";
   }
 
   public function restart_laptop() {
     $matikan=$this->matikan_laptop();        
     $hidupkan= $this->hidupkan_laptop();
     $restart=$matikan."<br />".$hidupkan;
     return $restart;
   }
}
 
// buat objek dari class laptop (instansiasi)
$laptop_anto = new laptop();
 
// isi property objek
$laptop_anto->pemilik="Anto";
$laptop_anto->merk="Asus";
 
 
echo $laptop_anto->hidupkan_laptop();
// hasil: "Hidupkan Laptop Asus punya Anto";
 
echo "<br />";
 
echo $laptop_anto->matikan_laptop();
// hasil: "Matikan Laptop Asus punya Anto";
 
echo "<br />";
 
echo $laptop_anto->restart_laptop();
// hasil:
// "Matikan Laptop Asus punya Anto";
// "Hidupkan Laptop Asus punya Anto";
?>

Contoh class laptop diatas, mirip dengan contoh-contoh kita sebelumnya, dengan beberapa modifikasi. Saya membuat 2 property: $pemilik dan $merk, kemudian membuat 3 method: hidupkan_laptop(), matikan_laptop(), dan restart_laptop().

Dalam method hidupkan_laptop(), dan saya memanggil property $pemilik dan $merk. Karena property ini nantinya akan dipanggil dari objek, maka kita harus menggunakan variabel $this:

"Hidupkan Laptop $this->merk punya $this->pemilik";

Variabel $this nantinya akan 'merujuk' kepada objek yang memanggil method. Misalkan kita memiliki objek $laptop_anto, maka hasil yang dijalankan adalah:

"Hidupkan Laptop $laptop_anto ->merk punya $laptop_anto->pemilik";

Method matikan_laptop() juga menggunakan pola perintah yang sama.

Untuk method restart_laptop(), di dalam struktur method ini saya memanggil method matikan_laptop() dan hidupkan_laptop(). Karena alasan yang sama dengan property $pemilik dan $merk, saya juga menggunakan variabel $this untuk memanggil method. Hasil pemanggilan kedua method, kemudian disambung dan disimpan kedalam variabel $restart.

public function restart_laptop() {
   $matikan=$this->matikan_laptop();        
   $hidupkan= $this->hidupkan_laptop();
   $restart=$matikan."<br />".$hidupkan;
   return $restart;
}

Tutorial kali ini ditujukan untuk melengkapi pemahaman variabel $this dari tutorial sebelumnya. Dalam tutorial OOP PHP selanjutnya, kita akan membahas cara membuat method dalam pemrograman objek PHP.


eBook OOP PHP Uncover Duniailkom
Duniailkom telah menerbitkan buku yang secara detail membahas pemrograman object PHP. Mulai dari materi dasar OOP seperti class, object, property, hingga trait, namespace, autoloading dan exception. Di akhir buku juga terdapat studi kasus pembuatan library dan aplikasi CRUD. Penjelasan lebih lanjut bisa ke eBook OOP PHP Uncover Duniailkom.

33 Comments

  1. mudiono
    13 Nov 15
    • Andre
      15 Nov 15
  2. jaka
    17 Dec 15
    • Andre
      17 Dec 15
  3. Eko Okda
    26 Dec 15
    • Andre
      01 Sep 16
  4. nubie
    07 Feb 16
    • Andre
      10 Feb 16
  5. saidqb
    18 Feb 16
    • Andre
      01 Sep 16
    • Ahmad Roy
      07 Nov 18
  6. Anonymous
    29 Feb 16
  7. Mastenk
    15 Jul 16
    • Andre
      01 Sep 16
  8. dadidam
    01 Sep 16
    • Andre
      01 Sep 16
  9. Mustafri
    22 Nov 16
    • Andre
      23 Nov 16
  10. bagussetiawan
    14 Dec 16
    • Wilson
      11 Apr 17
  11. Michelle Isom
    05 Jan 17
    • Andre
      06 Jan 17
  12. Anonymous
    28 Jul 17
  13. Arif
    07 Mar 18
    • Andre
      08 Mar 18
  14. yudistira pandaw
    19 May 18
  15. Muhammad Junaidi
    10 Aug 18
  16. ibra
    20 Sep 18
  17. Dimas
    14 Mar 19
    • Andre
      14 Mar 19
  18. faisal
    04 Feb 20

Add Comment

Leave a Reply to faisal Cancel reply