KONSTANTA A. Ridwan Siregar
KONSTANTA Konstanta adalah ekspresi dengan nilai tetap
LITERAL Literal adalah jenis konstanta yang paling nyata, digunakan untuk menyatakan nilai tertentu di dalam source code suatu program, mis: 5 di dalam code adalah suatu konstanta literal, bisa terdiri dari: integer, floating-point, characters, strings, Boolean, pointers, atau user-defined literals a = 5;
INTEGER NUMERALS Konstanta numerik di atas memiliki nilai integer 123 1776 707 -273
INTEGER NUMERALS Sebagai tambahan terhadap angka desimal, C++ membolehkan penggunaan angka oktal (basis 8) dan heksadesimal (basis 16) sebagai konstanta desimal Untuk literal oktal, digit diawali dengan sebuah karakter 0 (zero) Untuk heksadesimal, diawali dengan karakter 0x (zero, x)
INTEGER NUMERALS Contoh konstan literal berikut adalah ekuivalen satu sama lain: 75 // decimal 0113 // octal 0x4b // hexadecimal
INTEGER NUMERALS Konstan literal tersebut memiliki satu jenis, sama seperti variabel, dengan harga dasar literal integer adalah int, tetapi akhiran (suffix) tertentu dapat ditambahkan terhadap suatu literal integer untuk menetapkan jenis interger yang berbeda: Suffix Type modifier u or U unsigned l or L long ll or LL long long
INTEGER NUMERALS Unsigned dapat dikombinasikan dengan int dan long, seperti contoh berikut: 75 // int 75u // unsigned int 75l // long 75ul // unsigned long 75lu // unsigned long
FLOATING POINT NUMERALS Floating point mengekpresikan nilai nyata, dengan desimal dan/atau eksponen 3.14159 // 3.14159 6.02e23 // 6.02 x 10^23 1.6e-19 // 1.6 x 10^-19 3.0 // 3.0
FLOATING POINT NUMERALS Jenis dasar untuk floating-point literals adalah double Untuk floating-point literals jenis float atau long double dapat dispesifikasikan dengan menambahkan satu dari akhiran berikut: Suffix Type f or F float l or L long double
CHARACTER AND STRING LITERALS Character dan string literals diapit oleh dua tanda kutip: Baris 1 dan 2 adalah single-character literals, dan baris 3 dan 4 adalah string literals 1 2 3 4 'z' 'p' “Apa kabar?“ “Halo bro"
CHARACTER AND STRING LITERALS Character dan string literals dapat juga merepresentasikan karakter khusus yang sulit atau tidak mungkin dinyatakan dalam source code, seperti newline (\n) atau tab (\t) Semua karakter khusus diawali dengan karakter backslash (\)
CHARACTER AND STRING LITERALS Escape code Description \n newline \r carriage return \t tab \v vertical tab \b backspace \f form feed (page feed) \a alert (beep) \' single quote (') \" double quote (") \? question mark (?) \\ backslash (\) Contoh: '\n' '\t' “Kiri \t Kanan" “satu\n dua\n tiga"
CHARACTER AND STRING LITERALS Programmer dapat menggunakan string literals panjang dalam beberapa baris, seperti berikut: Atau sama dengan: 1 x = "string diekspresikan dalam\ 2 dua baris" x = "string diekspresikan dalam dua baris"
LITERAL LAINNYA Ada 3 kata kunci literal dalam C++ yaitu: true, false dan nullptr: True dan false adalah dua nilai yang dimungkinkan pada jenis bool (Boolean) Nullptr adalah nilai null pointer 1 bool lawan = true; 2 bool tameng = false; 3 int* p = nullptr;
TYPED CONSTANT EXPRESSIONS Adakalanya, lebih nyaman memberi sebuah nama terhadap nilai konstan: 1 const double pi = 3.1415926; 2 const char tab = '\t';
TYPED CONSTANT EXPRESSIONS 1 #include <iostream> 2 using namespace std; 3 4 const double pi = 3.14159; 5 const char baris_baru = '\n'; 6 7 int main () 8 { 9 double r=5.0; // radius 10 double lingkaran; 11 12 lingkaran = 2 * pi * r; 13 cout << lingkaran; 14 cout << baris_baru; 15 } 31.4159
PREPROCESSOR DEFINITIONS (#DEFINE) Mekanisme lainnya untuk menamai nilai konstan adalah dengan penggunaan preprocessor definitions, dengan bentuk seperti berikut: Setelah direktif ini, setiap kemunculan identifier dalam code diinterpretasikan sebagai replacement, dimana replacement adalah urutan karakter (hingga akhir baris) . #define identifier replacement
PREPROCESSOR DEFINITIONS (#DEFINE) Contoh: PREPROCESSOR DEFINITIONS (#DEFINE) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include <iostream> using namespace std; #define PI 3.14159 #define BARIS_BARU '\n' int main () { double r = 5.0; // radius double lingkaran; lingkaran = 2 * PI * r; cout << lingkaran; cout << BARIS_BARU; } 31.4159
TERIMA KASIH