Membuat Nilai Variabel Beku Menggunakan Konstanta Bahasa C
Deklarasi dan Inisialisasi Variabel Konstanta
#include <stdio.h>
int main() {
const int nilaiKonstanta = 10;
// Upaya mengubah nilai
// konstanta akan menyebabkan
// kesalahan kompilasi
// nilaiKonstanta = 15;
// Error: assignment of
// read-only variable
// 'nilaiKonstanta'
// Menampilkan nilai
// variabel konstanta
printf("Nilai variabel
konstanta: %d\n",
nilaiKonstanta);
return 0;}
// Demonstrasi konstanta
// specifier pada bahasa C
#include <stdio.h>
int main()
{
const int num = 1;
// Modifikasi nilai variabel num
num = 5;
return 0;
}
- /* In C and C++ internally the default */ /* type of 'var' is int */ enum VARS { var = 42 };
- /* In C++ 11 (can have any integral type): */ enum : type { var = 42; }
- /* where mytype = int, char, long etc. */ /* but it can't be float, double or user defined data type. */
Catatan: tipe data enum terbatas hanya pada contoh sebelumnya.
#include <iostream>
int main()
{
int var = 5;
constexpr int k = var;
std::cout << k;
return 0;
}
Karena variabel 'var' bukanlah ekspresi konstanta. Karenanya untuk dapat membuatnya sebagai konstanta, maka variabel 'var' harus dideklarasikan dengan keyword const.
Contoh: C++
// Demonstrasi permasalah-
// an pada 'Macros' C++
#include <iostream>
using namespace std;
#define var 5
int main() {
printf("%d ", var);
#ifdef var
#undef var
// pendefinisian ulang variabel
// var dengan nilai 10
#define var 10
#endif
printf("%d", var);
return 0;
}
// Demonstrasi masalah penggu-
// naan 'macros ' pada bahasa C
#include <stdio.h>
#define var 5
int main()
{
printf("%d ", var);
#ifdef var
#undef var
// pendefinisian ulang nilai
// var dengan nilai 10
#define var 10
#endif
printf("%d", var);
return 0;
}
Catatan: preprocessor dan enum hanya bekerja sebagai konstanta literal dan konstanta integer dan hanya mendefinisikan nama simbol dari konstanta. Namun jika membutuhkan variabel konstanta dengan alamat memori spesifik maka dapat menggunakan 'const' atau 'constexpr' sesuai dengan yang dipersyaratkan.
- Keterbacaan Kode: Penggunaan variabel konstanta dapat meningkatkan keterbacaan kode. Dengan memberikan nama yang bermakna pada nilai konstanta, membaca kode menjadi lebih mudah dipahami.
- Keamanan Kode: Variabel konstanta membantu melindungi nilai-nilai yang tidak seharusnya diubah selama eksekusi program. Hal ini dapat menghindari perubahan tak terduga dan memastikan kestabilan program.
- Pemeliharaan Kode: Dengan nilai konstanta yang dideklarasikan di satu tempat, pemeliharaan kode menjadi lebih mudah. Jika nilai konstanta perlu diubah, maka hanya perlu mengubahnya di satu lokasi saja, dan perubahan tersebut akan mencerminkan di seluruh program.
- Beri Nama yang Jelas: Berikan nama yang jelas dan deskriptif pada variabel konstanta agar maksud dan tujuan nilainya dapat dipahami tanpa harus melihat ke dalam detail implementasi. Sintak: const double PI = 3.14159;
- Gunakan Huruf Kapital untuk Konstanta: Sebagai konvensi, gunakan huruf kapital untuk menulis nama variabel konstanta. Ini membantu membedakan variabel konstanta dengan variabel biasa. Sintak: const int JUMLAH_MURID = 50;
- Deklarasikan di Awal Blok Kode: Deklarasikan variabel konstanta di awal blok kode atau file header untuk memastikan keterbacaan dan konsistensi.
#include <stdio.h>
int main() {
const int BATAS_ATAS = 100;
return 0;}
- Hindari Penggunaan Makro: Hindari menggunakan makro praprosesor (#define) untuk mendefinisikan konstanta. Penggunaan const lebih disarankan karena memberikan tipe data dan melibatkan pengecekan tipe oleh kompilator.
- #define PI 3.14159 // Hindari penggunaan makro untuk konstanta
- const double PI = 3.14159; // Disarankan penggunaan 'const'
#include <stdio.h>
int main() {
const int PANJANG_ARRAY = 10;
int data[PANJANG_ARRAY];
for (int i = 0; i < PANJANG_ARRAY; ++i)
{data[i] = i * i;}
// Menampilkan data array
printf("Data array: ");
for (int i = 0; i < PANJANG_ARRAY; ++i)
{printf("%d ", data[i]);}
return 0;}
- Keterbatasan pada Waktu Kompilasi: Variabel konstanta diidentifikasi dan nilainya ditentukan pada waktu kompilasi. Oleh karena itu, nilai variabel konstanta harus diketahui selama waktu kompilasi, dan tidak dapat diambil dari sumber eksternal atau dihitung pada waktu eksekusi. Sintak: /* Tidak valid: Konstanta harus diketahui pada waktu kompilasi */ const int PANJANG_ARRAY = hitungPanjangArray();
- Penggunaan Ruang Memori Tambahan: Beberapa implementasi kompilator mungkin menangani variabel konstanta dengan cara yang membuatnya disimpan di ruang memori, meskipun nilainya tetap konstan selama eksekusi program. Hal ini dapat mengakibatkan penggunaan ruang memori tambahan yang mungkin tidak diinginkan dalam situasi tertentu. Sintak: const int NILAI = 42;
- Pengaruh Terhadap Kinerja: Penggunaan variabel konstanta yang berlebihan, terutama pada lingkup yang besar, dapat memberikan pengaruh terhadap kinerja program. Hal ini karena setiap variabel konstanta memerlukan alokasi dan pengelolaan memori. Sintak: const int JUMLAH_MURID = 1000;
- Batasan Penggunaan di Beberapa Konteks: Beberapa konteks dalam Bahasa C, seperti penggunaan dalam deklarasi array atau dalam beberapa kasus penggunaan sebagai panjang array, memerlukan konstanta waktu kompilasi. Variabel konstanta yang didefinisikan pada waktu eksekusi tidak dapat digunakan dalam konteks tersebut. Sintak: /* Tidak valid: Panjang array harus diketahui pada waktu kompilasi */ const int PANJANG_ARRAY = hitungPanjangArray(); int data[PANJANG_ARRAY];
- Kelemahan dalam Konteks Makro: Dalam beberapa situasi, makro praprosesor (#define) dapat lebih fleksibel daripada variabel konstanta, terutama untuk nilai-nilai yang memerlukan substitusi teks yang rumit atau yang terlibat dalam ekspresi praprosesor. Sintak: #define PI 3.14159
- Kesulitan Pengujian: Variabel konstanta mungkin sulit diuji (testing) karena nilainya tetap selama eksekusi program. Pengujian mungkin memerlukan pendekatan yang berbeda untuk menangani variabel konstanta dalam berbagai skenario. Sintak: const int BATAS_ATAS = 100;
- Kesulitan dalam Perubahan Nilai: Jika nilai variabel konstanta perlu diubah di masa depan, pengembang perlu memodifikasi nilai secara eksplisit di seluruh kode yang menggunakan variabel tersebut. Ini dapat menambah kompleksitas pemeliharaan dan pembaruan kode. Sintak: const int NILAI_BATAS = 10; /* Jika perlu diubah, perubahan harus dilakukan di seluruh kode */
Kesimpulan
- Integer Promotion Bahasa C dan Fungsinya
- Perbandingan Nilai Float Bahasa C Terhadap Nilai Lainnya
- Tipe Data Long Bahasa C Beserta Fungsi dan Perbedaan Kebutuhannya
- Tipe Data size_t pada Bahasa C dan Fungsinya
- Tipe Data dan Modifier Bahasa C Beserta Fungsinya
- Tipe Data Float dan Double Bahasa C Beserta Fungsinya
- Karakter Aritmatika Bahasa C dan Fungsinya
6 komentar untuk "Membuat Nilai Variabel Beku Menggunakan Konstanta Bahasa C"
Hubungi admin melalui Wa : +62-896-2414-6106
Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.
Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.
- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -
Apa yang dimaksud dengan konstanta apakah sama dengan keyword conts?
BalasHapusKeyword const atau konstanta digunakan untuk menetapkan apakah nilai variabel yang disimpan adalah konstan, dan selanjutnya informasi tersebut diberitahukan kepada kompilator untuk mencegah supaya nilai tersebut tidak dapat dilakukan perubahan sama sekali.
HapusPada c++ nilai konstanta secara default ditujukan untuk internal linkagea atau tautan internal, yang memungkinkan nilai untuk muncul pada file header.
Keyword const juga dapat digunakan pada saat pendeklarasian pointer pada bahasa C.
Penggunaan const adalah untuk menunjukkan bahwa nilai variabel tersebut tidak dapat diubah atau dimodifikasi sama sekali,
HapusApa yang dimaksud dengan enum pada bahasa C?
BalasHapusPencacahan atau enumeration adalah tipe data yang digunakan untuk menetapkan nama ke konstanta integral yang memuat program mudah untuk dibaca dan dilakukan perawatan. "enum" merupakan keyword yang digunakan untuk mendeklarasikan suatu unumerasi pada bahasa pemrograman. Keyword "enum" juga dapat digunakan untuk mendefinisikan variabel jenis enum.
Hapusaku kira enum itu kelanjutannya enum, tujuh, delapan, hahahahaha
Hapus