Selain menggunakan variabel untuk menampung nilai data, dalam konsep bahasa pemrograman, dikenal juga istilah konstanta atau constant. Pada artikel kali ini kita akan membahas tentang Pengertian dan Cara Penulisan Konstanta dalam bahasa pemrograman PHP, serta perbedaannya dari variabel.
Dalam bahasa pemrograman, konstanta adalah suatu kondisi penyimpanan yang berisikan sebuah nilai yang bersifat tetap dan tidak bisa diubah sepanjang program tersebut berjalan. Konstanta biasanya digunakan untuk mendeklarasikan sebuah nilai yang bersifat tetap, konstanta juga sering digunakan untuk konfigurasi data, seperti nama server, nama database, dan lain-lain.
Konstanta ini berbeda dengan variabel yang nilainya dapat diubah bahkan dapat dihapus selama programnya berjalan. Namun, Â sebuah konstanta jika telah diberikan nilai, tidak dapat diubah lagi dalam kode program.
Â
Aturan Penulisan Konstanta Dalam Bahasa Pemrograman PHP
A. Cara medefinisikan konstanta dalam bahasa pemrograman PHP
Berbeda halnya dengan variabel dalam PHP yang dibuat dengan menambahkan tanda dolar saja seperti “$namaâ€. Untuk mendefinisikan konstanta sendiri dapat menggunakan 2 cara, yaitu:
Â
1. Menggunakan kata kunci (keyword) const.
Untuk mendefinisikan konstanta dengan kata kunci const, caranya  hampir mirip dengan cara pembuatan variabel  yaitu dengan menambahkan nilai kepada sebuah variabel, namun harus didahului dengan const terlebih dahulu. Contoh:
Â
2. Menggunakan fungsi define Â
Untuk penggunaan fungsi define ini memiliki 2 parameter yaitu:
a. Nama Konstanta
b. Value Konstanta
Contoh penggunaannya:
Â
Dalam aturan penamaan konstanta ini, terdapat beberapa ketentuan dalam penulisannya yaitu:
1)Â Nama konstanta harus diawali dengan huruf atau underscore (_), dan nama dai konstanta tersebut hanya boleh berisi huruf, angka dan underscore.
2) Nama dari konstanta bersifat case sensitive (kecuali dalam penggunaan define), yang artinya nama konstanta yang menggunakan huruf kecil dan huruf besar dinyatakan berbeda.
3) Konstanta hanya dapat diisi dengan nilai scalar. Seperti boolean, int, float, string dan array.
4) Nama dari konstanta boleh sama dengan keyword PHP seperti echo, namun ketika pemanggilannya harus menggunakan fungsi constant. Contoh:
5) Nama dari konstanta tidak boleh mengandung karakter khusus, seperti #, *, dan lain sebagainya.
6) Hindari penggunaan nama konstanta yang diawali dan diakhiri dengan 2 tanda underscore, contohnya “_namakonstanta_â€, hal ini dapat berpotensi mengalaminya bentrokan dengan konstanta bawaan PHP, jika bentrok dengan konstanta bawaan PHP, maka tidak akan muncul error, tapi nilai yang dihasilkannya adalah nilai konstanta bawaan dari PHP.
Â
B. Nilai konstanta dari PHP tidak dapat diubah
Seperti telah dijelaskan diawal, bahwa nilai dari konstanta yang telah dideklarasikan tidak dapat diubah. Contoh:
Perhatikan contoh diatas, ketika file tersebut dibuka, maka perintah echo akan tetap menampilkan http://plimbi.com. Hal tersebut karena konstanta WEBSITE yang sudah dideklarasikan nilainya, sehingga tidak bisa diubah isi dari konstanta tersebut, meskipun kita sudah mencoba mendeklarasikan ulang pada baris ke 4.
Â
C. Konstanta hanya berisi tipe data tertentu
Beda halnya dengan variabel, dalam penggunaannya konstanta pada PHP hanya dapat berisi tipe data sederhana atau disebut juga dengan tipe skalar. Yaitu seperti boolean, integer, float, dan string.
Â
D. Hindari nama konstanta yang sama dengan nama konstanta bawaan PHP (Predefined Constant)
Kita  perlu menghindari penamaan konstanta yang sama dengan nama konstanta bawaan PHP (Prefinew Constant), karena seperti aturan sebelumnya nilai konstanta tidak bisa dirubah, begitu juga dengan konstanta bawaan PHP, jadi hindari penggunaan nama konstanta yang sama dengan nama konstanta bawaan PHP.
Â
Perbedaan Penggunaan Define dan Const
1. Define dapat dideklarasikan pada conditional statement, sedangkan const tidak.
2. Define dapat bernilai expresi seperti operasi aritmatika atau penggabungan string (concantenate), sedangkan const tidak. Namun mulai dari PHP 5.6 const juga dapat bernilai exspresi.
3. Define dapat dibuat menjadi case insensitive, sedangkan const tidak.
4. Â Const hanya menerima plain text untuk nama, sedangkan define tidak.
5. Karena dijalankan pada saat compile, const sedikit cepat dari pada define, perbedaannya terasa jika penggunaan konstanta dalam jumlah yang besar.
6. Penggunaan const dirasa lebih bagus jika dilihat dari segi estentika penulisannya, hal ini karena dalam penulisannya const mengikuti pola deklarasi yang umum digunakan (menggunakan tanda =). Disamping itu juga, const lebih konsisten dalam penulisan baik didalam class maupun diluar class dan juga dalam penggunaan namespace.