Melanjutkan tutorial belajar Object 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 Object dalam Object 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 di atas, 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 di atas 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.
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 di atas:
class laptop {
Baris awal contoh kode program kita adalah pendefinisian sebuah class dengan nama laptop. Kurung kurawal menandakan awal dari class.
var $pemilik; var $merk; var $ukuran_layar;
Selanjutnya, tiga baris di atas merupakan pendefinisian 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.
function hidupkan_laptop() { return "Hidupkan Laptop"; } function matikan_laptop() { return "Matikan Laptop"; }
2 buah fungsi di atas 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 di atas adalah cara untuk men-set nilai ke dalam 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 di atas 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 di akhir pemanggilan fungsi.
Objek Sebagai Entitas Terpisah
Dalam contoh kode di atas, 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 di atas 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 di atas.
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.
Makasi materinya gan…
semoga ilmunya bermanfaat.. :)
Artikel nya sangat bermanfaat, mudah di mengerti, keep posting!
Terimakasih gan.. :)
Tutorialnya bagus2 Mas Andre, nanti saya akan menyuruh 250 mahasiswa saya mengambil referensi pemrograman web dari duniailkom.com, "ilmu akan bertambah jika diamalkan", keep spirit :)
Setuju mas, semoga tutorial yang ada di duniailkom ini bisa bermanfaat :)
Waaa ternyata gini ya kalo OOP. Makasih om, ane udah mulai paham tentang konsep OOP. Walaupun baru paham dasar konsepnya, tapi seenggaknya ane udah gak penasaran lagi ama OOP PHP heheheh
Hehe, siip gan :)
Sangat membantu sekali…
mantap gan. sangat mencerahkan sekali ane yang otodidak pemrograman. terima kasih banyak
gimana caranya ngambil data dari database ke bootstrap lewat php ?
masih belajar gan :D
Wah, itu udah lumayan rumit gan. Setidaknya agan harus menguasai: HTML, CSS, PHP, MySQL, dan Bootstrap. Bisa coba cari buku tantang bootstrap saja gan, kepanjangan kalau ditulis disini, hehe…
keren artikel ya alhamdulillah membantu banget mas terus post ya ilmu ya mas
Mas, kalau class nya dibikin satu file satu class, nanti dipanggilnya tetap harus pakai include() ya?
Yup, betul mas. Kalau flie classnya dipisah2, tetap harus di-include dulu agar bisa dibuat objectnya.
Pak, apakah ini sudah di sebut sebagai OOP tanpa membuat class terlebih dahulu? seperti contoh code dibawah ini? makasih.
function($a,$b)
{
echo $a;
echo $b;
}
jadi tidak membuat code class terlebih dahulu
class laptop
{
//
}
class laptop()
{
// fungsi
}
Itu belum bisa dibilang OOP gan, konsep OOP di PHP wajib menggunakan class dan inisasi object (menggunakan perintah "new"). Kalau yang dicontohkan itu hanya membuat function biasa, atau dikenal dengan PHP prosedural.
terimakasih pak, jadi lumayan paham sama kode php yg gini.. #sambilBookmarkdulu
Baru kali ini engeh sama OOP PHP, terima kasih min udah berbagi.
Siip gan, semoga bermanfaat….
saya sudah berkecipung dalam dunia PHP native lama sekali dan banyak membuat sistem dengan php native sampai sistem yang tingkat kompleksnya yang sungguh woww..
lalu saya ingin mencoba beralih ke OOP supaya ilmu saya berkembang dan bisa mengikuti jaman
dan setelah saya mencari-cari situs tentang pembahasan OOP ternyata situs ini yang paling jitu pemahaman konsepnya..
trima kasih banyak mau berbagi ilmu semoga anda tetap diberi kesehatan dan kekuatan untuk terus membagi ilmu anda bagi yang membutuhkan..
Aminnn
Amin… terimakasih untuk doanya mas sukipri :)
Mudah2an duniailkom bisa terus hadir menemani teman2 di Indonesia yang ingin belajar programming.
Sukses juga kedepannya mas…
Kurang lebih kalau sebelumnya pernah belajar java , akan mempermudah ya mas, mempelajari implementasi OOP pada PHP. Thanks mas tutorialnya keren.
Betul, konsep OOP rata2 sama di setiap bahasa pemrograman. Tp yang paling terkenal memang JAVA, karena di JAVA semuanya sudah full object :)
terima kasih atas ilmunya, semoga menjadi amal jariyah yang selalu menghasilkan pahala
Saya ucapkan terimakasih kpd admin. karena tlah membuat artkel OOP PHP dengan lengkap, dan mudah di pelajari., sekali lagi terima kasih
Siip, sama2.. semoga bermanfaat..
Alhamdulillah, terimakasih min sudah membuat saya semakin pintar. Saran saya buat web ini cuma 1, mobile pagenya semoga bisa lebih "friendly" lagi gitu biar bisa baca dimana aja tanpa harus buka laptop/pc. Sekali lagi terimakasih ini tutorial termudah untuk dipahami :)
Siap, terimakasih untuk sarannya… Kalau pengen yang bisa dibaca offline, juga tersedia eBook/Buku Duniailkom (meskipun materi OOP PHP belum termasuk)
Kembali ke dasar itu bagus untuk merefresh konsep. Terimakasih pak, materinya fresh.
gan mau tanya, seperti dijelaskan diatas.
echo $laptop_anto->pemilik;
$laptop_anto adalah object baru dari class
->pemilik adalah mengakses property $pemilik di dalam class
.
nah sekarang, klo tanda panahnya sampe 3 berurutan seperti di bawah ini,
cara baca logikanya gimana?
function fieldcount(){ return $this->RS->Fields->Count; }
.
terima kasih sebelumnya jika bersedia menjawab
ditunggu jawabannya ya gn, terima kasih.
Kalau ada beberapa kali tanda panah, berarti di dalam object ada object lain. Di kode yang dicontohkan, RS dan Fields adalah object.
terima kasih atas pencerahannya
Kalau dengan 2 file php terpisah tapi tetap dalam 1 folder apa file fungsi yang terpisah dari file pemanggilnya bisa berjalan seperti di java?
Kalau sudah berbeda file, di halaman tempat fungsi dipanggil harus ditulis perintah include agar bisa diakses, seperti <?php include 'halaman_berisi_fungsi.php';?>
Ga sabar nunggu ebook OOP nya Kang Andre…
paling mudah saya pahami dari semua video dan artikel yang pernah saya baca…
pascal saya skip, lagi fokus belajar web programming, thanks buat 4 ebook web nya…
OOP sangat saya tunggu, apalagi kalo ada Laravel, siap beli skalipun lebih mahal dari ebook lainnya…
terus berkarya Kang Andre
Hehe, siap.. terimakasih juga untuk dukungannya selama ini. Mudah2an akhir tahun nanti bisa rilis eBook OOP PHP.
Terima kasih. Pengertiannya
Gara2 postingan ini saya bisa merubah semua function menjadi class :v
Terimas kasih tutornya gan, akhirnya ane tahu lebih banyak tentang OOP PHP
Makasih gan udah diberi contoh, lumayan sedikit paham
Tambahin lagi tutorial laravel gan
Request ditampung….
Mantap artikelnya gan, pendekatannya enak. terima kasih,
Jejak gan, ke depannya bakal perlu belajar coding juga nih
Akhirnya aku memahami tentang Class, Terimakasih Pak
Saya ikutan belajar gan, mumpung semester ini ada computer programming
Semangat memberi ilmu guru. Ajarkan kami yang coba dikit langsung mumet