Skip to main content

A.7. Konstanta

Chapter ini membahas tentang konstanta di bahasa Rust.

A.7.1. Keyword const

Berbeda dengan variabel yang dideklarasikan menggunakan keyword let, konstanta dibuat dengan keyword const. Contoh:

const LABEL: &str = "nilai pi adalah:";
const PI: f32 = 22.0/7.0;
println!("{} {}", LABEL, PI);

Bisa dilihat di kode di atas, konstanta LABEL merupakan string dengan nilai "nilai pi adalah:", sedang PI memiliki nilai bertipe float hasil dari operasi 22./7.0.

Dalam pendefinisian konstanta, tipe data harus dituliskan secara eksplist. Deklarasi seperti const DATA = "x" akan menghasilkan error saat proses kompilasi. Dan aturan ini berlaku untuk semua tipe data yang dipergunakan untuk pendefinisian konstanta.

Nilai sebuah konstanta juga bisa dari variabel atau konstanta lain, atau hasil sebuah operasi seperti operasi aritmatika 22.0/7.0.

Di sini penulis tidak menggunakan 22/7 karena hasilnya akan bertipe integer. Di Rust operasi aritmatika harus dilakukan dengan tipe data yang sama, dan hasilnya akan memiliki tipe data sesuai operand. Lebih jelasnya akan kita bahas pada chapter selanjutnya.

Keyword mut tidak bisa diterapkan pada konstanta. Jika dipaksa akan menghasilkan error.

A.7.2. Keyword static

Ada cara lain untuk membuat konstanta, menggunakan keyword static. Contohnya seperti pada kode berikut. Konstanta NUMBER didefinisikan di luar blok fungsi main, lalu di print di dalam fungsi main.

static NUMBER: i32 = 18;

fn main() {
// ...

println!("{}", NUMBER);
// output ==> 18
}

Pertanyaan, bedanya apa dengan konstanta yang dibuat via keyword const? secara teknis bedanya ada di bagaimana manajemen dan alokasi memori dilakukan di belakang layar.

Di Rust, konstanta yang dibuat via const tidak memiliki alamat memori yang pasti, dan setiap kali dipergunakan maka terjadi proses copy value. Sedangkan konstanta yang dibuat via keyword static mempunyai alamat memori yg fix/pasti.

Lebih jelasnya mengenai static nantinya dibahas pada chapter Static. Untuk sekarang silakan lanjut dulu ke pembahasan ke chapter-chapter berikutnya secara berurutan.

A.7.3. Naming convention konstanta

Sesuai anjuran di halaman dokumentasi Rust,Naming convention, aturan penulisan konstanta adalah menggunakan screaming snake case. Nama konstanta dituliskan dalam huruf kapital dengan separator tanda garis bawah atau underscore (_). Contohnya seperti: NUMBER, SOME_DATA, CONFIGURATION_ENV_NAME, dll.


Catatan chapter 📑

◉ Source code praktik

github.com/novalagung/dasarpemrogramanrust-example/../konstanta

◉ Chapter relevan lainnya

◉ Referensi