PHP - Oop 1
PHP - Oop 1
<?php
class laptop {
// isi dari class laptop...
}
?>
Property (atau atribut) adalah data yang terdapat dalam sebuah class.
Property sebenarnya adalah variabel yang terletak di dalam class. Seluruh aturan dan
tipe data yang biasa diinput ke dalam variabel, bisa juga diinput ke dalam property.
Aturan tata cara penamaan property sama dengan aturan penamaan variabel.
Berikut adalah contoh penulisan class dengan penambahan property:
<?php
class laptop {
var $pemilik;
var $merk;
var $ukuran_layar;
// lanjutan isi dari class laptop...
}
?>
1
Pemrograman Web – OOP PHP
Method adalah tindakan yang bisa dilakukan di dalam class. Method pada dasarnya
adalah function yang berada di dalam class. Seluruh fungsi dan sifat function bisa
diterapkan ke dalam method, seperti argumen/parameter, mengembalikan nilai
(dengan keyword return), dan lain-lain.
Berikut adalah contoh penulisan class dengan penambahan method :
<?php
class laptop {
function hidupkan_laptop() {
//... isi dari method hidupkan_laptop
}
function matikan_laptop() {
//... isi dari method matikan_laptop
}
Object atau Objek adalah hasil cetak/ instanisasi dari class. Proses ‘mencetak’ objek
dari class ini disebut dengan ‘instansiasi’ (atau instantiation dalam bahasa inggris).
Pada PHP, proses instansiasi dilakukan dengan menggunakan keyword ‘new’. Hasil
cetakan class akan disimpan dalam variabel untuk selanjutnya digunakan dalam
proses program.
Sebagai contoh, berikut adalah cara membuat objek laptop_andi dan laptop_anto yang
dibuat dari class laptop:
<?php
class laptop {
//... isi dari class laptop
}
2
Pemrograman Web – OOP PHP
// set property
$laptop_anto->pemilik="Anto";
3
Pemrograman Web – OOP PHP
$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();
?>
Dalam contoh kode di atas, digunakan 1 buah objek yang berasal dari class laptop.
Namun pada dasarnya sebuah class bisa digunakan untuk membuat lebih dari satu
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
//contoh 6.2
//buat class laptop
class 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 />";
4
Pemrograman Web – OOP PHP
?>
// set property
$laptop_anto->pemilik="Anto";
// tampilkan property
echo $laptop_anto->pemilik; // Anto
// tampilkan method
echo $laptop_anto->hidupkan_laptop(); // "Hidupkan Laptop"
?>
Jika hak akses property dan method tidak ditulis, maka PHP menganggapnya
sebagai public.
b. Protected
Jika sebuah property atau method dinyatakan sebagai protected, berarti property
atau method tersebut tidak bisa diakses dari luar class, namun bisa diakses oleh
class itu sendiri atau turunan class tersebut.
5
Pemrograman Web – OOP PHP
Apabila kita mencoba mengakses protected property atau protected method dari
luar class, akan menghasilkan error, seperti contoh berikut ini:
<?php
// contoh 6.4
// buat class laptop
class laptop {
Walaupun akses level protected tidak bisa diakses dari luar class, namun bisa diakses
dari dalam class itu sendiri, berikut adalah contohnya:
<?php
// contoh 6.5
// buat class laptop
class laptop {
6
Pemrograman Web – OOP PHP
Selain dari dalam class itu sendiri, property dan method dengan hak akses
protected juga bisa diakses dari class turunan (Kita akan membahas
tentang penurunan class dalam tutorial lain):
<?php
// contoh 6.6
// buat class komputer
class komputer{
// jalankan method
echo $laptop_baru->tampilkan_processor(); // "Intel Core i7-4790
3.6Ghz"
?>
c. Private
Jika sebuah property atau method di-set sebagai private, maka satu-satunya yang
bisa mengakses adalah class itu sendiri. Class lain tidak bisa mengaksesnya,
termasuk class turunan.
Sebagai contoh, berikut adalah hasil yang di dapat jika kita mengakses
property dan method dengan level private:
<?php
7
Pemrograman Web – OOP PHP
// contoh 6.7
// buat class komputer
class komputer {
Akses level private sering digunakan untuk menyembunyikan property dan method
agar tidak bisa diakses di luar class.
<?php
// contoh 6.8
// buat class laptop
class laptop {
8
Pemrograman Web – OOP PHP
echo "1.".$laptop_baru->hidupkan_laptop();
echo "<br>";
//ubah isi property $pemilik pada objek $laptop_baru
$laptop_baru->pemilik="Arie";
echo "2.".$laptop_baru->hidupkan_laptop();
<?php
// contoh 6.9
// buat class laptop
class laptop {
9
Pemrograman Web – OOP PHP
echo $laptop_anto->hidupkan_laptop();
// hasil: "Hidupkan Laptop Asus punya Anto";
echo $laptop_anto->matikan_laptop();
// hasil: "Matikan Laptop Asus punya Anto";
echo $laptop_anto->restart_laptop();
// hasil:
// "Matikan Laptop Asus punya Anto";
10
Pemrograman Web – OOP PHP
echo $laptop_andi->hidupkan_laptop_anto();
// hasil: "Hidupkan Laptop Acer punya Anto";
?>
Contoh berikutnya :
<?php
// contoh 6.12
// buat class laptop
class laptop {
// buat method untuk class laptop
public function hidupkan_laptop($pemilik="Joko",$merk="Samsung") {
return "Hidupkan Laptop $merk punya $pemilik";
}
}
11
Pemrograman Web – OOP PHP
echo $laptop_andi->hidupkan_laptop();
// hasil: "Hidupkan Laptop Samsung punya Joko";
}
public function __destruct(){
echo "Ini berasal dari Destructor Laptop";
}
}
12
Pemrograman Web – OOP PHP
private $pemilik;
private $merk;
echo $laptop_andi->hidupkan_laptop();
echo "<br />";
echo $laptop_anto->hidupkan_laptop();
?>
Catatan, constructor dan destructor harus memiliki hak akses public. Jika diubah hak
akses constructor atau destructor menjadi protected atau private, PHP akan muncul
pesan error:
9. Inheritance (Pewarisan)
Inheritance atau Pewarisan/Penurunan adalah konsep pemrograman dimana
sebuah class dapat ‘menurunkan’ property dan method yang dimilikinya kepada
13
Pemrograman Web – OOP PHP
class lain. Konsep inheritance digunakan untuk memanfaatkan fitur ‘code reuse’
untuk menghindari duplikasi kode program.
Konsep inheritance membuat sebuah struktur atau ‘hierarchy’ class dalam kode
program. Class yang akan ‘diturunkan’ bisa disebut sebagai class induk (parent
class), super class, atau base class. Sedangkan class yang ‘menerima penurunan’
xbisa disebut sebagai class anak (child class), sub class, derived class atauheir class.
Tidak semua property dan method dari class induk akan diturunkan. Property dan
method dengan hak akses private, tidak akan diturunkan kepada class anak. Hanya
property dan method dengan hak akses protected dan public saja yang bisa diakses
dari class anak.
Inheritance / penurunan dari sebuah class kepada class lain menggunakan kata kunci:
‘extends’, dengan penulisan dasar sebagai berikut:
class induk {
//...isi class induk
}
14
Pemrograman Web – OOP PHP
}
}
// $gadget_baru->beli_komputer();
// Fatal error: Call to protected method komputer::beli_komputer()
?>
Referensi
http://www.duniailkom.com/tutorial-belajar-oop-php-pemrograman-berbasis-objek-php/
15