Constant atau Konstanta pada Bahasa Pemrograman C#
Pernah nggak sih kamu bikin program, tapi ada satu nilai yang harus dipakai berkali-kali dan nggak boleh berubah? Misalnya nilai pi (π) = 3.14159 atau kecepatan cahaya dalam vakum. Nah, di sinilah konstanta (constant) dalam C# berperan penting.
Konstanta adalah variabel spesial yang nilainya tetap dan nggak bisa diubah setelah dideklarasikan. Jadi, kalau kamu butuh nilai yang nggak boleh berubah di sepanjang program, gunakan konstanta biar lebih aman dan rapi.
1. Apa Itu Konstanta dalam C#?
Konstanta dalam C# adalah nilai yang bersifat tetap alias immutable. Saat kita mendeklarasikan sebuah konstanta, nilainya harus langsung ditentukan, dan tidak bisa diubah lagi selama program berjalan.
Di C#, konstanta dideklarasikan dengan kata kunci const
.
Contoh deklarasi konstanta:
const double PI = 3.14159;
const int MAKSIMAL_USIA = 100;
Console.WriteLine("Nilai PI: " + PI);
Console.WriteLine("Usia Maksimal: " + MAKSIMAL_USIA);
Kenapa Harus Pakai const
?
✅ Biar kode lebih aman – nggak sengaja diubah di tempat lain
✅ Lebih efisien – konstanta disimpan di dalam memori sebagai nilai tetap
✅ Lebih rapi dan mudah dipahami
2. Aturan Deklarasi const
di C#
Ada beberapa aturan penting yang perlu kamu perhatiin waktu pakai const
:
a) Harus Langsung Diberikan Nilai Awal
Nggak bisa cuma dideklarasikan tanpa nilai, contoh ini salah:
const int x; // ❌ ERROR: konstanta harus langsung punya nilai
Yang benar adalah:
const int x = 10; // ✅
b) Nilainya Nggak Bisa Diubah
Konstanta itu benar-benar "konstan", jadi kalau kamu coba ubah nilainya, bakal error.
const int umur = 25;
umur = 30; // ❌ ERROR: Nilai konstanta tidak bisa diubah
c) Hanya Bisa Pakai Tipe Data Dasar
const
hanya bisa digunakan untuk tipe data primitif, seperti:
- int
- double
- string
- char
- bool
Konstanta nggak bisa digunakan untuk tipe array, list, atau objek.
Contoh yang benar:
const string NAMA = "Andi";
const double GRAVITASI = 9.8;
Yang salah:
const int[] angka = { 1, 2, 3 }; // ❌ ERROR: Array tidak bisa pakai const
3. Kapan Harus Menggunakan const
?
Kamu sebaiknya menggunakan const
kalau ada nilai yang bersifat tetap dan nggak boleh berubah di sepanjang program.
Contoh penggunaan const
:
const double PI = 3.14159;
const int MAX_PLAYER = 4;
const string APP_NAME = "MyApp";
Bayangin kalau kamu sering butuh nilai PI di banyak tempat di programmu. Kalau suatu saat kamu ingin pakai nilai dengan lebih banyak angka desimal, cukup ubah di satu tempat aja, nggak perlu cari satu-satu di dalam kode.
4. readonly
vs const
, Mana yang Harus Dipakai?
Mungkin kamu pernah dengar tentang readonly
. Nah, ini mirip dengan const
, tapi ada perbedaannya.
Perbedaan | const | readonly |
---|---|---|
Bisa diubah setelah deklarasi? | ❌ Tidak bisa | ✅ Bisa diubah di constructor |
Bisa digunakan untuk tipe objek? | ❌ Tidak bisa | ✅ Bisa digunakan |
Nilainya harus diinisialisasi saat deklarasi? | ✅ Wajib langsung diberi nilai | ✅ Bisa diinisialisasi dalam constructor |
Kapan Pakai const
?
Gunakan const
kalau nilai benar-benar tetap sepanjang program, misalnya:
const double PI = 3.14159;
const string APP_NAME = "C# Mastery";
Kapan Pakai readonly
?
Gunakan readonly
kalau nilainya bisa berubah, tapi hanya di dalam constructor.
class Contoh
{
public readonly int ID;
public Contoh(int id)
{
ID = id; // Bisa diubah di constructor
}
}
5. Contoh Program Sederhana dengan const
Sekarang kita buat program sederhana yang pakai konstanta dalam perhitungan luas lingkaran.
using System;
class Program
{
const double PI = 3.14159;
static void Main()
{
Console.Write("Masukkan jari-jari lingkaran: ");
double r = Convert.ToDouble(Console.ReadLine());
double luas = PI * r * r;
Console.WriteLine("Luas lingkaran: " + luas);
}
}
Contoh output:
Masukkan jari-jari lingkaran: 7
Luas lingkaran: 153.93791
Kenapa kita pakai const
untuk PI?
- Karena nilai PI itu tetap dan nggak bakal berubah, jadi lebih aman kalau dibuat konstanta.
6. Kesimpulan
const
adalah variabel yang nilainya tetap dan nggak bisa diubah.- Harus langsung diinisialisasi saat deklarasi.
- Cocok untuk nilai tetap seperti PI, nilai maksimum, atau string konstan.
const
hanya bisa dipakai untuk tipe data dasar, kalau butuh yang bisa diubah di constructor, pakaireadonly
.- Mempermudah debugging dan bikin kode lebih rapi karena nilainya tidak akan berubah secara tidak sengaja.
Jadi, kalau kamu punya nilai yang bersifat tetap, pastikan untuk selalu gunakan const
biar kodingan kamu lebih aman dan profesional!