Discussion Board : Mengenal konsep pemrograman berorientasi objek dalam PHP, terutama class dan inheritance.
Kebutuhan : webserver package, already installed (atau sebenarnya PHP saja sudah cukup, tanpa mysql atau apache).

Menurut Wikipedia.Com, Pemrograman Berorientasi Object adalah paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam class atau object.

Kunci dalam OOP adalah object. Object dapat dikatakan sebagai kumpulan variabel dan fungsi (yang mana dalam OOP, variabel disebut sebagai properties, dan fungsi disebut sebagai method) yang dikumpulkan dalam satu entitas. Method digunakan untuk memanipulasi data dalam object, properties adalah bagian yang mengandung informasi mengenai data tersebut.

Untuk tutorial kali ini kita akan membahas mengenai 2 konsep dasar dalam OOP, yaitu Class, dan Inheritance.

Class.
Class adalah representasi dari object, didalam class terdapat method dan properties. Langsung saja kita membuat class (simpan dengan nama student.class.php, dan letakkan semua script dalam tutorial kali ini dalam satu folder yang sama).

<?php
class student {

public $name;
public $address;

/*constructor, adalah function yang akan selalu dijalankan ketika sebuah object diinstansiasi / diciptakan. Apabila sebuah class harus menjalankan sebuah fungsi tertentu sebelum menjalankan suatu code, maka disinilah tempat untuk menaruh fungsi tertentu tersebut (biasanya untuk memanggil library). */

public function __construct(){
  echo 'Student's Data.<br />';
}

public function show_name {
echo 'Student's name is : '.$this->name.'<br/>';
}

public function show_address {
echo 'Student's address is : '.$this->address.'<br/>';
}

}
?>

Yup, kamu telah membuat sebuah class. Untuk bisa menggunakan class tersebut, kita perlu membuat, atau menginisialisasi sebuah object dari class tersebut. Sekarang, mari kita mencoba membuat sebuah object dari class Student diatas.

<?php
$student1 = new student; //this create new object in the class student named object student1

//assigning data into properties
$student1->name = 'Alan';
$student1->address = 'Temari Street, 15';

//call the method
$student1->show_name();
$student1->show_address();

?>

Script diatas akan menghasilkan output kira2 seperti ini,

Student’s Data
Student’s name is : Alan
Student’s address is : Temari Street, 15

Inheritance.
Inheritance adalah kemampuan untuk meng-extend class yang akan mewarisi semua karakter dari parent class nya. Dalam hal ini, class yang mewarisi disebut child class.

<?php
include('student.class.php');

class newstudent extends student {
privat $register_number;

public function show_register_number () {
echo 'Student's Register Number is : '.$this->register_number.'<br/>';
}

}
?>

Dapat dijelaskan bahwa object murid baru (new student) tentunya memiliki properti yang berbeda dengan object murid (student), dimana untuk murid baru memiliki properti register_number (nomor pendaftaran) yang tidak dimiliki oleh object murid. Sedangkan object murid baru memiliki semua karakter yang dimiliki oleh object murid. Disinilah konsep Inheritance berguna. Daripada harus membuat sebuah class baru untuk object murid baru, kita bisa meng-extend nya dari Object yang telah ada, yaitu object murid, dengan menambahkan properti dan method khusus untuk object murid baru tersebut.

Dalam kasus ini,
object student (murid) –> parent class
object newstudent (murid baru) –> child class

Untuk menggunakan child class tersebut dapat dicoba dibawah ini,

<?php
$student2 = new newstudent; //this create new object in the class student named object student1

//assigning data into properties
$student2->name = 'June';
$student2->address = 'Kebangkitan Street, 28';
$student2->register_number = '193-123-111';

//call the method
$student1->show_name();
$student1->show_register_number();
?>

Script diatas kira-kira akan menghasilkan output seperti berikut,

Student’s Data
Student’s name is : June
Student’s address is : Kebangkitan Street, 28
Student’s register number is : 193-123-111

Sekian :D Semoga tutorial diatas dapat memberikan konsep dasar untuk Pemrograman berorientasi object dengan PHP, walopun -tentunya- masih sangat kurang untuk anda yang ingin mempelajari OOP.

Happy Coding :D
Hal yang juga menarik:

Hak Cipta

Semua skrip dan teknik dalam artikel di itx.web.id boleh digunakan sebagaimana kehendakmu tanpa perlu mencantumkan sumber. Kamu tidak boleh mengkopi seluruh artikel, dalam Bahasa Indonesia ataupun diterjemahkan ke dalam bahasa lain.

This post is also available in: English


Related Articles:

: PHP

About the author

obviously, a girl. with sweet smile, off course. turning her 21 years trapped on Informatics departement and just started to having some crush with it lately. she uses wordpress. she loves php. she lo

6 Comments

  • saDA says:

    (evil_grin) (drinking) (drinking) (doh) (scenic)

  • maulanakazep says:

    Wah bagus tutornya mas,…thanx ya & nitip link ya :
    http://www.globalstatistik.com/….thanx

  • heri says:

    (headspin) (headspin) (smileydance) (smileydance) (rock) (rock) (smileydance) (smileydance) (fish_hit) (fish_hit) (fish_hit) (banana_ninja) (banana_ninja) (banana_cool) (banana_cool) (dance) (dance) (banana_rock) (banana_rock) (angry) (muscle)

  • ded says:

    beautiful and genius :)
    just perfect…

  • agen gamat says:

    of course like your web-site but you need to check the spelling on several of your posts. A number of them are rife with spelling problems and I to find it very bothersome to tell the reality nevertheless I’ll surely come back again.

  • Rose Quartz says:

    In few easy steps, you are ready to let the vibes of rose
    quartz crystal attract love to you. Adding pearls and crystal beads to the mix can give a totally different look to the piece of handmade jewellery making it
    unique in design. Ask yourself this question: How many know
    how to unleash the power of the crystals, and tap into the power of feng shui, to dramatically and positively change their own life.

Leave a Reply

Your email address will not be published. Required fields are marked *