3. MENDEKLARASIKAN KONSTANTA

Dalam PHP, kita bisa mendeklarasikan konstanta di dalam class menggunakan kata kunci const. Seperti halnya properti statis, konstanta dapat diakses langsung melalui class atau dalam method objek menggunakan notasi self. Setelah sebuah konstanta didefinisikan, nilainya tidak bisa diubah lagi.

Menetapkan Konstanta di Dalam Class

Untuk menetapkan konstanta dalam class, kita menggunakan const di dalam class dan memberikan nilai tetap yang tidak dapat diubah. Sebagai praktik umum, kita menulis nama konstanta dalam huruf kapital untuk membedakannya dari property atau method lainnya.

AYO PAHAMI!


Petunjuk:

  1. Perhatikan kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan.
  3. Pastikan setiap baris dan struktur penulisan sesuai dengan contoh (termasuk titik koma, kurung, dll).
  4. Tekan tombol RUN di dalam editor untuk menjalankan program.
  5. Perhatikan hasil keluaran di bawah editor. Apa yang ditampilkan?
<?php
class MetodePembayaran {
    public const TIPE_KARTUKREDIT = 0; // Konstanta untuk kartu kredit
    public const TIPE_TUNAI = 1;      // Konstanta untuk pembayaran tunai
}

// Mengakses konstanta dari luar class
echo MetodePembayaran::TIPE_KARTUKREDIT;

Pada contoh di atas, kita mendeklarasikan dua konstanta dalam class MetodePembayaran yang dapat diakses secara langsung menggunakan tanda ::. Nilai konstanta ini tidak dapat diubah setelah didefinisikan.

Mengakses konstanta dari luar class:

echo MetodePembayaran::TIPE_KARTUKREDIT; // Output: 0

Pada contoh di atas, kita mendeklarasikan dua konstanta dalam class MetodePembayaran yang dapat diakses secara langsung menggunakan tanda ::. Nilai konstanta ini tidak dapat diubah setelah didefinisikan.

Penggunaan Aksesibilitas Konstanta

Seperti halnya property, kita juga bisa mengatur aksesibilitas dari konstanta menggunakan access modifier seperti public, protected, atau private.

  • Public: Konstanta dapat diakses dari luar class.
  • Protected: Konstanta hanya dapat diakses di dalam class itu sendiri dan class yang mewarisi.
  • Private: Konstanta hanya dapat diakses di dalam class itu sendiri.

Contoh berikut menunjukkan bagaimana mengatur aksesibilitas konstanta:

AYO PAHAMI!


Petunjuk:

  1. Perhatikan kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan.
  3. Pastikan setiap baris dan struktur penulisan sesuai dengan contoh (termasuk titik koma, kurung, dll).
  4. Tekan tombol RUN di dalam editor untuk menjalankan program.
  5. Perhatikan hasil keluaran di bawah editor. Apa yang ditampilkan?
<?php
class Orang {
    protected const KONSTANTA_PROTECTED = false;
    public const USERNAME_DEFAULT = "<unknown>";
    private const KODE_INTERNAL = "ABC1234";
}

// Mengakses konstanta publik
echo Orang::USERNAME_DEFAULT; 

// Akses konstanta protected atau private akan menghasilkan error
// echo Orang::KONSTANTA_PROTECTED; // Error

Pada contoh ini, konstanta USERNAME_DEFAULT dapat diakses dari luar class karena dideklarasikan sebagai public, sedangkan KONSTANTA_PROTECTED hanya bisa diakses di dalam class atau class yang mewarisinya. KODE_INTERNAL hanya bisa diakses di dalam class yang mendeklarasikannya.

Contoh Penggunaan Konstanta dengan Metode Static

Kita bisa menggunakan konstanta dalam method statis dengan cara yang sama, yaitu menggunakan kata kunci self untuk merujuk konstanta tersebut.

AYO PAHAMI!


Petunjuk:

  1. Perhatikan kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan.
  3. Pastikan setiap baris dan struktur penulisan sesuai dengan contoh (termasuk titik koma, kurung, dll).
  4. Tekan tombol RUN di dalam editor untuk menjalankan program.
  5. Perhatikan hasil keluaran di bawah editor. Apa yang ditampilkan?
<?php
class Translate {
    const INDONESIA = 0;
    const KOREA = 1;
    const JEPANG = 2;
    const MALAYSIA = 3;

    public static function lookup() {
        echo self::KOREA;
    }
}

Translate::lookup();

Pada contoh di atas, kita mendeklarasikan beberapa konstanta dalam class Translate dan menggunakan self::KOREA di dalam method statis lookup untuk menampilkan nilai konstanta KOREA. Konstanta ini diakses langsung tanpa perlu membuat object terlebih dahulu.

Menetapkan Konstanta Secara Global dengan Fungsi define()

Kita juga bisa membuat konstanta global menggunakan fungsi define(). Konstanta ini dapat diakses di mana saja dalam skrip PHP, tidak terbatas pada class tertentu.

AYO PAHAMI!


Petunjuk:

  1. Perhatikan kode program PHP yang ditampilkan di kotak sebelah kiri.
  2. Ketik ulang seluruh baris kode tersebut ke dalam editor di sebelah kanan.
  3. Pastikan setiap baris dan struktur penulisan sesuai dengan contoh (termasuk titik koma, kurung, dll).
  4. Tekan tombol RUN di dalam editor untuk menjalankan program.
  5. Perhatikan hasil keluaran di bawah editor. Apa yang ditampilkan?
<?php
define('NAMA_PERUSAHAAN', 'PT. Teknologi Maju');

// Mengakses konstanta global
echo NAMA_PERUSAHAAN;

Pada contoh ini, kita mendefinisikan konstanta NAMA_PERUSAHAAN menggunakan define() dan mengaksesnya tanpa perlu menggunakan class atau object.

LATIHAN

Untuk menguji sejauh mana kamu memahami cara mendefinisikan konstanta dalam class PHP, susunlah potongan-potongan kode berikut menjadi urutan kode PHP yang benar!