Anda di halaman 1dari 5

OOP Pada PHP (Part 1)

Pembahasan mengenai dasar pemrograman OOP pada PHP (Rakhmad Maulidi)


Senin Pon, 18 September 2006

OOP Pada PHP (Part 1)


Pada artikel ini akan saya jelaskan implementasi OOP pada PHP. Saya tidak akan menjelaskan secara detail tentang konsep dasar OOP, mungkin bisa anda lihat di artikel lainnya. PHP sudah mendukung OOP mulai versi 5, yang mempunyai bentuk pemodelan object yang baru untuk mengatasi kompleksitas masalah yang tidak bisa dilakukan pada versi sebelumnya. PHP 5 memberikan performa yang lebih baik dan fitur baru dibandingkan versi sebelumnya.

Kelas / Class
Setiap pendefinisain/deklarasi sebuah kelas pada PHP menggunakan class yang diikuti nama kelas, kemudian diikuti tanda '{' dan diakhiri dengan tanda '}' kita bisa memberikan sembarang nama sebuah kelas, selama tidak sama dengan fungsi yang dimiliki PHP. contoh, class print. nama kelas print tidak bisa kita gunakan, karena print adalah fungsi dimiliki oleh PHP. Kita bisa memuat/mendefinisikan properti kelas dan methode kelas di antara tanda "kurung kurawal". variable $this adalah sebuah variable samaran yang digunakan untuk memanggil sebuah propertis atau methode sebuah kelas. Contoh berikut akan lebih memperjelas tentang kelas pada php

class orang{#kelas orang #Properties Class var $nama; var $umur; var $tinggi; var $berat; function orang (){#Constructor echo "Initialisation Object"; } function get_nama(){ return $this->nama; } }#end class
pada contoh di atas saya membuat sebuah kelas dengan nama orang. Kelas tersebut memiliki propertis nama, umur, tinggi dan berat. Fungsi orang adalah sebuah constructor dari kelas orang, contstructor tersebut akan dijalankan ketika kita membuat sebuah object orang.

Properti kelas
Properti kelas kelas merupakan sebuah identitas/karakter khusus sebuah kelas, contoh Orang pasti memilki tinggi dan berat. Tinggi dan berat tersebut adalah sebuat properti. pada contoh kelas orang di atas mempunyai properti nama, umur, tinggi dan berat. Untuk memberikan nilai dari properti sebuah kelas kita tidak bisa menggunakan cara langsung, seperti memberikan nilai pada sebuah varible. Contoh, misalkan kita akan memberikan nilai pada variable properti nama dengan value "Rakhmad maulidi", untuk memberikan value pada properti kelas kita menggunakan variable

$this, Untuk mengakses/menggambil value properti sebuah kelas juga menggunakan variable $this Contoh berikut akan lebih memperjelas tentang cara memberikan value properti kelas pada PHP

$nama="Rakhmad Maulidi";// $this->nama="Rakhmad Idiluam";// echo "$nama";//result : Rakhmad Maulidi echo $this->nama;//result : Rakhmad Idiluam
cara di atas bisa kita jadikan dalam bentuk function berikut :

function set_nama($nama){ $this->nama=$nama; } function get_nama(){ return $this->nama; }

Methode/Behavior Kelas
Methode/Behavior Kelas adalah fungsi-fungsi apa yang bisa dilakukan oleh object. Misalkan pada kelas orang bisa melakukan makan, tidur, berjalan. Contoh berikut akan lebih memperjelas tentang cara memberikan methode/behavior kelas pada PHP

function makan($is_makan) { if ($is_makan){ $mkn = "sedang makan";} else{ $mkn ="sudah makan"; } return $mkn; } function tidur($is_tidur) { if ($is_tidur){ $tdr= "sedang tidur";} else{ $tdr="sudah bangun"; } return $tdr; }
Nah, setelah intermezzo yang saya sampaikan di atas, sekarang waktunya coding yang lebih kongkrit tentang OOP pada PHP. Untuk membuat object dari sebuah kelas kita menggunakan notasi new, contoh

$rahmat = new orang; $andi = new orang; $ali = new orang;


Pada contoh tersebut saya membuat tiga object orang yaitu $rahmad, $andi dan $ali. Masing object akan memiliki properti sendiri-sendiri, misalkan saya akan membeikan value "Rakhmad Idiluam" dari properti nama dari object $rahmad, dan pada object lainnya:

$rahmad->set_nama("Rakhmad Maulidi"); $andi->set_nama("Andi Malarangeng"); $ali ->set_nama("Ali bin Abu Tholib");


Untuk mendapatkan value dari masing properti name dari object kita bisa melakukan cara berikut:

$rahmad->get_nama();

$andi->get_nama(); $ali->get_nama();
untuk penggunaan methode atau behavior pada object kita bisa melakukan cara berikut:

$rahmad->tidur(true); $andi->makan(true); $ali->get_nama(false);


Berikut contoh scriptnya (download) Kirim via Email :: Tampilkan Versi Cetak

Komentar
Halaman Komentar: 123 >

jaylangkung
jaylangkung@... Selasa Pahing, 17 Oktober 2006

kalo bikin klas nya paging gimana ya mas rahmat? masaris


masajihad@... Selasa Pahing, 17 Oktober 2006

ikut koment nich,,, kalo sampe sekarang ada ga php yg murni oop ? trus saya punya kendala dalam oop terkadang saya harus multiple inherits dimana sampe dengan saat ini saya belum ketemu sama yang support hal ini... Kalo ada yg tahu...minta tolong ya... Thk Wass idiluam
idiluam@... Rabu Pon, 18 Oktober 2006

Php sampai versi yang terbaru masih belum mendukung multi inherent seperti C++. bahkan java yang murni oop belum mendukung multi inherent, kalo ngak salah kalo di java ngakalinya pakek class abstract. aku googling & ngoprek dulu ya...sapa tau di php bisa diakali juga sama seperti java galih dtc
kurang_kerjaan_bgt@... Jum'at Legi, 10 November 2006

ga taek taekan programe koyo entut ga iso di gawe megelno Aryo: Wah, Ya Aku ndak seperti boleh begitu download, peribahasa, lah. Kalo ada buruk kendala muka bukannya berhasil cermin mending dengan dipecah ditanyakan sukses saja. kok.

nyoba

dan

menjalankannya,

Jadi, masalahnya di mana nih? idiluam


idiluam@... Jum'at Legi, 10 November 2006

enktesinya yang salah mas, coba direname jadi .php dari .htm bisa dijalanin, karena mungkin yang di attachment ama mas aryo extensi .htm. Aryo:

Yang aku upload sudah .php, dan jika didownload dari Firefox atau IE, jadinya tetep .php. Cuma kalo didownload dari Opera maka ekstensinya jadi .htm. Jadi, kesalahan ada pada ... ah, sudahlah

Jadi, silakan script attachnya direname jadi .php bagi yang mendapatkan hasil .htm. ferdhie
ferdhie@... Selasa Kliwon, 14 November 2006

ini

syntax

php4.

untuk

php

udah

ada

syntax

u/

konstruktor,

dan

encapsulation

suprapto
suprapto@... Senin Kliwon, 4 Desember 2006

Saya Suprapto bisa Kontak di Kantor BPS ( BADAN PUSAT STATISTIK ) Jakarta,.....Ape aje,...? Bisa DI Hubungin di 021- 68454710 rumah ,....Ok. punya direktori Kenegaraan Dunia Internet........ Universal/Global dan Cermin Pancasila Universal Cermin Feconi ( Satya Lencana Karya Satya Pengabdian untuk Pegawai Negri Sipil Seluruh INDONESIA,..? jhuyhhj
safdg@... Selasa Legi, 5 Desember 2006

usdgfdhsdf hutaru
hutaru_oki@... Minggu Pahing, 15 April 2007

can i know and use the registry in the windows ReY


okarai@... Selasa Wage, 22 Mei 2007

////// galih kurang_kerjaan_bgt@...Jum'at ga taek taekan programe Legi, koyo entut 10 ga iso November di gawe dtc 2006 megelno/////

Banyak nemu orang-orang munafik kayak elu. Bisanya cuma hina, ngata2in karya orang. Gw tanya elu bisa ga? jangan bacot aja bisanya.

Buat Mas Aryo, sukses ya..

Anda mungkin juga menyukai