Pengertian Konstanta Class dalam Pemrograman Objek

♠ Posted by Unknown in at 01.46

Pengertian Konstanta Class dalam Pemrograman Objek 



Pengertian Konstanta Class

Konstanta Class atau class constant adalah konstanta yang berada di dalam class. Selain memiliki property dan method, PHP juga membolehkan kita menggunakan konstanta (constant) di dalam class.

Sebagaimana sifat konstanta reguler, class constant juga tidak bisa diubah nilainya ketika sudah didefenisikan. Untuk membuat class constant di dalam PHP, kita menggunakan perintah: const.

class nama_class {
   const NAMA_KONSTANTA = nilai_konstanta;
}

Penulisan nama konstanta dengan huruf besar bukan keharusan, namun lebih kepada kebiasaan programmer PHP agar mudah dibedakan dengan variabel yang umumnya ditulis dengan huruf kecil.

Jika kita memiliki class laptop dan konstanta MERK, maka cara mengaksesnya adalah sebagai berikut:

laptop::MERK;


Cara Penulisan Konstanta Class dalam PHP

Untuk melihat cara penulisan dan penggunaan konstanta class, kita akan langsung menggunakan kode program. Berikut adalah contoh class laptop dengan sebuah konstanta DOLLAR:

<?php
// buat class laptop
class laptop {
   // buat konstanta
   const DOLLAR = '12000';
}
  
// panggil konstanta class
echo "Harga dollar saat ini = Rp. ".laptop::DOLLAR;
// hasil: Harga dollar saat ini = Rp. 12000
?>


Perhatikan bahwa untuk mengakses class constant DOLLAR milik class laptop, kita menggunakan perintah laptop::DOLLAR.

Selain mengakses konstanta dengan menggunakan nama class, PHP juga memiliki cara lain, yakni dengan mengaksesnya dari objek. Fitur ini hanya bisa digunakan untuk PHP versi 5.3 keatas. Berikut contohnya:

<?php
// buat class laptop
class laptop {
   // buat konstanta
   const DOLLAR = '12000';
}
  
// buat objek dari class laptop (instansiasi)
$laptop_baru = new laptop();
  
// panggil konstanta class
echo "Harga dollar saat ini = Rp ".$laptop_baru::DOLLAR;
// hasil: Harga dollar saat ini = Rp. 12000
?>

Dalam kode diatas, kita mengakses nilai kontanta class dari objek $laptop_baru menggunakan perintah $laptop_baru::DOLLAR.

PHP versi 5.3 keatas juga membolehkan pemanggilan property dengan nama class yang berada di dalam variabel. Berikut contohnya:

<?php
// buat class laptop
class laptop {
   // buat konstanta
   const DOLLAR = '12000';
}
  
// buat variabel dengan nama class
$nama = "laptop";
  
// panggil konstanta class
echo "Harga dollar saat ini = Rp. ".$nama::DOLLAR;
// hasil: Harga dollar saat ini = Rp. 12000
?>
Pada kode program diatas, saya tidak menggunakan objek, tetapi membuat variabel $nama dan memberikannya nilai laptop. Karena nama class kita juga adalah laptop, maka PHP membolehkan pemanggilan kosntanta DOLLAR dengan $nama::DOLLAR. Nama variabel yang digunakan boleh bebas, selama nilainya cocok dengan nama class tempat konstanta itu berada.
Cara Mengakses Konstanta Class dari dalam Class itu Sendiri
Untuk mengakses class constant dari dalam class itu sendiri, PHP menggunakan cara yang sama dengan static property, yaitu dengan perintah self::nama_konstanta. Berikut contohnya:


<?php
// buat class laptop
class laptop {
  
   // buat konstanta
   const DOLLAR = '12000';
  
   // buat method
   public function beli_laptop($harga) {
     return "Beli Komputer Baru, Rp. ".$harga*self::DOLLAR;
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_baru=new laptop();
  
echo $laptop_baru->beli_laptop(400);
// hasil: Beli Komputer Baru, Rp. 4800000
?>

dibuat class laptop dengan sebuah method beli_laptop(). Method beli_laptop() digunakan untuk menghitung harga laptop dengan mengalikan konstanta class DOLLAR dengan parameter $harga. Perhatikan bahwa kita mengakses class constant dengan perintah self::DOLLAR.
Cara Mengakses Konstanta Class milik Parent Class
Pewarisan class (class inheritance) dari sebuah class kedalam class lain, juga akan menurunkan konstanta. Jika kebetulan class yang diturunkan (child class) memiliki nama konstanta yang sama dengan parent class, konstanta tersebut akan ‘tertimpa’.

PHP menggunakan operator parent::nama_konstanta untuk mengakses konstanta milik parent class.

Agar lebih mudah, berikut adalah contoh kode program penggunaan operator parent::nama_konstanta:

<?php
// buat class komputer
class komputer {
   // buat konstanta class komputer
   const DOLLAR = '11000';
}
// turunkan class komputer ke class laptop
class laptop extends komputer {
   // buat konstanta class laptop
   const DOLLAR = '12000';
  
   // buat method dengan konstanta class komputer
   public function beli_komputer($harga){
     return "Beli Komputer Baru, Rp .".$harga*parent::DOLLAR;
   }
  
   // buat method dengan konstanta class laptop
   public function beli_laptop($harga){
     return "Beli Komputer Baru, Rp .".$harga*self::DOLLAR;
   }
}
  
// buat objek dari class laptop (instansiasi)
$laptop_baru=new laptop();
  
echo $laptop_baru->beli_laptop(400);
echo "<br />";
echo $laptop_baru->beli_komputer(400);
?>
dibuat konstanta DOLLAR di dalam class komputer. Class komputer kemudian diturunkan ke dalam class laptop. Di dalam class laptop, saya mendefenisikan kembali konstanta DOLLAR. Karena kedua konstanta ini memiliki nama yang sama, maka saya harus menggunakan perintah parent::DOLLAR untuk memanggil konstanta DOLLAR miliki class komputer.

Walaupun konstanta class jarang digunakan di dalam pemograman umum, namun fitur yang ditawarkan mungkin bisa membantu untuk penyelesaian kasus-kasus tertentu.



Sumber : http://www.duniailkom.com

0 komentar:

Posting Komentar