Dart adalah bahasa pemrograman yang populer untuk pengembangan aplikasi berbasis Flutter. Dalam Dart, terdapat dua kata kunci yang sering digunakan untuk mendefinisikan variabel dengan sifat yang berbeda, yaitu final
dan const
.
Kedua kata kunci ini memiliki perbedaan yang penting dalam penggunaannya. Artikel ini akan menjelaskan secara rinci perbedaan antara final
dan const
dalam bahasa pemrograman Dart.
1. final
Kata kunci final
digunakan untuk mendefinisikan variabel yang nilainya hanya dapat diinisialisasi sekali dan tidak dapat diubah setelahnya. Berikut adalah beberapa karakteristik utama dari variabel final
:
- Variabel
final
dapat diinisialisasi hanya sekali, biasanya saat deklarasi atau dalam konstruktor. - Setelah diinisialisasi, nilai dari variabel
final
tidak dapat diubah selama waktu runtime program. - Nilai dari variabel
final
dapat dihitung secara dinamis selama waktu runtime, yang berarti Anda dapat menginisialisasinya dengan ekspresi atau fungsi yang dihasilkan saat aplikasi berjalan.
Contoh penggunaan final
:
final String nama = 'John';
final int usia = 30;
Dalam contoh di atas, nama
dan usia
adalah variabel final
yang nilainya diinisialisasi saat deklarasi dan tidak dapat diubah setelahnya.
2. const
Kata kunci const
digunakan untuk mendefinisikan variabel dengan nilai yang harus diketahui selama waktu kompilasi (sebelum program dijalankan) dan nilainya harus konstan. Berikut adalah beberapa karakteristik utama dari variabel const
:
- Variabel
const
harus diinisialisasi selama waktu kompilasi, yang berarti nilai-nilai ini harus diketahui sebelum program dijalankan. - Nilai dari variabel
const
harus konstan selama waktu kompilasi dan waktu runtime, yang berarti nilai-nilai ini tidak dapat diubah setelah diinisialisasi. - Variabel
const
biasanya digunakan untuk mendefinisikan konstanta yang tetap nilainya sepanjang eksekusi program.
Contoh penggunaan const
:
const double pi = 3.14159;
const String aplikasiNama = 'MyApp';
Dalam contoh di atas, pi
dan aplikasiNama
adalah variabel const
yang diinisialisasi dengan nilai konstan yang sudah diketahui sebelum program dijalankan.
Perbandingan
Mari kita ringkas perbedaan antara final
dan const
dalam tabel berikut:
Sifat | final | const |
---|---|---|
Inisialisasi | Sekali saja, biasanya saat deklarasi atau dalam konstruktor | Selama waktu kompilasi (sebelum program dijalankan) |
Perubahan Nilai | Tidak dapat diubah setelah diinisialisasi selama runtime | Tidak dapat diubah setelah diinisialisasi selama runtime dan kompilasi |
Nilai Selama Runtime | Dapat dihitung secara dinamis selama runtime | Tetap konstan selama runtime |
Contoh Penggunaan | Variabel dengan nilai yang tetap selama eksekusi program, tetapi nilai ini dapat dihitung secara dinamis saat aplikasi berjalan | Konstanta yang nilainya diketahui sebelum program dijalankan |
Kesimpulan
Dalam bahasa pemrograman Dart, final
dan const
adalah dua kata kunci yang digunakan untuk mendefinisikan variabel dengan sifat yang berbeda.
final
digunakan untuk variabel yang nilainya tetap selama runtime program, tetapi nilai tersebut dapat diinisialisasi dengan ekspresi yang dihasilkan saat aplikasi berjalan.
const
, di sisi lain, digunakan untuk variabel dengan nilai yang harus diketahui selama waktu kompilasi dan harus tetap konstan selama waktu kompilasi dan runtime.
Pemahaman perbedaan antara final
dan const
sangat penting dalam pengembangan aplikasi Dart, terutama ketika Anda bekerja dengan konstanta atau nilai yang harus tetap konstan.
Dengan menggunakan kedua kata kunci ini dengan benar, Anda dapat meningkatkan keamanan dan efisiensi kode Dart Anda.