17
Sep
08

OOP with PHP – Class & Object

First thing first, yang namanya OOP (Object Oriented Programming) pasti menggunakan Object. Apa itu object? Object itu adalah benda-benda yang ada di sekitar kita. Semua yang ada di dunia ini adalah objek, meja adalah objek, mobil adalah objek, manusia adalah objek, everything is object. Semua objek mempunyai nama, sifat, dan action. Sama seperti dalam pemrograman, objek dalam pemrograman mempunyai nama objek, atribut (sifat), dan method (action). Sedangkan class itu kayak template atau konstruktor dari objek, ato dengan kata lain skrip untuk membuat objek. Kalo diumpamakan objek itu adalah roti, class adalah cetakannya. Jadi jangan bingung, mana yang objek mana yang class, soalnya aku sering benget nemuin orang yang masih bingung antara objek dan class. Penulisan class dalam PHP dimulai dengan syntax class lalu diikuti oleh nama class, biasanya diawali dengan huruf besar dan diikuti dengan huruf kecil. Contoh penulisan class dalam PHP:

Secara umum class terdiri dari 3 bagian:
1. Properties / attribute,
2. Methods,
3. Constructor (optional).

1. Properties
Properties ato attribute adalah elemen yang dimiliki oleh objek. Misal class kontak memiliki atribut nama, alamat, noHP. Attribut seperti sifat yang dimiliki oleh sebuah class. Dalam PHP penulisan properties diawali dengan syntax var lalu diikuti dengan nama attribut. Contoh properties dalam PHP:

2. Method
Method adalah, apa yang bisa dilakukan oleh objek. Misal objek mobil bisa maju, mundur, belok,dll. Class kontak ada method simpan, edit, hapus, dll. Method seperti function pada bahasa pemrograman. Seperti function, method juga ada yang berparameter ada yang tidak, ataupun mengembalikan suatu nilai tertentu dengan syntax return. Contoh penulisan method pada PHP:

Pada method di atas terdapat syntax $this->, itu artinya kita sedang mengakses atribut dari class, sebagai contoh $this->nama dan $nama adalah variabel yang berbeda. $this->nama adalah atribut milik class, sedang $nama adalah parameter dari method setNama(). $this adalah variabel spesial yang berfungsi untuk mengakses property di dalam satu class yang sama, dengan kata lain $this tidak akan berlaku jika diakses di luar class.

3. Constructor
Constructor adalah seperti cetakan dari objek. Constructor dijalankan pertama kali pada saat membuat objek baru (dengan menggunakan syntax new). Sebenernya penulisan constructor adalah opsional, karena ketika kita membuat class, constructor akan ter-generate secara otomatis. Jika ingin membuat constructor sendiri juga diperbolehkan. Misalkan ingin memberi nilai default pada attribute. Hal ini dimaksudkan, jika suatu atribut tidak diberi nilai, maka yang tampil adalah nilai default tersebut. Constructor bisa dikatakan method yang spesial. Satu class hanya mempunyai satu constructor. Penulisan constructor ada dua, terserah mo pake yang mana, yang jelas sama-sama bisa bekerja. Yang pertama menulis constructor dengan nama class, yang kedua dengan syntax __construct() (dengan 2 underscore). Contoh penulisan constructor pada PHP:

Pemanggilan Class
Pemanggilan class atau membuat objek baru pada PHP dimulai dengan syntax new, lalu diikuti nama class. Untuk pemanggilan method class, sama seperti saat mengakses atribut dari class, yaitu dengan menggunakan tanda arah panah (->).Contoh:

Pada listing program di atas, jika kita langsung mengakses method cetak() setelah pemangglian constructor / pembuatan objek baru, maka yang akan tercetak di layar adalah Unknown. Hal ini dikarenakan nilai atribut nama belum diberi nilai, dan nilai default dari nama adalah Unknown. Namun setelah pemanggilan method setNama() dan memeberi nilai “Niken Wulandari”, maka yang tercetak di layar adalah Niken Wulandari.

Bersambung…


11 Responses to “OOP with PHP – Class & Object”


  1. 1 acne queen
    17 September 2008 at 2:47 pm

    oh my goat… nanti bakal ngoding lagi y zal? hhh dasar penganjur sesat๐Ÿ˜ฆ knapa aku gampang dipengaruhi y? *mikir sambil leyeh2..*

  2. 17 September 2008 at 3:06 pm

    @acne queen : HA HA HA HA… tenang ul, ntar tak bantu sebisaku wes… jarang-jarang lho ada temen yang baek kayak aku *sambil siul-siul..* kapan lagi ada kesempatan kayak gini? jangan lupa belajar TOEFL ma TPA…

  3. 20 September 2008 at 12:14 am

    knapa kok bisa yg muncul “Niken Wulandari” ?
    bukannya itu di bawah lagi masih ada baris coding

    function __destruct(){
    $this->nama = “”; // clear buffer variable
    echo “Iin Hajar Fitriani”; // constant variable
    }

    *dengerin lagu sambil siul-siul*

    try to find me ? hidemyass.com

  4. 20 September 2008 at 7:26 pm

    wow..wow…
    duch yang pada sibuk mo kuliah S2..
    seno berasa tambah jauh nih ma coding…
    merasa dekat ke networking…. gak tahu nih..
    bingung..

    okeh gudluk yah guys…
    kalo pas kerjain tugas jangan be-dua2 an.. orang ke-tiganya setan loh….

    kangen kuliah lagi…

    hiks..

    regards, seno

  5. 8 October 2008 at 11:27 am

    salam hormat rekan2 sejawat (sejawatengah mangsudnya … xixix )

    ada info apa dengan S2 ?? bagi dong … pren … siapa tahu bisa jadi calo registrasinya ..๐Ÿ˜€

    peace untuk acne green (kok jadi julukannya gini …. )

    best regards,
    http://www.detikmadura.com

  6. 6 acne queen
    8 October 2008 at 1:37 pm

    buset… aqne green tu yg dah kena infeksi kali, Sit.

  7. 11 November 2008 at 11:22 am

    kok sepertinya kenal dengan nilai-nilai variable yang akan digunakan untuk mensetting atribut “nama”…

  8. 11 November 2008 at 11:24 am

    pak dosen, bisakah kita menggabungkan 2 class sekaligus?

  9. 31 January 2009 at 3:39 pm

    @nraka-jahannam : Lagu lama tu mbow..

    @seno : bukannya setanny km sen? hehe.. kuliah lagi, belajar lagi, setres lagi…

    @detikmadura : infonya aku dapet dari dinus sit, ntar klo ada lag km mau? btw thx tawarannya di detik.com

    @acne queen : dah terima aja apa adanya ul… hows life?

    @Jiban : hehe, kyk g ngerti aja ban, menggabungkan 2 class bisa ban, nama file-nya adalah nama class yang ada main-nya. klo ga class yang public.

  10. 10 dina c'Em
    11 January 2010 at 10:19 am

    BgaiMana CiHH Cra MenYembUnyiKan CLASS SehinggA tidk DapT dI AksES DarI LuAr


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


Latest Tweets

September 2008
S M T W T F S
« Aug   Feb »
 123456
78910111213
14151617181920
21222324252627
282930  

Blog Stats

  • 47,320 hits

%d bloggers like this: