Mengapa Tidak Semua Data Harus Disimpan dalam Variabel? Variabel digunakan untuk menyimpan data yang nilainya dapat berubah selama program berjalan. Namun, dalam praktiknya ada banyak nilai yang justru tidak pernah berubah.
Misalnya:
-
tarif PPN sebesar 11%;
-
jumlah bulan dalam satu tahun;
-
nama perusahaan;
-
nilai π (phi);
-
batas minimal kelulusan.
Jika nilai-nilai tersebut disimpan dalam variabel biasa, ada kemungkinan nilainya berubah secara tidak sengaja karena kesalahan penulisan kode.
Untuk mencegah hal tersebut, VBA menyediakan konstanta melalui pernyataan Const.
Apa Itu Const?
Const adalah kata kunci yang digunakan untuk mendeklarasikan konstanta, yaitu nilai yang hanya dapat ditentukan satu kali dan tidak dapat diubah selama program berjalan.
Sintaks dasarnya adalah:
Const NamaKonstanta As TipeData = Nilai
Contoh:
Const PPN As Double = 0.11
Mulai saat itu, nilai PPN selalu 0,11 dan tidak dapat diubah.
Mengapa Menggunakan Const?
Menggunakan Const memberikan beberapa keuntungan.
-
Mengurangi risiko perubahan nilai secara tidak sengaja.
-
Membuat kode lebih mudah dipahami.
-
Memudahkan pemeliharaan program.
-
Nilai yang digunakan berulang cukup ditulis satu kali.
Contoh Dasar
Sub HitungPPN()
Const PPN As Double = 0.11
Dim Harga As Double
Harga = 250000
MsgBox Harga * PPN
End Sub
Hasilnya:
27500
Const dengan Berbagai Tipe Data
Konstanta tidak hanya digunakan untuk angka.
Contoh konstanta bertipe teks.
Const NamaPerusahaan As String = "PT Maju Jaya"
Konstanta Boolean.
Const ModeDebug As Boolean = True
Konstanta Integer.
Const MaksimalData As Integer = 100
Const di Tingkat Module
Konstanta juga dapat dideklarasikan di bagian atas module.
Option Explicit
Private Const PPN As Double = 0.11
Konstanta tersebut dapat digunakan oleh seluruh prosedur di dalam module yang sama.
Sub Hitung()
MsgBox 500000 * PPN
End Sub
Public Const
Jika sebuah konstanta digunakan oleh banyak module, deklarasikan sebagai Public.
Public Const NamaAplikasi As String = "Sistem Penjualan"
Konstanta tersebut dapat diakses dari seluruh module dalam project VBA.
Const vs Dim
Banyak pemula masih bingung membedakan keduanya.
Const | Dim |
|---|---|
| Nilai tidak dapat berubah | Nilai dapat berubah |
| Harus diberi nilai saat deklarasi | Nilai dapat diisi kemudian |
| Digunakan untuk nilai tetap | Digunakan untuk data yang berubah |
Studi Kasus
Misalkan perusahaan menetapkan tarif PPN sebesar 11%.
Tanpa Const.
Sub HitungTotal()
Dim PPN As Double
PPN = 0.11
MsgBox 500000 * PPN
End Sub
Jika seseorang tanpa sengaja menulis:
PPN = 0.12
hasil perhitungan menjadi salah.
Menggunakan Const lebih aman.
Sub HitungTotal()
Const PPN As Double = 0.11
MsgBox 500000 * PPN
End Sub
Sekarang nilai PPN tidak dapat diubah lagi.
Apa yang Terjadi Jika Nilai Const Diubah?
Perhatikan contoh berikut.
Const Pajak As Double = 0.11
Pajak = 0.12
VBA akan menampilkan Compile Error karena konstanta tidak boleh diubah setelah dideklarasikan.
Kapan Sebaiknya Menggunakan Const?
Gunakan Const untuk:
-
tarif pajak;
-
batas nilai;
-
jumlah hari atau bulan;
-
nama aplikasi;
-
kode perusahaan;
-
nilai matematika;
-
konfigurasi yang tidak berubah.
Jangan gunakan Const untuk data yang memang berubah selama program berjalan.
Kesalahan yang Sering Terjadi
Menggunakan Dim untuk Nilai Tetap
Kurang tepat.
Dim PPN As Double
PPN = 0.11
Lebih baik.
Const PPN As Double = 0.11
Tidak Memberikan Nilai Saat Deklarasi
Salah.
Const Pajak As Double
Benar.
Const Pajak As Double = 0.11
Mencoba Mengubah Nilai Const
Salah.
Const Nilai As Integer = 10
Nilai = 20
Konstanta tidak dapat diubah setelah dideklarasikan.
Tips Praktis
💡 Gunakan huruf kapital untuk nama konstanta agar mudah dikenali.
Contoh:
Const MAX_DATA As Integer = 100
atau gunakan gaya PascalCase secara konsisten.
Const MaxData As Integer = 100
Pilih satu gaya penulisan dan gunakan secara konsisten di seluruh project.
💡 Gunakan Private Const jika konstanta hanya dipakai dalam satu module.
💡 Gunakan Public Const jika digunakan oleh banyak module.
💡 Jangan menyimpan nilai tetap menggunakan variabel biasa.
💡 Kelompokkan seluruh konstanta penting di bagian atas module agar mudah ditemukan.
Ringkasan
| Kata Kunci | Fungsi |
|---|---|
Const |
Mendeklarasikan konstanta |
Private Const |
Konstanta tingkat module |
Public Const |
Konstanta global |
Dim |
Mendeklarasikan variabel |
Kesimpulan
Const digunakan untuk menyimpan nilai yang tidak boleh berubah selama program berjalan. Dengan menggunakan konstanta, kode menjadi lebih aman, lebih mudah dipelihara, dan lebih mudah dipahami karena seluruh nilai tetap dikelola dari satu tempat. Dibandingkan menggunakan variabel biasa, Const juga membantu mencegah perubahan nilai yang tidak disengaja dan membuat aplikasi VBA lebih konsisten.
