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.
terimakasih telah memberikan pencerahan terhadap materi oop , untuk php
Sama2 mas, semoga bermanfaat :)
Makasi banyak nih, duniailkom atas penjelasan yg sangat mudah, ,sya baru setahun belajar program trutama html dan php, ,di hari ini sya baru paham apa itu oop, sekali lagi makasi, semoga menjadi amal jariyah,
Amiin,… sama2 mas, saya juga senang tutorialnya bisa membantu untuk memahami konsep OOP :)
Jarang sekali saya menemukan situs yang membahas artikel pemrograman secara bertahap dan detail dengan bahasa yang mudah dipahami utk pemula. Alhamdulillah, tutorialnya sgt membantu sekali. terima kasih dan sukses untuk mas Andre.
Siap, terimakasih juga dukungannya mas Eko :)
sangat membantu tutorial2 yang ada pada duniailkom. sukses terus gan!
Siip, terimakasih gan, semoga bermanfaat :)
public function restart_laptop() {
$matikan=$this->matikan_laptop();
$hidupkan= $this->hidupkan_laptop();
$restart=$matikan."<br />".$hidupkan;
return $restart;
}
apakah ini juga tidak masalah, untuk pembuatan sebuah program?
$restart=$this->hidupkan_laptop()."<br />".$this->matikan_laptop();
G masalah gan, bisa juga dipanggil seperti itu…
maksudnya agar lebih mudah di baca dan lebih ringkas mungkin
Artikelnya sangat membantu sekali :)
Mantap
mohon penjelasanya mas andre :
bagian ini $restart=$matikan."<br />".$hidupkan;
kenapa variable $matikan dan $hidupkan tidak perlu menggunakan $this??
apakah krg itu variable yg di buat dalam sebuah method dalam class?? jadi tidak memerlukan $this??
Karena variabel $matikan dan $hidupkan bukan bagian dari property class laptop gan, tapi sebuah variabel yang berada di dalam method restart_laptop().
Jika ditulis menjadi "$this->matikan" PHP akan error, karena tidak menemukan property $matikan di dalam class laptop.
"Hasil pemanggilan kedua method, kemudian disambung dan disimpan kedalam variabel $hasil."
Maaf mas Admin mau tanya dan koreksi sedikit, apa maksud kalimat yang terakhir mungkin maksudnya variabel $restart bukan variabel $hasil?
Eh iya, betul mas… seharusnya disimpan ke dalam variabel $restart. Terimakasih koreksinya :)
sebenarnya konsep MVC itu adalah OOP atau bukan OOP?
MVC (Model View Controller) adalah sebuah pola pembuatan aplikasi (design pattern). Dengan menggunakan MVC, diharapkan proses pembuatan aplikasi menjadi lebih terstruktur dan mudah dikembangkan. MVC tidak harus pakai OOP. Tp memang kebanyakan menggunakan OOP, terutama di framework2 PHP.
pada method restart_laptop()
misal pengen ringkas manggilnya begini
public function restart_laptop() {
return $this->matikan_laptop()."<br/>".$this->hidupkan_laptop();
}
apa bisa juga?
bisa juga gan ane cek seperti itu, jadi ga usah masukkan pemanggilan method matikan dan hidupkan yg dimasukkan ke dalam variable di dalam method restart_laptop() nya… hehehe
public function sendC($url, $page, $params) {
…….
$res_params = curl_exec ($ch);
return $result;
curl_close($ch);
}
public function get() {
$data = "test=me";
$page= "any";
$sendme = $this->sendC("http://xvgoog.com", $page, $data);
if(!empty($sendme)) {
….
}
return $variable;
}
Apakah contoh snippet code sudah benar gan?
Hehe.. saya sudah lama g pelajari CULR lagi, silahkah tanya ke yang lebih ahli… (tempat dimana agan dapat script itu)
mas andre, sepemahaman saya tentang "$this" ini, brarti untuk memanggil sebuah property yg sudah di isi nilai/value nya yg berada dalam satu class yah ? benar gak?
dan untuk "$restart = $matikan . <br/>.$hidupkan" kenapa tidak memakai "$this" berarti karna $matikan dan $hidupkan ini sebuah variabel baru yg hanya untuk menepatkan sebuah proses dari hidupkan_laptop() dan matikan_laptop() bener gak mas? mohon dikoreksi mas kalau ada salah pemahaman
Stelah baca artikel anda.. Mnrut spemahamn saya. $this ini fungsinya untuk memanggil/merujuk pada properti dan method dalam 1 class yg sama. apa bs dbilang bgtu gan? Mohon koreksinya :)
Betul, bisa dibilang seperti itu…
Tengkiu gan, Penjelasannya mudah dipahami. :)
mas andre mau tanya, apakah variabel $this ini bisa digunakan dari child class ke parent class. misal property nya di parent class. trus method di child class nya make $this merujuk ke parent class. apa bisa gitu?
terima kasih
Yup bisa. Tutorialnya bisa kesini: https://www.duniailkom.com/tutorial-belajar-oop-php-cara-mengakses-property-dan-method-parent-class/
mas andre mau tanya dong,itu pake $this nya hanya untuk isian dari method aja apa gimana(saya bingung ngomongnya gimana).
contoh :
function matikan_laptop()
{return "matikan laptop $this->pemilik";}
kode diatas manggilnya pake $this
sedangkan kode dibawah ini manggilnya g pake $this
$laptop_banu->matikan_laptop();
hmmm bingung saya bantuin bang
Boleh dibaca di tutorial sebelumnya untuk penjelasan yang lebih detail tentang pengertian variabel $this ini: https://www.duniailkom.com/tutorial-belajar-oop-php-pengertian-dan-fungsi-variabel-this-dalam-pemrograman-objek/
1 semester gw belajar OOP di kampus kagag ada faedahnya.
Sejam gua baca materi OOP disini, langsung cerah.
Mantul Gan! Sip.
Hehe, semoga dengan tutorial OOP PHP di Duniailkom ini pemahaman tentang pemrograman object-nya jadi makin mantap.
terima kasih atas sharingnya. mudah dipahami penjelasannya.