0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan

PHP - Oop 1

1. Dokumen tersebut membahas tentang dasar-dasar pemrograman berbasis objek menggunakan PHP, termasuk penjelasan tentang class, object, property, dan method.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
17 tayangan

PHP - Oop 1

1. Dokumen tersebut membahas tentang dasar-dasar pemrograman berbasis objek menggunakan PHP, termasuk penjelasan tentang class, object, property, dan method.
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 15

Pemrograman Web – OOP PHP

Dasar-dasar Object Oriented Programming PHP


Saat ini, Object Oriented Programming (OOP) telah menjadi standar dalam dunia
pemograman, termasuk PHP. Kali ini akan dibahas tentang Pemrograman Web
Base PHP dengan pendekatan Object Oriented Programming.
PHP bukan bahasa pemrograman yang ‘murni’ berbasis objek seperti Java.
Konsep OOP dalam PHP pertama kali hadir dalam PHP versi 4. OOP PHP
merupakan ‘fitur tambahan’. Aplikasi web bisa dibuat dengan PHP tanpa
menggunakan pendekatan OOP.

1. Pemrograman Berbasis Objek


Pemrograman Berbasis Objek atau Object Oriented Programming (OOP) adalah
paradigma pemrograman dengan menggunakan konsep “objek” yang memiliki atribut
dan prosedur/ fungsi/ method.

2. Class, Object, Property dan Method


Class adalah ‘cetak biru’ atau ‘blueprint’ dari object. Class digunakan hanya untuk
membuat kerangka dasar. Yang akan dipakai nantinya adalah hasil cetakan dari class,
yakni object.
Di dalam PHP, penulisan class diawali dengan keyword class, kemudian diikuti
dengan nama dari class. Aturan penulisan nama class sama seperti aturan
penulisan variabel dalam PHP.
Berikut adalah contoh penulisan class dalam PHP :

<?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
}

... //isi dari class 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
}

$laptop_andi = new laptop();


$laptop_anto = new laptop();
?>

2
Pemrograman Web – OOP PHP

3. Membuat dan Mengakses Objek dalam PHP


Istilah Objek dalam OOP, sebenarnya terdiri dari class, property, method dan object.
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();
?>
Cara mengakses objek yang dimaksud adalah cara untuk mengakses ‘isi’ dari sebuah
objek, yakni property dan method-nya dengan menggunakan tanda panah (‘->’), berikut
adalah revisi contoh class laptop sebelumnya:
<?php
//contoh 6.1
//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";

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 {

// 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 />";

4
Pemrograman Web – OOP PHP

?>

4. Enkapsulasi Objek (Public, Protected dan Private)


Enkapsulasi (encapsulation) adalah sebuah metoda untuk mengatur struktur class
(property dan method) dengan cara menyembunyikan alur kerja dari class tersebut.
Dengan enkapsulasi, bisa dibuat pembatasan akses kepada property dan method,
sehingga hanya property dan method tertentu saja yang bisa diakses dari luar
class. Enkapsulasi juga dikenal dengan istilah ‘information hiding’.
Dengan enkapsulasi, bisa dipilih property dan method apa saja yang boleh diakses,
dan mana yang tidak boleh diakses.
OOP menyediakan 3 access modifier, yakni Public, Protected dan Private.
a. Public
Ketika sebuah property atau method dinyatakan sebagai public, maka seluruh
kode program di luar class bisa mengaksesnya, termasuk class turunan. Berikut
adalah contoh penulisan public propertydan public method dalam PHP:
<?php
// contoh 6.3
// buat class laptop
class laptop {

// buat public property


public $pemilik;

// buat public method


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

// buat objek dari class laptop (instansiasi)


$laptop_anto = new laptop();

// 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 {

// buat protected property


protected $pemilik;

// buat protected method


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

// buat objek dari class laptop (instansiasi)


$laptop_anto = new laptop();

// set protected property akan menghasilkan error


$laptop_anto->pemilik="Anto";
// Fatal error: Cannot access protected property laptop::$pemilik

// tampilkan protected property akan menghasilkan error


echo $laptop_anto->pemilik;
// Fatal error: Cannot access protected property laptop::$pemilik

// jalankan protected method akan menghasilkan error


echo $laptop_anto->hidupkan_laptop();
// Fatal error: Call to protected method laptop::hidupkan_laptop()
// from context
?>

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 {

// buat protected property


protected $pemilik="Anto";

public function akses_pemilik() {


return $this->pemilik;
}
protected function hidupkan_laptop() {
return "Hidupkan Laptop";
}

6
Pemrograman Web – OOP PHP

public function paksa_hidup() {


return $this->hidupkan_laptop();
}
}

// buat objek dari class laptop (instansiasi)


$laptop_anto = new laptop();

// jalankan method akses_pemilik()


echo $laptop_anto->akses_pemilik(); // "Anto"

// jalankan method paksa_hidup()


echo $laptop_anto->paksa_hidup(); // "Hidupkan Laptop"
?>

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{

// property dengan hak akses protected


protected $jenis_processor = "Intel Core i7-4790 3.6Ghz";
}

// buat class laptop


class laptop extends komputer{
public function tampilkan_processor() {
return $this->jenis_processor;
}
}

// buat objek dari class laptop (instansiasi)


$laptop_baru = new laptop();

// 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 {

// property dengan hak akses protected


private $jenis_processor = "Intel Core i7-4790 3.6Ghz";

public function tampilkan_processor() {


return $this->jenis_processor;
}
}

// buat class laptop


class laptop extends komputer{

public function tampilkan_processor() {


return $this->jenis_processor;
}
}

// buat objek dari class laptop (instansiasi)


$komputer_baru = new komputer();
$laptop_baru = new laptop();

// jalankan method dari class komputer


echo $komputer_baru->tampilkan_processor(); // "Intel Core i7-4790
3.6Ghz"

// jalankan method dari class laptop (error)


echo $laptop_baru->tampilkan_processor();
// Notice: Undefined property: laptop::$jenis_processor
?>

Akses level private sering digunakan untuk menyembunyikan property dan method
agar tidak bisa diakses di luar class.

5. Fungsi Variabel $this dalam Pemrograman Objek


Variabel $this adalah sebuah variabel khusus dalam OOP PHP yang digunakan
sebagai penunjuk kepada objek, ketika diaksesnya dari dalam class. Dalam manual
PHP, $this disebut dengan istilah: pseudo-variable.
Berikut adalah dua class laptop dengan beberapa property dan method yang berbeda.

<?php
// contoh 6.8
// buat class laptop
class laptop {

// buat property untuk class laptop


public $pemilik="Andi";

// buat method untuk class laptop

8
Pemrograman Web – OOP PHP

public function hidupkan_laptop() {


return "Hidupkan Laptop $pemilik";
}
}

// buat objek dari class laptop (instansiasi)


$laptop_baru = new laptop();

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();

// buat objek baru dari class laptop dan panggil hidupka


echo "<br>";
$laptop_lama = new laptop();
echo "3.".$laptop_lama->hidupkan_laptop();
?>

Bandingkan dengan yang dibawah ini :

<?php
// contoh 6.9
// buat class laptop
class laptop {

// buat property untuk class laptop


public $pemilik="Andi";

// buat method untuk class laptop


public function hidupkan_laptop() {
return "Hidupkan Laptop $this->pemilik";
}
}

// buat objek dari class laptop (instansiasi)


$laptop_baru = new laptop();

echo $laptop_baru->hidupkan_laptop(); // "Hidupkan Laptop Andi";

//ubah isi property $pemilik pada objek $laptop_baru


$laptop_baru->pemilik="Arie";

echo $laptop_baru->hidupkan_laptop(); // "Hidupkan Laptop Arie";

// buat objek baru dari class laptop dan panggil hidupkan_laptop()


$laptop_lama = new laptop();
echo $laptop_lama->hidupkan_laptop();
?>

9
Pemrograman Web – OOP PHP

6. Pseudo-Variable $this dalam Objek PHP


Dalam contoh berikut, akan dibuat class laptop dengan method yang saling memanggil
method lain menggunakan variabel $this, silahkan anda pahami alur kerja
dari class dan objek dibawah ini:
<?php
// contoh 6.10
// 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";

10
Pemrograman Web – OOP PHP

// "Hidupkan Laptop Asus punya Anto";


?>

7. Method dalam Pemrograman Objek PHP


Method pada dasarnya hanyalah function yang berada di dalam sebuah class, maka
bisa diberi argumen/parameter ke dalam method tersebut.
struktur dasar pembuatan parameter di dalam method PHP:
hak_akses nama_method ($argumen1, argumen2, dst...)
{
//... isi dari method
}
Perhatikan dua contoh berikut :
<?php
// contoh 6.11
// buat class laptop
class laptop {
// buat property untuk class laptop
private $pemilik="Anto";
private $merk="Acer";

// buat method untuk class laptop


public function hidupkan_laptop($pemilik,$merk) {
return "Hidupkan Laptop $merk punya $pemilik";
}

public function hidupkan_laptop_anto() {


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

// buat objek dari class laptop (instansiasi


$laptop_andi= new laptop();

echo $laptop_andi->hidupkan_laptop("Andi", "Lenovo");


// hasil: "Hidupkan Laptop Lenovo punya Andi";

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

// buat objek dari class laptop (instansiasi)


$laptop_andi= new laptop();

echo $laptop_andi->hidupkan_laptop();
// hasil: "Hidupkan Laptop Samsung punya Joko";

echo "<br />";

echo $laptop_andi->hidupkan_laptop("Andi", "Lenovo");


// hasil: "Hidupkan Laptop Lenovo punya Andi";
?>

8. Constructor dan Destructor


Constructor (bahasa indonesia: konstruktor) adalah method khusus yang akan
dijalankan secara otomatis pada saat sebuah objek dibuat (instansiasi), yakni ketika
perintah “new” dijalankan.
Constructor biasa digunakan untuk membuat proses awal dalam mempersiapkan
objek, seperti memberi nilai awal kepada property, memanggil method internal dan
beberapa proses lain yang digunakan untuk ‘mempersiapkan’ objek.
Dalam PHP, constructor dibuat menggunakan method : __construct().
Destructor (bahasa indonesia: destruktor) adalah method khusus yang dijalankan
secara otomatis pada saat sebuah objek dihapus. Di dalam PHP, seluruh objek secara
otomatis dihapus ketika halaman PHP dimana objek itu berada selesai diproses. Tetapi
juga dapat dihapus objek secara manual.
Destructor biasanya digunakan untuk ‘membersihkan’ beberapa variabel, atau
menjalankan proses tertentu sebelum objek dihapus.
Dalam PHP, destructor dibuat menggunakan method : __destruct().
Perhatikan dua contoh dibawah ini :
<?php
// contoh 6.13
// buat class laptop
class laptop {

private $pemilik = "Andi";


private $merk = "Lenovo";

public function __construct(){


echo "Ini berasal dari Constructor Laptop";
}

public function hidupkan_laptop(){


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

}
public function __destruct(){
echo "Ini berasal dari Destructor Laptop";
}
}

12
Pemrograman Web – OOP PHP

// buat objek dari class laptop (instansiasi)


$laptop_andi= new laptop();

echo "<br />";


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

// hapus objek $laptop_andi


unset($laptop_andi);

echo "<br />";


echo "Objek Telah Dihancurkan";
?>
Contoh berikutnya constructor yang sering digunakan untuk membuat objek dengan
nilai awal:
<?php
// contoh 6.14
// buat class laptop
class laptop {

private $pemilik;
private $merk;

// constructor sebagai pembuat nilai awal


public function __construct($pemilik, $merk) {
$this->pemilik = $pemilik;
$this->merk = $merk;
}

public function hidupkan_laptop() {


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

// buat objek dari class laptop (instansiasi)


$laptop_andi= new laptop("Andi", "Lenovo");

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

$laptop_anto= new laptop("Anto", "Acer");

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
}

class anak extends induk


{
//... class anak bisa mengakses
//... property dan method class induk
}
Contoh :
<?php
// contoh 6.15
// buat class komputer
class komputer {
protected function beli_komputer() {
return "Beli komputer baru";
}
}

// turunkan class komputer ke laptop


class laptop extends komputer {
protected function beli_laptop() {
return "Beli laptop baru";
}
}

// turunkan class laptop ke chromebook


class chromebook extends laptop {
protected function beli_chromebook() {
return "Beli chromebook baru";
}

public function beli_semua(){


$a = $this->beli_komputer();
$b = $this->beli_laptop();
$c = $this->beli_chromebook();
return "$a <br /> $b <br /> $c";

14
Pemrograman Web – OOP PHP

}
}

// buat objek dari class laptop (instansiasi)


$gadget_baru = new chromebook();

//panggil method objek


echo $gadget_baru->beli_semua();

// $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

Anda mungkin juga menyukai