Blogger Anak Babagan

Ds. Babagan RT 01 RW 03

Jumat, 26 Februari 2016

Tutorial PHP OOP Part 7 : Konstanta Pada Class

Tutorial PHP OOP Part 7 : Konstanta Pada Class

 


Konstanta adalah sebuah nilai tetap yang tidak berubah selama pemrograman. Kita bisa membuat konstanta pada class. Bentuk konstanta bukan seperti variabel yang diberi nilai dan tidak menggunakan tanda $ (dollar).

NIlai konstanta ini bersifat tetap/konstan, bukan variabel, properti, hasil perhitungan matematis atau nilai balikan fungsi. Nilai konstanta ini bisa berupa integer atau string. Contoh konstanta adalah nilai pi yang besarnya 22/7 atau sering dibulatkan menjadi 3.14.

Membuat Konstanta

Untuk membuat konstanta didalam class, kita menggunakan keyword "const" kemudian diikuti dengan nama konstanta, tanda samadengan (=) lalu nilai dari konstanta.
  1. class namaClass {    
  2.   const nama_konstanta = nilai_konstanta;    
  3. }    

Menggunakan Konstanta

Cara menggunakan konstanta agak berbeda dengan cara menggunakan variabel/properti. Jika dalam menggunakan properti diluar class kita harus instantisasi object dan menggunakan tanda "->", maka pada konstanta hal ini tidak berlaku.

Kita bisa menggunakan konstanta dengan beberapa cara berikut ini :

1. Cara langsung tanpa instantisasi obyek

Dengan cara ini kita bisa menggunakan konstanta tanpa harus membuat object dulu. Aturan penulisannya dengan menyebut nama class dan diikuti tanda dobel titik dua (::).
  1. class MyClass {    
  2.   const Konstanta = "Nilai Konstan";    
  3. }  
  4.   
  5. echo MyClass::Konstanta;   

2. Cara tidak langsung dengan instantisasi object

Untuk menggunakan konstanta dengan instantisasi object kita harus menggunakan bantuan method yang menampilkan konstanta. Method ini menggunakan keyword "self" untuk mengakses konstanta didalam class.
  1.  class MyClass {    
  2.    const Konstanta = "Nilai Konstan";    
  3.   
  4.     function showConstant() {  
  5.         return  self::Konstanta;  
  6.     }  
  7.  }  
  8.   
  9. $class = new MyClass();  
  10. echo $class->showConstant();  
Pada contoh terlihat kita tidak bisa mengakses konstanta dengan cara seperti properti berikut ini:
  1. $class = new MyClass();  
  2. echo $class->Konstanta;  
Hal ini karena cara tersebut hanya berlaku untuk properti dan method. Jika dijalankan akan menghasilkan tampilan error seperti ini :

    Notice: Undefined property: MyClass::$Konstanta in /var/www/php/demo.php on line 10

Sebagai gantinya kita menggunakan method showConstant() yang membalikkan nilai dari konstanta. Baru kemudian kita menampilkan nilai tersebut dengan perintah echo.

Referensi :

Tutorial PHP OOP Part 6 : Mengenal Class Turunan (Inheritance)

Tutorial PHP OOP Part 6 : Mengenal Class Turunan (Inheritance)

 


Class turunan adalah sebuah class yang dibuat berdasarkan sebuah class utama (class parent). Dalam pemrograman PHP berorientasi obyek cara ini disebut pewarisan sebuah class atau dalam bahasa inggis disebut dengan inheritance. Class utama sering juga disebut class induk (parent class) dan class turunan disebut dengan class anak (child class).

Dengan pewarisan class ini, class turunan dapat menggunakan semua properti dan method yang ada dalam class utama selama diset public atau protected. Teknik pewarisan class membuat pemrograman menjadi lebih ringkas.

Contoh penggunaan class turunan ini pernah ditampilkan pada tulisan sebelumnya tentang penggunaan enkapsulasi protected, dimana setting protected berarti sebuah properti bisa digunakan pada class utama dan class turunan.

Membuat Class Turunan

Untuk membuat class turunan kita menggunakan perintah yang sama dengan saat membuat class namun dibelakangnya ditambahi dengan keyword "extends" dan diikuti dengan nama class utama lalu sepasang kurung kurawal {}.
  1. class namaClassutama {  
  2.     public $propertiClassutama;  
  3.   
  4.     public function methodClassutama() {  
  5.         ....  
  6.     }   
  7. }  
  8.   
  9. class namaClassturunan extends namaClassutama {  
  10.     public function methodClassturunan() {  
  11.         ....  
  12. }  
Kita bisa membuat lebih dari satu class turunan dari class utama, dalam hal ini memang belum ada batasan turunan dalam penggunaan class utama.
  1. class namaClassutama {  
  2.     public $propertiClassutama;  
  3.   
  4.     public function methodClassutama() {  
  5.         ....  
  6.     }   
  7. }  
  8.   
  9. class namaClassturunan1 extends namaClassutama {  
  10.     public function methodClassturunan1() {  
  11.         ....  
  12. }  
  13.   
  14. class namaClassturunan2 extends namaClassutama {  
  15.     public function methodClassturunan2() {  
  16.         ....  
  17. }  
Sebuah class turunan juga dapat menjadi class utama bagi class turunan lagi, begitu seterusnya.
  1. class namaClassutama {  
  2.     public $propertiClassutama;  
  3.   
  4.     public function methodClassutama() {  
  5.         ....  
  6.     }   
  7. }  
  8.   
  9. class namaClassturunan1 extends namaClassutama {  
  10.     public function methodClassturunan1() {  
  11.         ....  
  12. }  
  13.   
  14. class namaClassturunan2 extends namaClassturunan1 {  
  15.     public function methodClassturunan2() {  
  16.         ....  
  17. }  

Membuat Object dari Class Turunan

Kita juga bisa membuat obyek baru dari class turunan yang telah dibuat tadi sama dengan obyek dari class pada umumnya. Namun properti dan method yang ada pada class utama kita akses dengan object yang dibuat dari class turunan ini. Jadi tidak perlu membuat object dari dua class sekaligus.
  1. //membuat object dari classTurunan  
  2.     $namaObject = new namaClassturunan;  
  3.   
  4. //mengakses properti pada classUtama  
  5.     $namaObject->$propertiClassutama=value;  
  6.   
  7. //mengakses method pada classUtama  
  8.     echo $namaObject->$methodClassutama();  

Contoh penggunaan Class turunan

  1. <?php    
  2. class Induk {     
  3.   var $panjang;    
  4.   var $lebar;    
  5.   function luas_persegi()      
  6.   {      
  7.     $hasil$this->panjang * $this->lebar;     
  8.     return $hasil;      
  9.   }    
  10. }    
  11. class Anak extends Induk {    
  12.   var $tinggi;    
  13.   function volume_balok()    
  14.   {    
  15.     $hasil$this->panjang * $this->lebar * $this->tinggi;     
  16.     return $hasil;    
  17.      }     
  18. }     
  19.   
  20. //membuat object dari class Anak  
  21. $anak = new Anak;    
  22.   
  23. //set nilai properti  
  24. $anak->panjang=8;    
  25. $anak->lebar=5;    
  26. $anak->tinggi=7;    
  27.   
  28. //menampilkan hasil  
  29. echo "Ini hasil dari method class induk<br/>";    
  30. echo "Luas Persegi = ".$anak->luas_persegi()."<br/><br/>";    
  31. echo "Ini hasil dari method class anak<br/>";    
  32. echo "Volume Balok = ".$anak->volume_balok();    
  33. ?>    
Script diatas jika dijalankan akan menampilkan hasil berikut ini :

Ini hasil dari method class induk
Luas Persegi = 40

Ini hasil dari method class anak
Volume Balok = 280

Pada contoh terlihat bahwa object yang dibuat dari class Anak bisa mengakses properti panjang dan lebar dari class Induk. Selain itu object yang dibuat dari class Anak juga bisa mengakses method luas_persegi() yang ada pada class Induk.

Referensi :

Tutorial PHP OOP Part 5 : Perbedaan dari Public, Private dan Protected

Tutorial PHP OOP Part 5 : Perbedaan dari Public, Private dan Protected

 


Pada konsep dasar pemrograman PHP berorientasi obyek kita mengenal istilah atau fitur yang disebut dengan Enkapsulasi. Fitur ini berguna untuk menentukan hak akses bagi setiap properti dan method dalam class. Enkapsulasi atau bahasa inggrisnya disebut encapsulation sejatinya merupakan teknik pengemasan sebuah class.

Pada teknik enkapsulasi terdapat tiga jenis hak akses yaitu public, private dan protected. Public merupakan akses paling luas yang mengijinkan akses dari manapun meski dari luar class. Selanjutnya adalah Private, yaitu ijin akses hanya untuk didalam class dan yang terakhir adalah Protected yaitu ijin akses untuk dari dalam class dan class-class turunannya.

Note : Untuk mengetahui lebih lanjut tentang class turunan (Inheritance) insyaAllah akan ditulis pada artikel selanjutnya.

Public Akses

Public akses merupakan akses terluas bagi properti dan method. Dengan akses ini kita bisa melakukan apapun dan dari manapun. Untuk membuat sebuah properti bersifat public kita cukup menuliskan keyword "var" pada properti atau keyword "function" pada method.

Namun demikian kita bisa juga menuliskan "public" sebagai pengganti "var" pada properti dan menuliskan "public" didepan keyword "function" pada sebuah method.
  1. class Nama_Class {    
  2.   
  3.     //membuat properti public dengan keyword "var"  
  4.     var $nama_Properti1;    
  5.   
  6.     //membuat properti public dengan keyword "public"  
  7.     public $nama_Properti2;        
  8.     
  9.     //membuat method public dengan keyword "function" saja  
  10.     function nama_Method1() {      
  11.        ....  
  12.     }      
  13.   
  14.     //membuat method public dengan keyword "public" dan "function"  
  15.     public function nama_Method1() {      
  16.        ....  
  17.     }      
  18. }    

Private Akses

Private akses merupakan akses terbatas hanya didalam class saja. Artinya kita tidak bisa mengakses properti dan method dari luar class termasuk class turunan. Namun properti bersifat private masih bisa kita akses dari luar class dengan method yang bersifat public.

Untuk membuat sebuah properti dan method bersifat private, kita harus menambahkan keyword private didepannya.
  1. class Nama_Class {    
  2.   
  3.     //membuat properti private dengan keyword "private"  
  4.     private $nama_Properti;        
  5.     
  6.     //membuat method private dengan keyword "private" dan "function"  
  7.     private function nama_Method() {      
  8.        ....  
  9.     }      
  10. }    

Protected Akses

Protected akses mengijinkan sebuah properti dan method diakses dari dalam class dan class-class turunan dari class utama (parent class).

Untuk membuat sebuah properti dan method bersifat protected, kita harus menambahkan keyword protected didepannya.
  1. class Nama_Class {    
  2.   
  3.     //membuat properti protected dengan keyword "protected"  
  4.     protected $nama_Properti;        
  5.     
  6.     //membuat method protected dengan keyword "protected" dan "function"  
  7.     protected function nama_Method() {      
  8.        ....  
  9.     }      
  10. }    

Contoh perbedaan public, private dan protected dapat dilihat berikut ini :

1. Pertama kita buat class Rumus_Bangun_Datar sebagai class utama

  1. <?php   
  2. class Rumus_Bangun_Datar {     
  3.    var $panjang;    
  4.    public $lebar;    
  5.    private $alas;    
  6.    private $tinggi;     
  7.    protected $diameter;    
  8.   
  9.    protected function luas_persegi()      
  10.    {      
  11.      $hasil$this->panjang * $this->lebar;     
  12.      return $hasil;      
  13.    }    
  14.   
  15.    public function show_luas_persegi()      
  16.    {      
  17.      return $this->luas_persegi();      
  18.    }    
  19.   
  20.    public function set_alas($x)    
  21.    {    
  22.      $this->alas = $x;    
  23.    }    
  24.   
  25.    private function luas_segitiga()      
  26.    {      
  27.         $this->tinggi = 20;    
  28.      $hasil$this->alas * $this->tinggi / 2;     
  29.      return $hasil;      
  30.    }    
  31.   
  32.    public function show_luas_segitiga()      
  33.    {      
  34.      return $this->luas_segitiga();      
  35.    }    
  36.   
  37.    public function luas_lingkaran($x)      
  38.    {      
  39.       $this->diameter = $x;    
  40.       $r = $this->diameter /2;    
  41.      $hasil= 3.14 * $r * $r;     
  42.      return $hasil;      
  43.    }    
  44.  }   
  45. ?>    
Pada class diatas terdapat 5 buah properti dengan akses yang berbeda, yaitu :
  • $panjang = public
  • $lebar = public
  • $alas = private
  • $tinggi = private
  • $diameter = protected
Dan juga terdapat 4 buah method dengan akses yang berbeda pula :
  • luas_persegi = protected
  • show_luas_persegi = public
  • set_alas = public
  • luas_segitiga = private
  • show_luas_segitiga = public
  • luas_lingkaran = public

2. Selanjutnya kita buat object dan menguji masing-masing properti dan method yang ada didalam class Rumus_Bangun_Datar

  1. <?php   
  2.  //Membuat Object dari class Rumus_Bangun_Datar    
  3.   
  4.     $Rumus_BD = new Rumus_Bangun_Datar;    
  5.   
  6.  //MENGHITUNG LUAS PERSEGI    
  7.  //Mengeset properti panjang dan lebar yang bersifat public    
  8.   
  9.     $Rumus_BD->panjang = 7;    
  10.     $Rumus_BD->lebar = 8;    
  11.   
  12.  //Method luas_persegi bersifat protected    
  13.  //Maka untuk menampilkan hasil method luas_persegi tidak bisa dari luas class    
  14.  //jadi kita gunakan method show_luas_persegi untuk menampilkan hasilnya    
  15.   
  16.     echo "Luas Persegi = ".$Rumus_BD->show_luas_persegi()."<br/>";    
  17.   
  18.  //MENGHITUNG LUAS SEGITIGA    
  19.   
  20.  //Mengeset properti alas yang bersifat private tidak bisa dari luas class    
  21.  //Jadi kita gunakan method set_alas untuk mengeset properti alas    
  22.   
  23.     $Rumus_BD->set_alas(5);    
  24.   
  25.  //Untuk properti tinggi juga bersifat private namun sudah diset dari dalam class    
  26.  //Menampilkan hasil method luas_segitiga tidak bisa dari luas class    
  27.  //jadi kita gunakan method show_luas_segitiga untuk menampilkan hasilnya  
  28.   
  29.     echo "Luas Segitiga = ".$Rumus_BD->show_luas_segitiga()."<br/>";    
  30.   
  31.  //MENGHITUNG LUAS LINGKARAN    
  32.   
  33.  //Kita tidak bisa mengeset properti diameter dari luar karena bersifat protected    
  34.  //Untuk itu kita mengesetnya secara langsung pada method luas_lingkaran    
  35.  //Menampilkan hasil dari method luas_lingkaran    
  36.   
  37.     echo "Luas Lingkaran = ".$Rumus_BD->luas_lingkaran(10);   
  38.   
  39. ?>   

3. Jika program diatas dijalankan akan menghasilkan tampilan berikut ini :

Luas Persegi = 56
Luas Segitiga = 50
Luas Lingkaran = 78.5

4. Lalu kita buat class Rumus_Bangun_Ruang yang merupakan turunan dari class bangun datar

  1. <?php  
  2. class Rumus_Bangun_Ruang extends Rumus_Bangun_Datar{    
  3.   private $tinggi;    
  4.   
  5.   private function volume_balok()    
  6.    {    
  7.     $this->tinggi = 5;    
  8.     $hasil = $this->panjang * $this->lebar * $this->tinggi;    
  9.     return $hasil;    
  10.    }    
  11.   
  12.   public function show_volume_balok()    
  13.    {    
  14.      return $this->volume_balok();    
  15.    }    
  16.   
  17.   public function volume_bola($x)    
  18.    {    
  19.      $this->diameter = $x;    
  20.      $r = $this->diameter /2;    
  21.      $hasil = 4 * 3.14 * $r * $r / 3;    
  22.      return $hasil;    
  23.    }    
  24.  }   
  25. ?>    
Pada class diatas terdapat 1 buah properti dengan akses yang private, yaitu $tinggi.

Dan juga terdapat 3 buah method dengan akses yang berbeda :
  • volume_balok = private
  • show_volume_balok = public
  • volume_bola = public

5. Kemudian kita buat object dan menguji masing-masing properti dan method yang ada didalam class Rumus_Bangun_Ruang

  1. </php   
  2.  //Membuat Object dari class Rumus_Bangun_Ruang    
  3.   
  4.    $Rumus_BR = new Rumus_Bangun_Ruang;    
  5.   
  6.  //MENGHITUNG VOLUME BALOK    
  7.  //Mengeset properti panjang dan lebar memanfaatkan properti dari class Rumus_Bangun_Datar    
  8.   
  9.       $Rumus_BR->panjang = 7;    
  10.       $Rumus_BR->lebar = 8;    
  11.   
  12.  //Method volume_balok bersifat private jadi tidak bisa siakses dari luar class    
  13.  //Menampilkan hasil volume balok dengan method show_volume_balok    
  14.   
  15.       echo "Volume Balok = ".$Rumus_BR->show_volume_balok()."<br/>";     
  16.   
  17.  //MENGHITUNG VOLUME BOLE    
  18.   
  19.  //Kita tidak bisa mengeset properti diameter dari luar karena bersifat protected    
  20.  //Untuk itu kita mengesetnya secara langsung pada method volume bola    
  21.  //Menampilkan hasil dari method volume_bola    
  22.   
  23.       echo "Volume Bola = ".$Rumus_BR->volume_bola(10)."<br/>";      
  24.   
  25. ?>    

6. Jika keseluruhan program diatas dijalankan akan menghasilkan tampilan berikut ini :

Luas Persegi = 56
Luas Segitiga = 50
Luas Lingkaran = 78.5
Volume Balok = 280
Volume Bola = 104.66666666667

Referensi :

Tutorial PHP OOP Part 4 : Membuat dan Menjalankan Method

Tutorial PHP OOP Part 4 : Membuat dan Menjalankan Method


 


Method adalah sebuah function yang ditaruh pada class. Method ini merupakan perilaku atau tindakan yang bisa dilakukan terharap class. Jika properti merupakan unsur atau elemen sebuah object maka method lebih kepada bagaimana apa yang bisa dilakukan obyek dan apa yang bisa kita lakukan terhadap obyek seperti memerintah dan mengambil data dari obyek.

Karena berupa function maka semua karakteristik function pada PHP juga berlaku pada method. Seperti contohnya function bisa mengembalikan nilai maka method juga bisa. Jika sebuah class tidak wajib memiliki method.

Membuat Method

Untuk membuat method kita menggunakan perintah yang sama dengan membuat function, yaitu dengan keyword function diikuti dengan nama method dengan sepasang kurung () untuk menempatkan variabel kemudian isi dari method ditarus diantara dua kurung kurawal {}.
 class Nama_Class {  

   function nama_method () {  
     ....// isi method  
   }  
 }  
Dengan cara diatas, secara otomatis kita membuat method dengan akses public. Cara ini sama dengan cara berikut :
 class Nama_Class {  

   public function nama_method () {  
     ....// isi method  
   }  
 }  
Lalu bagaimana jika akan membuat hak akses method seperti saat membuat properti yaitu yang hanya bisa diakses didalam class atau didalam class dan turunannya? Solusinya sama, yaitu kita bisa menggunakan teknik enkapsulasi dengan atribut private atau protected seberti cara berikut :
 class Nama_Class {  

   public function nama_method1 () {  
     ....// isi method  
   }  

   private function nama_method2 () {  
     ....// isi method  
   }  

   protected function nama_method3 () {  
     ....// isi method  
   }  
 }  
Pada contoh diatas, $nama_method2 dibuat private sehingga hanya bisa diakses dari dalam class saja. Sedangkan $nama_method3 dibuat protected artinya bisa diakses dari dalam class dan turunannya saja. Pengertian diakses disini adalah bisa diperintah atau dipanggil untuk menjalankan suatu rangkaian tugas tertentu yang tertulis dalam function.

Mengenai teknik Enkapsulasi insyaAllah akan ditulis pada artikel selanjutnya yang akan membahas lebih detail tentang perbedaan public, private dan protected.

Menjalankan Method

Menjalankan method artinya memanggil function dari dalam class, jadi mirip dengan saat kita memanggil function pada pemrograman PHP prosedural. Bedanya adalah pada pemrograman berorientasi obyek kita memanggil method harus dengan perantaraan object dulu. Pada tulisan sebelumnya tentang membuat dan mengakses properti sudah sekilas terlihat bagaimana menjalankan sebuah method.
Untuk memanggil method diawali dengan nama object lalu tanda "->" kemudian nama method. Sebuah method bisa menjadi setter (pengeset) dan getter (pengambil). Tanda kurung () yang menyertai nama method merupakan tempat untuk menempatkan paramater argumen.

Kita bisa menambahkan satu atau beberapa variabel pada argumen. Masing-masing variabel pada argumen dipisahkan dengan tanda koma. Argumen bisa juga bersifat konstan dan sering disebut dengan default parameter. Artinya jika tidak diset, maka konstanta ini menjadi nilai default bagi method tersebut.
  <?php     
  class Mobil {     
  private $harga;     
  public function set_harga($value) {     
      $this->harga = $value;     
    }     
  public function baca_harga() {    
      return $this->harga;    
    }    
  }     
  //membuat object   
  $mobil = new Mobil();     

  //memanggil method set_harga untuk menyetting properti harga     
  $mobil->set_harga("100.000.000");     

  //mengambil data dari method baca_harga untuk membaca dan menampilkan properti harga    
  echo "Harga = ".$mobil->baca_harga();    
 ?>    
Referensi :

Tutorial PHP OOP Part 3 : Membuat dan Mengakses Properti


Tutorial PHP OOP Part 3 : Membuat dan Mengakses Properti


 

Properti merupakan sebuah kondisi yang menyertai sebuah object. Misalnya kita membuat object berupa mobil, maka properti adalah informasi atau parameter yang menyertai mobil tersebut seperti merk, tahun pembuatan, kapasitas mesin, bahan bakar dan lan-lain.

Properti berupa variabel yang dibuat didalam class dan nantinya menjadi akses untuk program dalam menentukan dan mengambil nilai properti sebuah object. Seluruh hal yang berlaku pada variabel PHP seperti tipe data dan operator, berlaku juga untuk properti.

Membuat Properti

Properti harus dibuat didalam class., tidak bisa dibuat diluar class. Untuk membuat properti secara sederhana kita menggunakan perintah var diikuti dengan nama variabel dengan tanda $ (dollar). Meskipun sebuah variabel ditulis didalam class namun tidak diawali dengan var, maka ia tidak dianggap sebagai properti, melainkan hanya dianggap sebagai variabel biasa.
 <?php  
   class Nama_class {  

      var $nama_properti;  
   }  
 ?>  
Dengan cara diatas, secara otomatis kita membuat properti dengan akses public. Cara ini sama dengan cara berikut :
 <?php  
   class Nama_class {  

      public $nama_properti;  
   }  
 ?>  
Lalu bagaimana jika akan membuat properti yang hanya bisa diakses didalam class atau didalam class dan turunannya? Solusinya kita bisa menggunakan teknik enkapsulasi dengan atribut private atau protected seberti cara berikut :
 <?php  
   class Nama_class {  

      public $nama_properti1;
      private $nama_properti2;
      protected $nama_properti3;
     }  
 ?>  
Pada contoh diatas, $nama_properti2 dibuat private sehingga hanya bisa diakses dari dalam class saja. Sedangkan $nama_properti3 dibuat protected artinya bisa diakses dari dalam class dan turunannya saja. Pengertian diakses disini adalah bisa disetting nilainya atau juga bisa diambil nilainya.

Mengenai detail Enkapsulasi insyaAllah akan ditulis pada artikel tersendiri.

Menyetting Nilai Sebuah Properti

Menyetting properti bisa dilakukan dari dalam dan dari luar class tergantung hak aksesnya, apakah public, private atau protected.

Untuk menyetting properti dari dalam class dan turunannya, kita harus menggunakan function. Kemudian didalam function tersebut menggunakan variabel $this diikuti dengan tanda "->" lalu nama properti kemudian tanda "=" (sama dengan) baru kemudian nilai atau data yang akan diset pada properti tersebut.
 <?php  
   class Mobil {  

      public $merk;
      private $harga;

      public function set_nilai() {
          $this->merk = "Toyota";
          $this->harga = "100.000.000";
      }
   }  
 ?>  
Note : variabel $this merupakan variabel bawaan PHP (built-in) yang digunakan untuk mengakses properti dan method dari dalam class.

Untuk menyetting nilai properti dari luar class (hanya untuk properti bertipe public), kita memanggil nama object dulu diikuti dengan tanda "->" lalu nama properti kemudian tanda "=" (sama dengan) baru kemudian nilai atau data yang akan diset pada properti tersebut.
 <?php  
   class Mobil {  

      public $merk;
   }  

   $mobil = new Mobil();
   $mobil->merk = "Toyota";
 ?>  
Untuk menyetting properti bertipe private dari luar class, kita harus menggunakan bantuan sebuah method yang menyetting nilai properti didalam class, seperti cara berikut ini :
  <?php   
   class Mobil {   

    private $harga;  

    public function set_harga($value) {  
           $this->harga = $value;  
       }  
   }   

   $mobil = new Mobil();  
   $mobil->set_harga("100.000.000");  
  ?>   

Membaca Nilai Sebuah Properti

Sama seperti saat menyetting, untuk membaca nilai sebuah properti kita juga memperhatikan hak aksesnya.

Untuk membaca nilai properti dari dalam class kita harus menggunakan function. Kemudian kita gunakan variabel $this dan tanda "->" sama seperti saat menyetting.
 <?php  
   class Mobil {   

    public $merk;  
    private $harga;  

    public function tampil() {  

    //menyetting nilai properti
    $this->merk = "Toyota";  
    $this->harga = "100.000.000";  

    //mengambil nilai properti
    echo "Merk = ".$this->merk."<br/>";  
    echo "Harga = ".$this->harga;  
    }  

   }  
  ?>   
Untuk membaca nilai properti bertipe public dari luar class kita menggunakan nama object dengan tanda tanda "->" sama seperti saat menyetting.
  <?php   
   class Mobil {   
    public $merk;  
   }   
   //membuat object  
   $mobil = new Mobil();  
   //menyetting nilai properti  
   $mobil->merk = "Toyota";  
   //membaca dan menampilkan nilai properti  
   echo "Merk = ".$mobil->merk;  
  ?>   
Untuk membaca nilai properti bertipe private dari luar class kita juga harus menggunakan bantuan method, seperti pada contoh berikut ini :
  <?php   
  class Mobil {    

  private $harga;   

  public function set_harga($value) {   
           $this->harga = $value;   
      }   

  public function baca_harga() {  
           return $this->harga;  
      }  
  }    

  //membuat object
  $mobil = new Mobil();   

  //menyetting properti harga   
  $mobil->set_harga("100.000.000");   

  //membaca dan menampilkan properti harga  
  echo "Harga = ".$mobil->baca_harga();  
 ?>  
Referensi :

Tutorial PHP OOP Part 2 : Membuat Object Dari Class


Tutorial PHP OOP Part 2 : Membuat Object Dari Class

 

Object adalah sebuah variabel khusus yang dibuat berdasarkan class. Secara mudahnya object merupakan bentuk nyata sebuah class. Jika pada class dibuat beberapa properti dan method, maka dengan object, properti dan method tersebut bisa disetting dan dipanggil melalui program.

Jadi jika class adalah blueprint-nya maka object adalah realisasi bendanya. Class belum menjadi sebuah obyek sebelum dibuat object-nya. Proses mencetak class menjadi object disebit dengan instantitation (instansiasi).

Membuat Object

Sebuah object hanya bisa dibuat berdasarkan class. Karena berupa variabel, maka untuk membuat object kita menggunakan tanda $ (dollar) diikuti dengan nama object. Setelah nama object kemudian diikuti dengan operator = (sama dengan) kemudian keyword "new", spasi dan nama class.

Script untuk membuat object harus berada dalam kesatuan file PHP dengan class. Jika class berada diluar file, maka class harus di-include ke dalam file PHP yaitu menggunakan apa yang disebut teknik modularitas.
 <?php  
 class Nama_Class {  
   ....  
 }  

 //membuat object
 $nama_object = new Nama_Class;  

 atau   

 $nama_object = new Nama_Class();  
 ?>  

Menentukan nama object

Nama object sebaiknya sama dengan nama class. Jika ingin membuat beberapa object dari class bisa dibuat indek dari nama class. Misalnya ada class bernama "Guru" maka kita membuat object dengan nama "Guru" atau "guru". Kemudian jika ada beberapa object guru kita bisa membuat indek seperti "Guru1", "Guru2" atau "guru1", "guru2".
 <?php  
 class Guru {  
   ....  
 }
  
 $guru = new Guru;  
 $guru1 = new Guru;  
 $guru2 = new Guru;  
 ?>  
Note :Setelah dibuat, object belum bisa melakukan apa-apa sebelum kita lakukan perintah program terhadap properti dan method sesuai dengan yang telah dibuat pada class.

Mengeset properti pada object

Mengeset properti adalah menentukan nilai sebuah properti. Untuk mengeset properti pada object kita menggunakan perintah nama object diikuti dengan tanda "->" lalu nama properti kemudian operator "=" dan nilai properti.
 <?php  
 class Guru {  
   var $nama;  
 }  
 $guru = new Guru;  
 $guru->nama="Sabrina";  
 ?>  

Menggunakan properti pada object

Dan untuk menggunakan properti kita memanggilnya dengan perintah yang sama dengan saat mengeset properti pada object, hanya saja kali ini properti diambil nilainya.
 <?php  
 class Guru {  
   var $nama;  
 }  
 $guru = new Guru;  
 $guru->nama="Sabrina";

 echo $guru->nama;
 ?>  

Memanggil method pada class dengan object

Untuk memanggil method pada class kita menggunakan perintah nama object diikuti dengan tanda "->" lalu nama class lengkap dengan tanda "().
 <?php  
 class Guru {  
   var $nama;

   public function tampil_nama() {
      return "Nama guru = ".$this->nama;
   }  
 }  
 $guru = new Guru;  
 $guru->nama="Sabrina";

 echo $guru->tampil_nama();
 ?>  

Membuat dan mengakses banyak object dari satu class

Seperti ditulis diatas bahwa kita bisa membuat lebih dari satu object berdasarkan sebuah class. Setiap object nantinya akan terpisah namun tetap memiliki properti dan method yang ada pada class. Masing-masing properti dan method pada object ini terpisah dan tidak saling tumpang-tindih (overwrite)
 <?php  
 class Guru {  
   var $nama;  

   public function tampil_guru() {  
   return "Nama Guru = ".$this->nama;  
   }  
 }  

 $guru1 = new Guru;  
 $guru2 = new Guru;  
 $guru3 = new Guru;  

 $guru1->nama="Agus";  
 $guru2->nama="Budi";  
 $guru3->nama="Candra";  

 echo $guru1->tampil_guru()."<br/>";  
 echo $guru2->tampil_guru()."<br/>";  
 echo $guru3->tampil_guru()."<br/>";  
 ?>  
Referensi :

Tutorial PHP OOP Part 1 : Membuat Class

Tutorial PHP OOP Part 1 : Membuat Class

 

Class adalah sekumpulan variabel dan function yang mempunyai kesamaan sifat dan tujuan. Variabel didalam class disebut properti dan function disebut method. Dapat digambarkan disini bahwa tujuan membuat class adalah untuk membuat obyek dengan properti dan method. Dengan kata lain, sebuah class adalah blueprint dari sebuah obyek. Class dan Object adalah hal paling dasar dalam konsep pemrograman berorientasi obyek.

Membuat Class

Untuk membuat class kita menggunakan keyword "class" diikuti dengan nama class lalu isi class ditaruh diantara sepasang kurung kurawal. Ini mirip dengan membuat function pada PHP, bedanya keyword function dalam hal ini diganti dengan class. Karena class termasuk dalam pemrograman PHP, maka script untuk membuat class harus berada dalam lingkup tag PHP seperti <?php...?>
 <?php  
 class nama_class {  
 ....  
 }  
 ?>  

Menentukan Nama Class

Nama class sebaiknya spesifik dan sesuai dengan isi class nantinya. Hal ini mengacu pada tujuan class dibuat, yaitu untuk memudahkan pengelompokan masalah pada program dengan fokus pada pemrograman berorientasi obyek. Sebagai contoh saat kita membuat aplikasi tentang sistem kendali data pada sekolah kita membuat beberapa class dengan nama guru, murid, kurikulum, ekskul dan sebagainya.
 <?php  
 class Guru {  
 ....  
 }  

 class Murid {  
 ....  
 }  

 class Kurikulum {  
 ....  
 }  

 //dan class-class yang lainnya  
 ?>  

Membuat Properti pada Class

Selanjutnya class "guru" kita isi dengan properti berupa variabel nama guru, NIK, alamat dan jabatan. Lalu class "murid" kita isi dengan nama siswa, NIS, kelas dan alamat. Demikian begitu selanjutnya kita buat properti untuk masing-masing class lainnya. Selain variabel, kita juga bisa menempatkan konstanta pada class. Konstanta pada class ini juga termasuk properti namun bernilai tetap.
 <?php  
 class Guru {  
   var $nama_guru;  
   var $NIK;  
   var $jabatan;  
   var $alamat;  
 } 
 
 class Murid {  
   var $nama_siswa;  
   var $NIS;  
   var $kelas;  
   var $alamat;  
 }  
 
 //dan buat properti untuk class-class yang lainnya  
 ?>  
Untuk membahas lebih dalam tentang Properti pada class, insyaAllah akan ditulis pada artikel tersendiri.

Membuat Method pada Class

Selain properti, kita juga bisa membuat method pada masing masing class, seperti pada class guru kita buat function tambah_guru, hapus_guru dan edit_guru. Lalu pada class murid juga sama, kita buat function tambah murid, hapus_murid dan edit_murid. Begitu seterusnya sama untuk class-class yang lain.
 <?php  
 class Guru {  
   var $nama_guru;  
   var $NIK;  
   var $jabatan;  
   var $alamat;  

   public function tampil_guru {  
   ...  
   }  

   public function tambah_guru {  
   ...  
   }  

   public function hapus_guru {  
   ...  
   }  

   public function edit_guru {  
   ...  
   }  
 }  
 class Murid {  
   var $nama_siswa;  
   var $NIS;  
   var $kelas;  
   var $alamat;  

   public function tampil_siswa {  
   ...  
   }  

   public function tambah_siswa {  
   ...  
   }  

   public function hapus_siswa {  
   ...  
   }  

   public function edit_siswa {  
   ...  
   }  
 }  
 dan buat method untuk class-class yang lainnya  
 ?>  
Untuk membahas lebih dalam tentang Method pada class, insyaAllah akan ditulis pada artikel tersendiri.

Referensi :