Pengertian Tentang Konstanta pada PHP - define() dan const

Dalam Pemrograman PHP terdapat 2 cara untuk menyimpan sebuah nilai, Anda bisa menggunakan variabel dan konstanta untuk menyimpan nilai. Namun, di Artikel ini hanya akan dibahas tentang Konstanta pada PHP.

Daftar isi

1. Pengertian Konstanta php

Untuk menyimpan sebuah nilai yang bisa dirubah sewaktu-waktu, Anda bisa menggunakan variabel sebagai wadah untuk menampung nilai, Lalu apa hubungannya dengan Konstanta.

Konstanta bisa dikatakan adalah jenis variabel lain yang digunakan untuk menyimpan nilai, nilai yang disimpan oleh konstanta bersifat TETAP(tidak dapat dirubah).

Artinya, fungsi dari konstanta sama dengan variabel yaitu untuk menyimpan nilai. Karena sifat nilai yang dimiliki konstanta adalah TETAP, konstanta sering digunakan untuk menyimpan nilai penting, misalnya konfigurasi database(nama db, pass, dsb).

2. Dasar Dasar Konstanta php

Sebelum lebih mendalam untuk memahami tentang Konstanta pada PHP, Ada baiknya jika Anda memahami dasar-dasar atau aturan untuk Konstanta seperti aturan nama konstanta, sifat konstanta, dsb.

2.1  Membuat Konstanta di php

Ada 2 cara untuk bisa membuat Konstanta dalam lingkup PHP, Pertama Anda bisa mengunakan fungsi define(), yang kedua Anda bisa menggunakan keyword const.

Ke-2 cara diatas memang berbeda dengan cara membuat variabel php, dimana pada variabel Anda bisa menggunakan tanda dollar($) untuk membuat nama variabel.

2.2  Case Sensitive

Konstanta pada PHP bersifat Case Sensitive. Artinya penulisan nama konstanta menggunakan huruf kecil dianggap berbeda dengan penulisan menggunakan huruf besar, walaupun sama misal(nama, NAMA).

Namun jika Anda menggunakan fungsi define(), anda bisa menghilangkan sifat Case Sensitive untuk nama konstanta, sehingga akan bersifat case_insensitive.

Untuk mengaktifkan mode Case_insensitive pada Konstanta php, Anda bisa menambahkan kata TRUE, misalnya seperti ini 'define('NAMA','Mafazi Rahman',true)'.

2.3  Aturan Penulisan

Penulisan nama untuk Konstanta, sebaiknya harus diawali dengan karekter berupa huruf atau tanda underscore(_), misal: _NAMA atau NAMA.

Lebih baik lagi jika semua karakter untuk nama konstanta menggunakan huruf atau underscore(_). Hindari penggunaan beberapa karakter khusus seperti: @, $, angka(1,2,...), operator(-,+,!,=).

Saya sudah melakukan percobaan kecil pada php versi 7, yaitu membuat nama konstanta dengan karakter-karakter khusus seperti yang sudah disebutkan diatas.

Ternyata, penggunaan karakter khusus bisa dilakukan, Tetapi harus menggunakan fungsi define() dan memanggilnya dengan fungsi constant().

Dengan menggunakan fungsi define() dan constant() yang saling berkaitan, Anda bisa juga menggunakan nama-nama keyword seperti(echo,var,dll) untuk penamaan Konstanta.

2.4  Aturan Lainnya

Mulai dari PHP versi 7, Anda bisa menggunakan fungsi array() sebagai nilai untuk Konstanta, misal define('DATA',array('buah','sayur'));.

Artinya, aturan tipe data scalar seperti(boolean, string, int, float) sebagai nilai untuk konstanta sudah tidak berlaku lagi mulai di php versi 7.

3. Contoh Konstanta dengan fungsi define()

Kata define kalau diartikan adalah menetapkan atau mendefinisikan. Jadi, fungsi define() digunakan untuk menetapkan suatu nilai yang bersifat tetap pada sebuah nama, sehingga nama tersebut disebut Konstanta. berikut contoh konstanta dengan define().

contoh kode/program/sintaks php
<?php
    // Membuat Konstanta dengan define()
    define('DATA', array('Kliwon', 'Legi', 'Pahing', 'Pon', 'Wage'));
    
    echo "<pre>";
        echo "5 Nama Weton dalam Jawa - ";
        print_r(DATA);
    echo "</pre>";
?>

dari contoh kode diatas, berikut adalah tampilan output dari kode diatas pada halaman web.

contoh konstanta php(menggunakan fungsi define())
Gambar 3

4. Contoh Konstanta dengan keyword const

Apa itu const?. const adalah salah satu keyword php yang bisa digunakan untuk membuat konstanta dalam PHP. Artinya, const bisa juga digunakan untuk menetapkan nilai untuk Konstanta. berikut contoh kode php dengan keyword const.

contoh kode/program/sintaks php
<?php
    // Membuat Konstanta dengan keyword const
    const DATA = array('Konstanta', 'dengan', 'Keyword', 'const');
    
    echo "<pre>";
        echo "Membuat Konstanta dengan Keyword const - ";
        print_r(DATA);
    echo "</pre>";
    
    // contoh kode ini tidak bekerja di php versi 5.6 kebawah
?>

saya menulis dan mempraktekan contoh kode diatas dengan php versi 7.3.2, dan berikut tampilan hasil dari kode diatas pada halaman web.

contoh konstanta php(menggunakan keyword const)
Gambar 4

5. Perbedaan define dan const

Perbedaan mendasar antara fungsi define() dan keyword const adalah, fungsi define() akan mendefinisikan Konstanta pada saat run time, sedangkan keyword const mendefinisikan konstanta pada saat kompilasi. berikut tabel perbedaan define dan const.

Daftar Tabel untuk Perbedaan define dan const
Nodefine()const
1bisa mode case insensitivetidak bisa mode case insensitive
2bisa mendefinisikan konstanta dalam kondisionaltidak bisa mendefinisikan konstanta dalam kondisional
3bisa bernilai ekspresi seperti penjumlahan, misal define('A', 5 + 3);bisa bernilai ekspresi mulai php versi 5.6

6. Konstanta Bawaan(Predefined Constant)

Bahasa PHP telah menyediakan beberapa Konstanta bawaan(Predefined Constant) yang tidak bisa Anda definisikan, dan berikut tabel berisi Konstanta yang sudah didefinisikan oleh PHP.

Daftar Tabel untuk Konstanta Bawaan(Predefined Constant)
NoKonstantaDeskripsi
1PHP_INT_MAXmenampilkan bilangan bulat(int) terbesar sesuai versi php yang digunakan, misal int(2147483647).
2PHP_INT_MINmenampilkan bilangan bulat(int) terkecil sesuai versi php yang digunakan, misal int(-2147483648).
3PHP_VERSIONmenampilkan versi php secara keseluruhan, misal versi 7.3.2
4PHP_RELEASE_VERSIONmenampilkan versi rilis, misal versi 2 dari(7.3.2)
5PHP_MINOR_VERSIONmenampilkan versi minor, misal versi 3 dari(7.3.2)
6__FILE__untuk mendapatkan lokasi file secara full path, misal hasilnya adalah('https://www.gotutorid.com/index.php')

Tabel diatas hanya berisi beberapa Konstanta yang umum dgunakan, Untuk selengkapnya bisa Anda cek di situs ini "php.net". Situs tersebut berisi beberapa konstanta seperti PHP_PREFIX, PHP_BINDIR, E_ERROR, E_WARNING, dan lain sebagainya.