Pengertian Konstanta
Konstanta adalah tetapan dari suatu nilai yang bersifat tetap. Nilai akan ditetapkan saat sebelum kompilasi program, data tersebut tidak akan bisa diubah sepanjang kode sumber program dan di saat program tersebut sedang berjalan (runtime).
Pengertian Literal
Literal adalah jenis yang paling jelas dari konstanta, Mereka digunakan untuk mengekspresikan nilai-nilai tertentu dalam kode sumber dari sebuah program.
x = 2 ;
Nilai 2 merupakan sebuah literal constant.
Dan dibawah ini merupakan macam-macam Literal Constant.
Integer Literal
Integer Literal adalah bilangan konstanta yang mengidentifikasi nilai-nilai integer. Dalam penulisan Integer Literal tidak membutuhkan dua buah tanda petik seperti apa yang dilakukan pada char
atau string
.
Untuk melakukan Integer Literal dilakukan dengan hanya menulis angka dari nilai yang dimaksud, contoh: 123
. angka tersebut akan dibaca sebagai decimal base, yang ditulis tanpa menggunakan spesial karakter.
Selain bilangan Desimal, C ++ juga memungkinkan untuk penggunaan bilangan Oktal (Basis 8) yang penulisanya di awali dengan angka 0
, Hexadecimal (Basis 16) yang penulisanya diawali dengan 0x
, dan Biner(C++14) (Basis 2) yang penulisanya diawali dengan 0b
.
Prefix | Sistem Bilangan |
---|---|
Desimal | |
0 |
Oktal |
0x |
Hexsadesimal |
0b |
Biner |
Contoh Penulisan
75 //Decimal 0113 //Octal 0x4d //Hexadecimal 0b110101 //Biner
Contoh Program
int main () { int x = 75; //Decimal x = 0113; //Octal x = 0x4d; //Hexadecimal x = 0b110101; //Biner return 0; }
Integer Literal juga dapat memiliki akhiran (Suffix) yang menyatakan type modifikasi . tapi untuk pemberian konstanta biasanya pada beberapa kompilator hal ini dapat dimengerti otomatis oleh kompilator tanpa menggunakan akhiran tersebut. Di bawah ini adalah beberapa akhiran yang dapat digunakan dalam Integer Literal:
Suffix | Keterangan |
---|---|
u atau U |
Unsigned Int |
l atau L |
Long Int |
ul atau (Ul , uL , UL , lu , Lu , lU , LU ) |
Unsigned Long Int |
ll atau (Ll , lL , LL ) |
Long Long Int |
Ull atau (uLL , Ull , ULL , llu , llU , LLu , LLU ) |
Unsigned Long Long Int |
Contoh Penulsan
65 //int 65u //unsigned 65l //long 65ul //unsigned long 65ll //long long 65ull //unsigned long long 65U //unsigned 65LU //unsigned long 65LLU //unsigned long long
Contoh Program
#include <iostream> int main () { int x = 65; //Int x = 65u; //Unsigned x = 65l; //Long x = 65ul; //Unsigned Long x = 65ll; //Long Long x = 65ull; //Unsigned Long x = 65llu; //Unsigned Long Long return 0; }
Floating-point literal
Floating-point literal adalah suatu literal yang memiliki bagian integer, decimal, pecahan, dan eksponen. Anda dapat mewakili floating point literal dalam bentuk decimal atau bentuk eksponensial.
Contoh Penulisan
314159E-5L // Legal 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 literal menyatakan tipe data float atau long double bisa diwakili menggunakan akhiran sebagai berikut.
Suffix | Data Type |
---|---|
f atau F |
Float |
l atau L |
Long Double |
Contoh Penulisan
3.14159L // long double 6.02e23f // float
Literal Boolean
Ada dua literal untuk Boolean dan mereka adalah bagian dari kata kunci C++ standar:
true
: Sebuah nilai yang berarti Benar1
false
: Sebuah nilai yang berarti Salah0
.
Kita dapat mewakili kata kunci true
dengan angka 1
, dan kata kunci false
dengan angka 0
.
bool myVarTrue = true; //1 bool myVarFalse = false; //0
Character dan String literals
Character Literal diapit dengan tanda kutip tunggal '
dan String Literal diapit dengan tanda kutip ganda "
, hal itu digunakan untuk membedakan mereka dari identitas suatu variabel / object atau standar kata kunci pada C++.
Dalam Character atau String Literals dapat memuat karakter polos, misalnya: a-z,0-9 dan simbol lainya, Escape Sequances, misalnya: \t
, \n
dan lain-lain, dan karakter universal, misalnya: \u02C0
dan lain-lain.
Contoh Penulisan
'a' //Character Literal 'B' //Character Literal "BelajarC++" //String Literal "BelajarCpp\nTempat Belajar C++" //String Literal
Pada Character dan String Literal terdapat kode untuk mewakili karakter khusus yang tidak bisa dinyatakan langsung di dalam kode sumber program. Kode untuk mewakili karakter khusus yang dimaksud selalu di awali dengan tanda backslash \
, Seperti Newline \n
, tab \t
dan lain-lain. hal itu disebut sebagai Escape Sequances atau Escape Code.
Contoh Penulisan
'\n' '\t' "Kanan \t Kiri" "satu\ndua\ntiga"
Dalam penulisan String Literal kita juga dapat melakukan penulisan dengan cara terpisah. Hal ini sama, akan menghasilkan satu string.
Contoh Penulisan
"Satu" "\t" "Dua" //Penulisan tersebut sama seperti penulisan: "Satu\tDua"
Dan di dalam string literal kita juga dapat melakukan penulisan dengan break line atau menulis di baris selanjutnya. Hal itu dapat kita lakukan menggunakan tanda backslash \
pada akhir dari baris, tanda tersebut akan menggabungkan string selanjutnya yang ada pada baris-baris dibawahnya.
Contoh Penulisan
"Hallo, \ Selamat datang di\ BelajarC++"
Contoh penulisan di atas akan menghasilkan.
"Hallo, Selamat Datang di BelajarC++"
String merupakan kumpulan dari character char
. Dalam char
kita juga dapat menentukan jenis karakter yang akan kita pakai. Dengan menambahkan awalan (Prefix) sebagai berikut.
Prefix | Character Type |
---|---|
L |
wchar_t |
U |
char32_t |
u |
char16_t |
Dan untuk string memiliki dua awalan tambahan.
Prefix | Keterangan | |
---|---|---|
R |
Raw String (String Mentah) | |
u8 |
String literal encoded dalam eksekusi menggunakan UTF-8 |
Dekalarasi dengan nilai tetap
Dalam bahasa pemrograman C++ terdapat dua cara untuk membuat deklarasi yang memiliki nilai tetap, yaitu menggunakan const
keyword dan define
preprocessor directive.
const
Keyword
const
keyword berfungsi untuk merubah sifat dari deklarasi seperti variabel atau object menjadi memiliki nilai tetap atau tidak dapat diubah. Hal ini biasanya digunakan untuk menyimpan nilai dengan menyatakan bahwa nilai tersebut memang sudah standard (nilai pasti), seperti: nilai PI=3.14, kecepatan cahaya dan lain-lain. dengan keyword const
kita dapat membuat nilai pada deklarasi itu tetap terjaga.
Untuk mendirikan sebuah deklarasi variabel konstanta, kita dapat dirikan sebuah variabel dengan cara seperti biasa dan hanya kita tambahkan keyword const
yang biasanya diletakan pada awal dari deklarasi.
Bentuk Penulisan
const dataType identitas = inisialisasi
Contoh Penulisan
const float PI = 3.14;
Untuk menyatakan variabel konstanta kita diwajibkan untuk melakukan inisialisasi pada variabel konstanta tersebut.
Contoh Program
int main () { const float PI = 3.14; PI = 20; return 0; }
Contoh Program di atas akan memperlihatkan dan membuktikan fungsi dari keyword const
.
Pada baris ke tiga kita dirikan variabel float PI
dengan sifat konstanta dan pada baris selanjutnya kita coba untuk mengubah nilai dari variabel PI
tersebut. saat kompilasi, kompilator akan menghasilkan pesan error yang teruliskan bahwa “variabel PI
hanya dapat dibaca dan tidak bisa diubah”.
Biasanya para programmer memberikan identitas untuk sebuah konstanta menggunakan huruf balok pada identitasnya, untuk memudahkan mereka membedakan dengan variabel biasa.
#define
Preprocessor Directive
Selain cara yang ada di atas. kita juga bisa menggunakan #define
untuk membuat konstanta. #define
digunakan untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.
Bentuk Penulisan
#define NAMA_KONSTANTA nilai
Keterangan :
NAMA_KONSTANTA : digunakan untuk identitas dari konstanta tersebut.
nilai : adalah tempat dimana kita dapat mendefinisikan konstanta tersebut dengan nilai, kita tidak hanya dapat mengisinya dengan sebuah nilai (Angka/Karakter/String) tapi kita juga dapat mengisinya dengan sebuah pernyataan.
nilai pada #define
dapat berupa:
#define PI 3.14 //Numerik #define HURUF 'B' //Karakter #define JABATAN "INSTRUCTOR" //String #define CETAK std::cout<<"Belajar C++"; //Pernyataan #define LUAS_KUBUS (n*n) //Ekspresi
Setelah #define
didirikan di dalam kode program, untuk menggunakanya kita cukup tuliskan NAMA_KONSTANTA
nya saja. Ketika kompilasi semua pemanggilan nama konstanta #define
akan diganti menjadi nilai dari konstanta #define
tersebut.
Contoh Program
#include <iostream> #define PI 3.14159 //Konstanta #define NEWLINE cout<<endl; //Konstanta using namespace std; int main () { const char NAMA[]="Belajarpp.com"; //Konstanta double hasil; hasil = (PI * 14)*2; cout<<NAMA; NEWLINE cout<<hasil; return 0; }
permisi ingin bertanya, lalu bedanya variabel literal dengan variabel biasa? apakah mereka sama?
Mereka berbeda karena:
Aw, this was a really nice post. Taking a few minutes and actual effort
to generate a top notch article… but what can I say… I
procrastinate a lot and never seem to get nearly anything done.