Variabel dan Tipe Data C++: Panduan Ahli untuk int, double, char, string, bool
Variabel dalam C++
Dalam C++, variabel adalah lokasi penyimpanan bernama yang memungkinkan programmer menyimpan dan memanipulasi data. Setiap variabel memiliki tipe eksplisit yang menentukan jejak memori, rentang nilai yang diizinkan, dan operasi yang dapat dilakukan padanya.
Tutorial ini mencakup:
Variabel dalam C++
Tipe variabel dasar
Aturan deklarasi
Hierarki tipe data
Pengidentifikasi dan konvensi penamaan
Kualifikasi const
Aturan cakupan
Konversi tipe implisit dan eksplisit
Variabel register
Komentar dan urutan keluar
Tipe Variabel Dasar dalam C++
int – Bilangan bulat tanpa bagian pecahan atau eksponensial (misalnya, 120, -90).
double – Bilangan floating-point presisi ganda (misalnya, 11.22, 2.345).
char – Karakter tunggal yang diapit oleh kutip tunggal (misalnya, 'a', 'm', 'F', 'P', '}').
float – Nilai floating-point presisi tunggal (misalnya, 1.3, 2.6).
string – Urutan karakter dalam kutip ganda (misalnya, "How are you?").
bool – Menyimpan true atau false.
Aturan Mendeklarasikan Variabel dalam C++
Nama dapat berisi huruf, angka, dan garis bawah.
Tidak boleh dimulai dengan angka.
Praktis konvensi mendahulukan huruf kecil; huruf besar di awal biasanya menunjukkan konstanta.
Nama tidak boleh bentrok dengan kata kunci bahasa (misalnya, int).
Memulai dengan garis bawah diizinkan tetapi tidak dianjurkan karena aturan pengidentifikasi yang dicadangkan.
Tipe Data Variabel C++
C++ menawarkan serangkaian tipe primitif yang kaya. Tipe void tidak memiliki nilai dan biasanya digunakan sebagai tipe pengembalian fungsi ketika tidak ada yang dikembalikan.
Tipe aritmetik terbagi menjadi dua kategori:
Tipe floating-point: float (≈32 bit), double (≈64 bit), dan long double (≈96/128 tergantung implementasi).
Tipe integral: integer, karakter, dan bool. Tipe integral dapat bernilai signed atau unsigned.
Tipe signed mewakili nilai negatif, nol, dan positif. Misalnya, char signed 8-bit berkisar dari –127 hingga 127.
Tipe unsigned hanya menampung nilai non-negatif. char unsigned 8-bit berkisar dari 0 hingga 255.
Nama Variabel atau Pengidentifikasi
Pengidentifikasi dapat berisi huruf, angka, dan garis bawah. Panjangnya tidak terbatas, dan peka huruf besar-kecil:
int guru99, gurU99, GuRu99, GURU99;
Kata kunci yang dicadangkan tidak dapat digunakan kembali sebagai pengidentifikasi. Menerapkan konvensi penamaan yang jelas meningkatkan keterbacaan: gunakan huruf kecil untuk variabel, camelCase atau snake_case untuk nama banyak kata, dan kapitalkan nama kelas.
Contoh Deklarasi dan Definisi
int a = 5; int b; char c = 'A'; int a, b; a = b = 1000; int a(5); int b{5};
Kualifikasi const dalam C++
Gunakan const ketika nilai harus tetap tidak berubah setelah inisialisasi:
const int bufSize = 512; // ukuran buffer input
Variabel const harus diinisialisasi; jika tidak, kompiler mengeluarkan kesalahan.
const int i = get_size(); // OK: inisialisasi runtime const int j = 42; // OK: inisialisasi waktu kompilasi const int k; // error: const tidak diinisialisasi const int i = 42; const int ci = i; // OK: salinan i
Cakupan Variabel dalam C++
Cakupan menentukan di mana suatu nama terlihat. Variabel dapat diakses dari titik deklarasinya hingga akhir blok yang melingkupi.
#include <iostream> int main() { int sum = 0; for (int val = 1; val <= 10; ++val) sum += val; std::cout << "Sum of 1 to 10 inclusive is " << sum << std::endl; return 0; }
main memiliki cakupan global.
sum memiliki cakupan blok dalam main.
val memiliki cakupan lokal dalam loop for.
Cakupan Bersarang
#include <iostream> using namespace std; int reused = 42; // cakupan global int main() { int unique = 0; // cakupan blok cout << reused << " " << unique << endl; // 42 0 int reused = 0; // penggunaan lokal menyembunyikan global cout << reused << " " << unique << endl; // 0 0 cout << ::reused << " " << unique << endl; // 42 0 return 0; }
Konversi Tipe Variabel
C++ melakukan konversi implisit di bawah kondisi tertentu. Aturan kunci meliputi:
Non-bool ke bool: 0 menjadi false; nilai lain menjadi true.
bool b = 42; // b adalah true
bool ke aritmetik: true menjadi 1, false menjadi 0.
bool b = true; int i = b; // i adalah 1
Floating-point ke integer: memotong menuju nol.
int i = 3.14; // i adalah 3
Integer ke floating-point: bagian pecahan hilang.
int i = 3; double pi = i; // pi adalah 3.0
Overflow unsigned: nilai membungkus modulo basis.
unsigned char c = -1; // 255 pada char 8-bit
Overflow signed: perilaku tidak terdefinisi.
Saat mencampur integer signed dan unsigned, nilai signed negatif dapat secara tidak terduga dikonversi menjadi nilai unsigned besar.
Variabel Register
Gunakan kata kunci register untuk menyarankan agar variabel yang sering diakses disimpan dalam register CPU. Kompiler modern biasanya mengabaikan petunjuk ini dan melakukan optimasi sendiri.
register int i;
Komentar
Komentar diabaikan oleh kompiler dan berguna untuk mendokumentasikan kode:
Satu baris – dimulai dengan //.
Banyak baris – dibatasi oleh /* ... */.
/* This is a comment */ /* C++ comments can also span multiple lines */
Urutan Keluar
Urutan keluar mewakili karakter non-cetak atau khusus:
Escape
Deskripsi
\n
Baris baru
\t
Tab horizontal
\\
Backslash
\b
Backspace
\r
Carriage return
\v
Tab vertikal
\f
Formfeed
\a
Peringatan (bel)
\"
Kutip ganda
\'
Kutip tunggal
\?
Tanda tanya
cout << '\n'; // baris baru cout << "\tguru99!\n"; // tab + teks + baris baru
Urutan yang disesuaikan menggunakan nilai heksadesimal atau oktal:
\7 // bell \12 // baris baru \40 // spasi \x4D // 'M'
Ringkasan
Variabel menyediakan penyimpanan bernama dan memiliki tipe.
Tipe utama: int, double, char, float, string, bool.
Cakupan menentukan visibilitas; cakupan bersarang dapat menyembunyikan nama.
Konversi implisit dan eksplisit ada tetapi harus digunakan dengan hati-hati.
Petunjuk register dapat meningkatkan kinerja tetapi bersifat nasihat.
Komentar dan urutan keluar membantu keterbacaan dan output yang benar.