Tutorial PHP

Tutorial Belajar PHP Part 7 – Pengertian konstanta dan cara penulisan konstanta PHP

Selamat datang di warungbelajar, masih dalam seri tutorial PHP, dalam tutorial kali ini kita akan membahas mengenai konstanta dalam PHP, secara sederhana konstanta digunakan untuk mendeklarasikan nilai di PHP, dan nilai tersebut tidak bisa dirubah (ditimpa oleh nilai lain).

Dalam pemrograman komputerKonstanta adalah identifier yang terkait nilai tidak bisa biasanya diubah oleh program selama pelaksanaannya (meskipun dalam beberapa kasus ini dapat dielakkan, misalnya menggunakan self-modifying code). Banyak bahasa pemrograman membuat perbedaan sintaksis eksplisit antara simbol konstan dan variable. (Wikipedia)

Jika ditutorial sebelumnya kita sudah membahas mengenai variabel yang digunakan untuk menyimpan sebuah nilai, konstanta ini juga berfungsi untuk menyimpan sebuah nilai, tapi perbedaannya adalah nilai dari variabel dapat diubah dan dihapus selama program berjalan, tetapi konstanta ini jika telah diberikan nilai, maka nilai tersebut tidak dapat dirubah oleh kode program, konstanta biasanya digunakan untuk mendeklarasikan nilai yang bersifat tetap.

Baik kita langsung saja belajar mengenai beberapa aturan penulisan dari konstanta di PHP.

 

 

Cara mendefinisikan Konstanta dalam PHP

Untuk mendefinisikan konstanta dalam PHP, anda dapat menggunakan 2 cara yaitu :

  1. Menggunakan keyword const
  2. Menggunakan function define

 

  • Menggunakan keyword const

Untuk cara pertama dengan menggunakan const, cara pembuatannya sama seperti pembuatan variabel, hanya saja kita gunakan perintah const, untuk contohnya adalsh sebagai berikut :

  • Menggunakan fungsi define

untuk cara kedua anda bisa menggunakan fungsi define, untuk fungsi ini memiliki 2 parameter yaitu :

  • nama konstanta
  • value konstanta

untuk contoh pembuatan konstanta dengan menggunakan fungsi define adalah sebagai berikut :

 

 

Aturan penulisan nama Konstanta

Aturan penulisan dari nama konstanta memiliki konsep yang mirip dengan penulisan variabel, antara lain adalah :

  • Karekter pertama dari nama konstanta hanya boleh menggunakan huruf dan underscore ( _ ), karekter pertama tidak boleh menggunakan angka.
  • Karakter kedua dan seterusnya bisa menggunakan huruf, angka, underscore ( _ )
  • Nama konstanta tidak boleh mengandung karakter khusus seperti  #,*, atau &
  • Nama konstanta bersifat sensitive case (kecuali menggunakan define hal ini akan dijelaskan lebih lanjut dibagian bawah), yang artinya nama konstanta yang menggunakan huruf kecil dan huruf besar akan dinyatakan berbeda, nama konstanta email dan Email akan dianggap berbeda, untuk penulisan dari nama konstanta ini programmer banyak yang menggunakan huruf besar, agar membedakan antara konstanta dan variabel.
  • Hindari penggunaan nama konstanta yang diawali dan diakhiri oleh dua tanda underscore (_), contohnya __NAMAKONSTANTA__, hal tersebut berpotensi mengalami bentrok dengan konstanta bawaan PHP, jika bentrok dengan konstanta bawaan PHP, tidak akan muncul error tetapi nilai yang dihasilkan adalah nilai konstanta bawaan PHP.

 

 

Perbedaan Penggunaan define dan const

Setelah anda ketahui dibagian sebelumnya untuk membuat konstanta bisa menggunakan 2 cara yaitu define dan const, kali ini kita akan belajar apa perbedaan ketika membuat konstanta dengan perintah define dan const, kapan define atau const digunakan ? kita akan mulai untuk membahasnya di bagian ini :

 

perintah define untuk deklarasi konstanta dapat digunakan di conditional statement, tetapi perintah const tidak

untuk lebih memahami silahkan perhatikan skrip dibawah ini :

Keterangan :

  • ketika menggunakan keyword const (Line 6) untuk membuat konstanta pada conditional statement akan menampilkan error, tetapi untuk bagian define (Line 3) tidak error, artinya di conditional statement gunakan define bukan const

 

define bisa bernilai expresi seperti operator aritmatika dan penggabungan string, tetapi untuk perintah const dapat melakukan di versi php 5.6 keatas

untuk lebih memahami silahkan perhatikan skrip dibawah ini :

Keterangan :

  • Line 7 menampilkan  216000 karena konstanta DETIK_SATU_JAM menyimpan hasil perkalian 60 * 60 * 60
  • Line 8 menampilkan 24 JAM karena konstanta JAM menyimpan penggabungan string 24 dan JAM
  • Line 10 menampilkan 3600 karena konstanta DETIK_SATU_MENIT menyimpan hasil perkalian 60 * 60
  • Line 11 menampilkan 30 HARI karena konstanta BULAN menyimpan penggabungan string 30 dan BULAN

 

define bisa bersifat case insensitive, tetapi const tidak

Seperti dijelaskan diawal bahwa konstanta bersifat case sensitive (penggunaan huruf besar dan kecil, akan dinyatakan berbeda), tatapi deklarasi dengan define bisa bersifat case insensitive (huruf besar dan kecil akan dianggap sama), tetapi ini hanya berlaku di fungsi define, perintah const tidak bisa.

untuk lebih memahami silahkan perhatikan skrip dibawah ini  :

keterangan :

  • jika file tersebuat diakses, pada Line 4 akan menampilkan tulisan http://warungbelajar.com, untuk menggunakan case insensitive anda harus menambahkan parameter ke – 3 dari define dengan value true (perhatikan line 2)
  • pada line 6 akan menampilkan error “Use of undefined constant email – assumed ’email’ (this will throw an Error in a future version of PHP)” karena kontanta email tidak dikenal, perintah const untuk deklarasi konstanta  akan bersifat case sensitive

 

define untuk nama konstanta dan value bisa menggunakan variabel, sedangkan perintah const hanya dapat menggunakan plain text

untuk lebih memahami, perhatikan contoh dibawah ini :

Keterangan :

  • jika diakses file tersebut akan menampilkan error Parse error: syntax error, unexpected ‘$nama_konstanta_2’ (T_VARIABLE), expecting identifier (T_STRING), hal tersebut karena pada Line 9 kita menuliskan nama konstantanya dan valuenya berupa variabel bukan plain text.

 

 

Nilai dari konstanta tidak dapat diganti

Seperti yang telah disinggung diawal, jika nilai dari konstanta yang telah dideklarasikan tidak bisa diganti (ditimpa dengan nilai baru), sebagai contoh perhatikan skrip dibawah ini :

Keterangan :

  • ketika file tersebut dibuka maka perintah echo tetap menampilkan tulisan http://warungbelajar.com
  • hal tersebut dikarenakan konstanta WEB yang sudah dideklarasikan nilainya sehingga tidak bisa dirubah isinya, meskipun kita mencoba mendeklarasikan ulang pada Line 4

 

 

Konstanta hanya dapat berisi tipe data tertentu

Berbeda dengan variabel, konstanta hanya dapat berisi beberapa tipe data contohnya seperti booleanintegerfloatstring, dan array (berlaku di PHP 7).

perhatikan contoh dibawah ini :

Keterangan :

  • ketika file diakses maka yang tampil adalah tulisan localhost, karena konstanta DB pada index host adalah localhost

 

 

Hindari nama Konstanta yang sama dengan nama konstanta bawaan PHP (Predefined Constant)

Anda perlu menghindari penamaan konstanta yang sama dengan nama konstanta bawaan PHP (Prefinew Constant), karena seperti aturan sebelumnya nilai konstanta tidak bisa dirubah, begitu juga konstanta bawaan PHP, jadi hindari penggunaan nama konstanta yang sama dengan nama konstanta bawaan PHP.

nah untuk daftar konstanta yang dimiliki php antara lain :

  • PHP_VERSION
  • PHP_MAJOR_VERSION
  • PHP_MINOR_VERSION
  • PHP_RELEASE_VERSION
  • PHP_VERSION_ID
  • PHP_EXTRA_VERSION
  • PHP_ZTS
  • PHP_DEBUG
  • PHP_MAXPATHLEN
  • PHP_OS
  • PHP_OS_FAMILY
  • PHP_SAPI
  • PHP_EOL
  • PHP_INT_MAX
  • PHP_INT_MIN
  • PHP_INT_SIZE
  • PHP_FLOAT_DIG
  • PHP_FLOAT_EPSILON
  • PHP_FLOAT_MIN
  • PHP_FLOAT_MAX
  • DEFAULT_INCLUDE_PATH
  • PEAR_INSTALL_DIR
  • PEAR_EXTENSION_DIR
  • PHP_EXTENSION_DIR
  • PHP_PREFIX
  • PHP_BINDIR
  • PHP_BINARY
  • PHP_MANDIR
  • PHP_LIBDIR
  • PHP_DATADIR
  • PHP_SYSCONFDIR
  • PHP_LOCALSTATEDIR
  • PHP_CONFIG_FILE_PATH
  • PHP_CONFIG_FILE_SCAN_DIR
  • PHP_SHLIB_SUFFIX
  • PHP_FD_SETSIZE
  • E_ERROR
  • E_WARNING
  • E_PARSE
  • E_NOTICE
  • E_CORE_ERROR
  • E_CORE_WARNING
  • E_COMPILE_ERROR
  • E_COMPILE_WARNING
  • E_USER_ERROR
  • E_USER_WARNING
  • E_USER_NOTICE
  • E_RECOVERABLE_ERROR
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • E_ALL
  • E_STRICT
  • __COMPILER_HALT_OFFSET__
  • TRUE
  • FALSE
  • NULL

Daftar list Predefined Constant diatas kita ambil dari dokumentasi resmi php, silahkan mengakses alamat url : http://php.net/manual/en/reserved.constants.php

 

Baik sekian dulu teman – teman pembahasan mengenai konstanta didalam php serta aturan dari penulisan Konstanta di PHP, jadi kesimpulannya konstanta memiliki konsep yang sama seperti variabel, yang membedakan nilai di konstanta tidak bisa dirubah jika sudah diberikan nilai awal.

jadi jika anda membutuhkan variabel yang nilainya tidak bisa ditimpa (diganti) oleh nilai lain, maka anda bisa menggunakan konstanta, sekian dulu pembahasan mengenai konstanta di dalam PHP, jika ada yang ingin didiskusikan silahkan di kolom komentar, sampai jumpa di tutorial php selanjutnya.

 

Leave a Reply

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