Konstanta dan Literal C++

Hai teman-teman masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia konstanta dan literal C++. Jangan khawatir jika istilah ini terdengar menakutkan – pada akhir pelajaran ini, Anda akan bisa menggunakannya seperti seorang ahli! Mari kita mulai!

C++ Constants/Literals

Apa Itu Konstanta dan Literal?

Sebelum kita masuk ke detailnya, mari kita pahami apa itu konstanta dan literal. Pahami mereka sebagai unsur "tidak dapat diubah" di dalam kode Anda – seperti jumlah hari dalam seminggu atau nilai pi. Mereka adalah teman yang dapat dipercaya yang selalu tetap, tanpa peduli apa yang terjadi dalam program Anda.

Literal Integer

Mari kita mulai dengan sesuatu yang familiar – angka! Dalam C++, ketika kita menulis sebuah angka bulat langsung di dalam kode kita, kita menyebutnya sebagai literal integer. Itu seperti menulis sebuah angka di atas kertas – sederhana dan jelas.

int myAge = 25;
int numberOfPlanets = 8;
int negativeNumber = -10;

Dalam contoh ini, 25, 8, dan -10 adalah literal integer. Mereka hanya berada di sana, menjadi angka, tanpa ada titik desimal atau hal yang khusus.

Tapi tunggu, ada lagi! C++ memungkinkan kita menulis literal integer dalam sistem bilangan yang berbeda:

int decimalNumber = 42;     // Desimal (basis 10)
int octalNumber = 052;      // Oktal (basis 8) - dimulai dengan 0
int hexNumber = 0x2A;       // Heksadesimal (basis 16) - dimulai dengan 0x
int binaryNumber = 0b101010;// Biner (basis 2) - dimulai dengan 0b (C++14 keatas)

Jangan khawatir jika oktal, heksadesimal, atau biner terlihat membingungkan. Untuk saat ini, hanya tahu bahwa mereka adalah cara berbeda untuk merepresentasikan angka yang sama. Itu seperti bicara dalam bahasa yang berbeda – "empat puluh dua", "cuarenta y dos", dan "quarante-deux" semua berarti hal yang sama!

Literal Floating-point

Sekarang, mari kita menambahkan beberapa titik desimal ke campuran! Literal floating-point adalah angka dengan titik desimal atau dalam notasi ilmiah.

float pi = 3.14159f;
double avogadroNumber = 6.022e23;
long double veryPreciseNumber = 1.23456789L;

Di sini, 3.14159f adalah literal float (catatan 'f' di akhir), 6.022e23 adalah literal double dalam notasi ilmiah (e23 berarti ×10^23), dan 1.23456789L adalah literal long double (catatan 'L' di akhir).

Literal Boolean

Literal boolean adalah yang paling sederhana dari semua – hanya ada dua!

bool isAwesome = true;
bool isBoring = false;

Itu saja! Hanya true dan false. Mereka seperti "ya" dan "tidak" dalam dunia pemrograman.

Literal Karakter

Literal karakter merepresentasikan karakter tunggal dan ditutup dalam tanda petik tunggal.

char firstInitial = 'J';
char newline = '\n';
char tab = '\t';

Contoh terakhir menunjukkan karakter khusus: '\n' untuk baris baru dan '\t' untuk tab. Karakter ini disebut escape sequence.

Literal String

Literal string adalah urutan karakter yang ditutup dalam tanda petik ganda.

std::string greeting = "Hello, World!";
std::string quote = "To be, or not to be, that is the question.";

Ingat, string menggunakan tanda petik ganda, sedangkan karakter tunggal menggunakan tanda petik tunggal!

Mendefinisikan Konstanta

Sekarang kita mengetahui tentang literal, mari kita lihat bagaimana kita bisa menggunakan mereka untuk membuat konstanta – nilai yang tidak berubah sepanjang program kita.

Preprocessor #define

Salah satu cara untuk mendefinisikan konstanta adalah menggunakan direktif preprocessor #define:

#define PI 3.14159
#define MAX_STUDENTS 30

// Penggunaan
double circleArea = PI * radius * radius;
if (numberOfStudents > MAX_STUDENTS) {
std::cout << "Class is full!";
}

Direktif #define memberitahu compiler untuk mengganti setiap kemunculan PI dengan 3.14159 dan MAX_STUDENTS dengan 30 sebelum mengkompilasi kode.

Kata Kunci const

Cara yang lebih modern dan disukai untuk mendefinisikan konstanta adalah menggunakan kata kunci const:

const double PI = 3.14159;
const int MAX_STUDENTS = 30;

// Penggunaan sama seperti dengan #define

Kata kunci const memberitahu compiler bahwa variabel ini tidak dapat diubah setelah inisialisasi.

Menggabungkan Semua

Mari kitaakhiri dengan program kecil yang menggunakan berbagai jenis konstanta dan literal:

#include <iostream>
#include <string>

#define GAME_NAME "C++ Adventure"

int main() {
const int MAX_LEVEL = 100;
const double XP_MULTIPLIER = 1.5;

int currentLevel = 1;
double currentXP = 0.0;
bool hasCompletedTutorial = false;
char playerRank = 'D';
std::string playerName = "Newbie";

std::cout << "Welcome to " << GAME_NAME << "!" << std::endl;
std::cout << "Player: " << playerName << std::endl;
std::cout << "Level: " << currentLevel << "/" << MAX_LEVEL << std::endl;
std::cout << "XP: " << currentXP << std::endl;
std::cout << "Rank: " << playerRank << std::endl;
std::cout << "Tutorial completed: " << (hasCompletedTutorial ? "Yes" : "No") << std::endl;

return 0;
}

Program ini menggunakan semua jenis konstanta dan literal yang kita diskusikan. Itu mendefinisikan nama permainan menggunakan #define, menetapkan tingkat maksimum dan pengali XP menggunakan const, dan menggunakan berbagai literal untuk menginisialisasi statistik pemain.

Kesimpulan

Selamat! Anda baru saja mengambil langkah pertama ke dunia konstanta dan literal C++. Ingat, ini adalah blok bangunan dari program Anda – nilai yang tidak berubah yang Anda akan gunakan untuk menciptakan hal yang menakjubkan. Ketika Anda terus melanjutkan perjalanan pemrograman Anda, Anda akan menemukan diri Anda menggunakan konsep ini setiap hari. Tetap latih, tetap curiga, dan selamat pemrograman!

Tipe Literal Contoh Deskripsi
Integer 42, -10, 0, 1000 Angka bulat
Oktal 052, 077 Angka basis-8 (dimulai dengan 0)
Heksadesimal 0x2A, 0xFF Angka basis-16 (dimulai dengan 0x)
Biner 0b101010 Angka basis-2 (dimulai dengan 0b, C++14 keatas)
Floating-point 3.14, 2.5f, 1e10 Angka dengan titik desimal atau dalam notasi ilmiah
Boolean true, false Nilai logis
Karakter 'A', '\n', '\t' Karakter tunggal atau escape sequence
String "Hello", "C++" Urutan karakter

Credits: Image by storyset