menu

  • Home
  • About
  • Software
  • Game
  • Video

Selasa, 01 September 2015

Penggunaan class pada PHP

Assallamuallaikum Wr.Wb......

             I.        Pengertian OOP


Object Oriented Programming (Pemrograman Berorientasi Object) merupakan sebuah paradigma baru dalam teknik pemorgraman. Dimana issu terpenting dari pemrograman OOP adalah object itu sendiri.

           II.        Pengertian Class


Class adalah sebagai desain awal dari sebuah objek (blueprint of object). Dimana ketika mendesain class perlu adanya deklarasi untuk variable dan juga method.
Contoh penggunaan Class pada PHP :

class mobil {
          public $merk = “Ferrari”;
          public $jenis = “sedan”;
          public $roda = 4;
          function display(){
                   echo “merk mobil :”.$this    merk.”<br />”;
                   echo “jenis mobil :”.$this    jenis.”<br />” ;
                   echo “jumlah roda :”.$this     roda.”<br />”;
}
}
Dari penggalan kode di atas, maka dalam satu class (buku), mendapati 3 buah variable dengan nama $merk,$jenis,$roda dan 1 buah method dengan nama display().


             I.        Instansiasi Objek

Setelah mendesain class, maka agar function dan variable dapat dijalankan dan diakses maka class tersebut harus diubah terlebih dahulu menjadi objek.

Proses tersebut disebut sebagai instansiasi objek, dengan penulisan script sebagai berikut :

$car = new mobil();

Dari penggalan kode di atas maka $car adalah nama objek yang dibentuk dari class mobil. Kata new adalah sebagai keyword untuk pengalokasian memori dan mobil() adalah constructor dari class mobil.

Programmer dapat menjalankan function dan merubah nilai dari variable melalui objek yang telah di instansiasi.

Contoh pemanggilan atau pemakaian function :

$car = new mobil();
$car      display();

Dengan kode di atas maka layar akan mengeluarkan output seperti di bawah ini :

Merk mobil : Ferrari
Jenis mobil : sedan
Jumlah roda : 4

Contoh pengaksesan nilai dari variable :
$car = new mobil();
$car      merk = “Hino”;
$car      jenis = “truk”;
$car      roda = 8;
$car      display();
Dari penggalan di atas maka kode akan merubah nilai dari tiap-tiap variable yang sudah dideklarasikan pada saat desain class.

           II.        Constructor
Constructor adalah method yang pertama kali dijalankan ketika objek pertama kali dibentuk. Constructor berfungsi untuk memberikan nilai awal pada objek yang dibentuk.

Pada PHP untuk membuat constructor bisa dengan menuliskan nama method yang sama dengan nama class-nya atau dengan __construct().

Contoh penulisan constructor :

class motor {
          function motor(){
                   echo “constructor class motor”;
}
}

class mobil {
          function __construct(){
                   echo “constructor class mobil”;
}
}

*catatan : penulisan constructor dengan __construct() mulai bisa digunakan untuk <PHP 5










          III.        Sifat – sifat OOP

Object Oriented Programming memiliki 3 sifat , yaitu :

Inheritance

Merupakan mekanisme pewarisan sebuah class oleh class yang lain. Artinya, class yang mewarisi class lain akan memiliki sifat dari class yang diwarisinya.

Contoh penggunaan inheritance pada PHP :
class mobil {
          public $merk;
          public $jenis;
          public $roda;
          function __construct(){
                   $this     merk = “Ferrari”;
                   $this    jenis = “sedan”;
                   $this     roda = 4;
}
function display(){
          echo “merk mobil :”.$this    merk.”<br />”;
          echo “jenis mobil :”.$this    jenis.”<br />” ;
          echo “jumlah roda :”.$this     roda.”<br />”;
}
}


class mobil_balap extends mobil {
          function cetak($arena) {
          echo “mobil balap di arena :”.$arena;
}
}

$mb = new mobil_balap();
$mb     cetak(“f1”);
$mb     display();

Dari penggalan kode di atas $mb merupakan objek dari class mobil_balap yang mewarisi class mobil.Sehingga objek $mb dapat memanggil method yang ada pada class mobil.

Pada penggunaan inheritance dikenal adanya method Overriding.

Overriding adalah penamaan method pada subclass yang sama dengan nama method pada superclass.







Contoh penggunaan overriding:

class book {
          public $title = “PHP Codeigniter”;
          public $author = “Sahib”;
          function display(){
                   echo “judul = ”.$this    title.”<br />”;
                   echo “pengarang = “.$this    author.”<br />”;
}       
}

class novel extends book {
          function display($title,$author){
                   echo “judul = “.$title.”<br />”;
                   echo “pengarang = “.$author;
}
}

$b = new book();
$b    display();
$n = new novel();
$n    display(“harry potter”,”JK Rowling”);





Encapsulation
Merupakan suatu proteksi terhadap member class agar tidak dapat diakses atau diubah dari luar class.

Contoh penggunaan encapsulation pada PHP :

class rekening {
          private $nama_akun;
          private $saldo;
}

Apabila saat membuat objek dan mengakses dari variable-variable tersebut maka pesan error akan muncul.

$rek = new rekening();
$rek    nama_akun = “sahib”; //tidak diperbolehkan
$rek     saldo = 100000; //tidak diperbolehkan

Agar programmer tetap dapat melakukan pengaksesan terhadap variable yang di enkapsulasi (write or read), maka terlebih dahulu harus dibuatkan method yang berfungsi untuk menulis ataupun membaca nilai variable.

Method yang berfungsi untuk memberikan nilai variable disebut sebagai method setter. Dan method yang berfungsi untuk membaca nilai dari variable disebut sebagai method getter.

Contoh penulisan method setter :

class rekening :
function setNamaAkun($nama){
          $this    nama_akun = $nama;
}
function setSaldo($saldo){
          $this    saldo = $saldo;
}

Contoh penulisan method getter :

class rekening :
function getNamaAkun(){
          return $this    nama_akun;
}
function getSaldo(){
          return $this    saldo;
}



Maka untuk mengaksesnya dapat menuliskan kode seperti di bawah ini :

$rek = new rekening();
$rek     setNamaAkun(“sahib”);
$rek     setSaldo(1000000);
echo “nama pemegang rekening :”.$rek    getNamaAkun();.”<br />”;
echo “jumlah saldo :”.$rek     getSaldo();

Yang memegang peranan pada encapsulation adalah penggunaan access modifier, dimana terdapat 3 access modifier, yaitu public, private, protected.

Berikut table akses pada masing-masing access modifier


Class sendiri
Class lain
Class turunan
Public
Y
Y
Y
Private
Y
N
N
Protected
Y
N
Y

Gambar 4. Table access modifier




Polymorphism
Polymorphism adalah merupakan kemampuan untuk menciptakan variable, function, atau sebuah object yang memiliki banyak bentuk.Inti dari polymorphism adalah meng-overide method pada subclass.

Contoh penggunaan polymorphism :

class hewan {
          private $nama;
          function setNama($nama){
                   $this     nama = $nama;
}
function bicara(){
          echo “belum memilih hewan”;
}
}
class kucing extends hewan {
          function __construct($nama){
                   $this     setNama($nama);
}
function bicara(){
          echo “miaauww”;
}
}
class anjing extends hewan {
          function __construct($nama){
                   $this     setNama($nama);
}
function bicara(){
          echo “guk guk”;
}
}
$h = new hewan();
$h    bicara();
$k = new kucing(“tom”);
$k    bicara();
$a = new anjing(“spike”);
$a    bicara();














         IV.        LAB

1.   Apa yang dimaksud dengan class ?

2.   Apa yang dimaksud dengan objek?

3.   Apa yang dimaksud dengan instance?

4.   Apa hubungan constructor dengan instance?

5.   Apa yang dimaksud dengan inheritance, encapsulation, dan polymorphism?

6.   Di bawah ini adalah contoh pembuatan class yang salah, cari letak kesalahannya kemudian tulislah yang benar!

class instruktur {
          public String $nama;
          public String $materi;
          public int $gaji;
          //constructor
          function instructor(){
                   $nama = “Rizal”;
                   $materi = “cisco”;
                   $gaji = 10000000;
}
}

7.   Buatlah class dengan nama karyawan yang terdiri dari nama, alamat, jabatan, gaji. Dan buatlah metoda untuk menampilkan informasi-informasi dari class karyawan tersebut.
Karyawan
Nama
Alamat
Jabatan
Gaji
Cetak()








                                                                       


8.   Buatlah class instruktur yang merupakan turunan dari class karyawan, dimana pada class instruktur terdapat informasi baru untuk menampung nilai materi yang diajarkan.

9.   Modifikasi class karyawan dimana tiap-tiap variable dari class karyawan di-enkapsulasi, tetapi untuk class turunannya masih dapat mengaksesnya secara langsung.

10.   Pada class instruktur buatlah kembali sebuah metoda dengan nama cetak, untuk menampilkan semua informasi dari class instruktur.

11.   Buatlah constructor dari class karyawan, dan sifat dari constructor tersebut adalah untuk memberikan nilai awal ke tiap-tiap variable dari class karyawan pada saat instance dibentuk.