Konstan dan Literal C++

Hai teman-teman masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia konstan dan literal C++. Jangan khawatir jika istilah ini terdengar menakutkan - di akhir pelajaran ini, Anda akan bisa menggunakan mereka seperti seorang ahli! Mari kita masuk ke dalamnya!

C++ Constants/Literals

Apa Itu Konstan dan Literal?

Sebelum kita masuk ke detailnya, mari kita pahami apa konstan dan literal itu. Pahami mereka sebagai elemen "tidak dapat diubah" 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 kode kita, kita menyebutnya sebagai literal integer. Itu seperti menulis sebuah angka di 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 menarik.

Tapi tunggu, ada lagi! C++ mengijinkan kita menulis literal integer dalam sistem angka 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;// Binari (basis 2) - dimulai dengan 0b (C++14 keatas)

Jangan khawatir jika oktal, heksadesimal, atau binari terlihat membingungkan. Untuk saat ini, hanya tahu bahwa mereka adalah cara yang berbeda untuk merepresentasikan angka yang sama. Itu seperti berbicara 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 ini! 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 adalah seperti "ya" dan "tidak" dalam dunia pemrograman.

Literal Karakter

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

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

Dua contoh terakhir menunjukkan karakter khusus: '\n' untuk baris baru dan '\t' untuk tab. Ini disebut escape sequence.

Literal String

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

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

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

Mendefinisikan Konstan

Sekarang kita mengetahui tentang literal, mari kita lihat bagaimana kita dapat menggunakan mereka untuk membuat konstan - nilai yang tidak berubah sepanjang program kita.

Preprocessor #define

Salah satu cara untuk mendefinisikan konstan 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 mengatakan kepada compiler untuk mengganti setiap kemunculan PI dengan 3.14159 dan MAX_STUDENTS dengan 30 sebelum mengkompilasi kode.

Keyword const

Cara yang lebih modern dan disukai untuk mendefinisikan konstan adalah menggunakan keyword const:

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

// Penggunaan sama seperti dengan #define

Keyword const mengatakan kepada compiler bahwa variabel ini tidak dapat diubah setelah inisialisasi.

Menggabungkan Semua

Marilah kitaakhiri dengan program kecil yang menggunakan berbagai jenis konstan 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 konstan dan literal yang kita diskusikan. Itu mendefinisikan nama permainan menggunakan #define, menetapkan tingkat maksimum dan peningkat XP menggunakan const, dan menggunakan berbagai literal untuk menginisialisasi statistik pemain.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia konstan dan literal C++. Ingat, ini adalah blok bangunan dari program Anda - nilai yang tidak berubah yang Anda akan gunakan untuk menciptakan hal yang menakjubkan. Sebagai Anda terus melanjutkan perjalanan pemrograman Anda, Anda akan menemukan bahwa Anda menggunakan konsep ini setiap hari. Tetap latih, stay curious, dan kodingsenang!

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)
Binari 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