Konstanta : Literals.
Konstanta adalah ekspresi dengan nilai yang tetap. Terbagi
dalam Nilai Integer, Nilai
Floating-Point, Karakter and String.
Nilai Integer
Nilai Integer
Merupakan nilai konstanta
numerik yang meng-identifikasikan nilai integer decimal. Karena merupakan nilai
numeric, maka tidak memerlukan tanda kutip (")
maupun karakter khusus lainnya. Contoh :
1776
707
-273
C++ memungkinkan kita untuk mempergunakan nilai oktal (base
8) dan heksadesimal (base 16). Jika menggunakan octal maka harus diawali dengan
karakter 0 (karakter nol), dan untuk
heksadesimal diawali dengan karakter 0x
(nol, x). Contoh :
75 // decimal
0113 // octal
0x4b // hexadecimal
Dari contoh diatas, seluruhnya
merepresentasikan nilai yang sama : 75.
Nilai Floating Point
Merepresentasikan nilai desimal dan/atau eksponen, termasuk titik desimal dan karakter e (Yang merepresentasikan “dikali 10 pangkat n” , dimana n merupakan nilai integer) atau keduanya. Contoh :
Nilai Floating Point
Merepresentasikan nilai desimal dan/atau eksponen, termasuk titik desimal dan karakter e (Yang merepresentasikan “dikali 10 pangkat n” , dimana n merupakan nilai integer) atau keduanya. Contoh :
3.14159 // 3.14159
6.02e23 // 6.02 x 1023
1.6e-19 // 1.6 x 10-19
3.0 // 3.0
Karakter dan String
Merupakan konstanta non-numerik,
Contoh :
'z'
'p'
"Hello
world"
"How
do you do?"
Untuk karakter tunggal dituliskan diantara kutip tunggal (')
dan untuk untaian beberapa karakter, dituliskan diantara kutip ganda (").
Konstanta karakter dan string memiliki beberapa hal khusus,
seperti escape codes.
\n
|
newline
|
\r
|
carriage return
|
\t
|
tabulation
|
\v
|
vertical tabulation
|
\b
|
backspace
|
\f
|
page feed
|
\a
|
alert (beep)
|
\'
|
single quotes (')
|
\"
|
double quotes (")
|
\?
|
question (?)
|
\\
|
inverted slash (\)
|
Contoh :
'\n'
'\t'
"Left
\t Right"
"one\ntwo\nthree"
Sebagai tambahan, kita dapat menuliskan karakter apapun
dengan menuliskan yang diikuti dengan kode ASCII,
mengekspresikan sebagai octal (contoh, \23
atau \40) maupun heksadesimal (contoh,
\x20 atau \x4A).
Konstanta Define (#define)
Kita dapat mendefinisikan
sendiri nama untuk konstanta yang akan kita pergunakan, dengan menggunakan
preprocessor directive
#define. Dengan format :
#define identifier
value
Contoh :
#define
PI 3.14159265
#define
NEWLINE '\n'
#define
WIDTH 100
Setelah didefinisikan seperti
diatas, maka kita dapat menggunakannya pada seluruh program yang kita buat,
contoh :
circle
= 2 * PI * r; cout << NEWLINE;
Pada dasarnya, yang dilakukan oleh kompiler ketika membaca #define adalah menggantikan
literal yang ada (dalam contoh, PI,
NEWLINE atau WIDTH) dengan nilai yang
telah ditetapkan (3.14159265,
'\n' dan 100).
#define bukan merupakan instruksi, oleh sebab itu tidak diakhiri dengan tanda
semicolon (;).
Deklarasi Konstanta
(const)
Dengan prefix const kita dapat
mendeklarasikan konstanta dengan tipe yang spesifik seperti yang kita inginkan.
contoh :
const
int width = 100; const char tab = '\t'; const zip = 12440;
Jika tipe data tidak disebutkan, maka kompiler akan
meng-asumsikan sebagai int.
Operator
Operator-operator yang disediakan C++ berupa keyword atau karakter khusus.
Operatoroperator ini cukup penting untuk diketahui karena merupakan salah satu
dasar bahasa C++.
Assignation (=).
Operator assignation digunakan untuk memberikan nilai ke suatu variable.
a = 5;
Memberikan nilai integer 5 ke variabel a. Sisi
kiri dari operator disebut lvalue
(left value) dan sisi kanan disebut rvalue
(right value). lvalue harus selalu
berupa variabeldan sisi kanan dapat berupa
konstanta, variabel, hasil dari suatu operasi atau kombinasi dari
semuanya.
Contoh : int a, b; // a:? b:?
a = 10; // a:10 b:? b = 4; // a:10 b:4 a = b; // a:4 b:4 b = 7; // a:4 b:7
Hasil dari contoh diatas, a
bernilai 4 dan b
bernilai 7.
Contoh :
a = 2 +
(b = 5);
equivalen dengan :
b = 5;
a
= 2 + b;
Arithmetic operators
(
+, -, *, /, % )
+ addition
- subtraction
* multiplication
/ division
% module
Compound assignation
operators
(+=, -=, *=, /=, %=, >>=,
<<=, &=, ^=, |=)
contoh :
value
+= increase; equivalen dengan value =
value + increase;
a -= 5;
equivalen dengan a = a - 5; a /= b; equivalen dengan a = a / b;
price
*= units + 1; equivalen dengan price =
price *
(units
+ 1);
Increment /
Increase / Penambahan (++) dan
Decrement / Decrease / Pengurangan(--).
Contoh :
a++;
a+=1;
a=a+1;
Contoh diatas adalah equivalen secara fungsional. Nilai a
dikurangi 1.
Operator Increase dan Decrease dapat digunakan sebagai prefix atau suffix. Dengan kata lain dapat dituliskan sebelum identifier
variabel (++a) atau sesudahnya (a++). operator increase yang
digunakan sebagai prefix (++a), Perbedaannya terlihat
pada tabel dibawah ini :
Example 1
Example 2
B=3;
A=++B;
// A is 4, B is 4
|
B=3;
A=B++;
// A is 3, B is 4
|
Pada contoh 1, B
ditambahkan sebelum nilainya diberikan ke A.
Sedangkan contoh 2, Nilai B
diberikan terlebih dahulu ke A
dan B
ditambahkan kemudian.
Relational operators
( ==,
!=, >, <, >=, <= )
Untuk mengevaluasi antara 2 ekspresi, dapat digunakan
operator Relasional. Hasil dari operator ini adalah nilai bool yaitu hanya berupa true atau false, atau dapat juga dalam nilai int, 0 untuk
mereprensentasikan "false"
dan 1 untuk merepresentasikan "true". Operator-operator relasional pada C++ :
==
Equal
!= Different
> Greater than
< Less than
>= Greater or equal than
<= Less or equal than Contoh :
(7 == 5) would return false. (3
!= 2) would return true.
(5
< 5) would return false.
Contoh, misalkan a=2,
b=3 dan c=6
:
(a == 5) would return false.
(a*b
>= c) would return true since (2*3 >=
6) is it.
(b+4 > a*c) would return false
since (3+4
> 2*6) is it.
((b=2)
== a) would return true.
Logic operators ( !,
&&, || ).
Operator ! equivalen dengan operasi boolean NOT, hanya
mempunyai 1 operand, berguna untuk membalikkan nilai dari operand yang
bersangkutan. Contoh :
!(5 == 5)
returns false because the expression
at its right (5 == 5) would be true.
!(6 <= 4) returns true because (6
<= 4) would be false.
!true
returns false.
!false
returns true.
operator Logika &&
dan || digunakan untuk
mengevaluasi 2 ekspresi dan menghasilkan 1 nilai akhir. mempunyai arti sama
dengan operator logika Boolean AND
dan OR. Contoh :
First Operand a
|
Second Operand b
|
result a && b
|
result a || b
|
true
|
true
|
true
|
true
|
true
|
false
|
false
|
true
|
false
|
true
|
false
|
true
|
false
|
false
|
false
|
false
|
Contoh :
( (5 == 5) && (3 > 6) )
returns false ( true && false ).
( (5 == 5) || (3 > 6)) returns true ( true || false ).
Conditional operator ( ?
). operator kondisional mengevaluasi ekspresi dan memberikan hasil
tergantung dari hasil evaluasi (true
atau false). Sintaks :
condition ? result1 : result2
Jika kondisi true
maka akan menghasilkan result1,
jika tidak akan menghasilkan result2.
7==5 ? 4 : 3 returns 3
since 7 is not equal to 5.
7==5+2 ? 4 : 3 returns 4
since 7 is equal to 5+2. 5>3 ? a : b returns
a, since 5 is greater than 3.
a>b ? a : b returns the greater one, a
or b.
Bitwise Operators ( &,
|, ^, ~, <<, >> ).
Operator Bitwise memodifikasi variabel menurut bit yang
merepresentasikan nilai yang disimpan, atau
dengan kata lain dalam representasi binary.
op
|
asm
|
Description
|
&
|
AND
|
Logical AND
|
|
|
OR
|
Logical OR
|
^
|
XOR
|
Logical exclusive OR
|
~
|
NOT
|
Complement to one (bit inversion)
|
<<
|
SHL
|
Shift Left
|
>>
|
SHR
|
Shift Right
|
Explicit type casting
operators
Type casting operators
memungkinkan untuk mengkonversikan tipe data yang sudah diberikan ke tipe data
yang lain. Ada beberapa cara yang dapat dilakukan dalam C++, yang paling
popular yaitu tipe baru dituliskan dalam
tanda kurung () contoh :
int i;
float
f = 3.14; i = (int) f;
Contoh diatas, mengkonversikan
nilai 3.14 menjadi nilai integer (3). Type casting
operator yang digunakan (int).
Cara lainnya :
i = int
( f );
sizeof()
Operator ini menerma 1
parameter, dapat berupa type variabel atau variabel itu sendiri dan
mengembalikan ukurannya type atau object tersebut dalam bytes :
a =
sizeof (char);
Contoh diatas akan memberikan
nilai 1ke a karena char
adalah tipe data dengan panjang 1 byte. Nilai yang diberikan oleh sizeof bersifat konstsn
constant.
Prioritas pada operator Contoh :
a = 5 +
7 % 2
Jawaban dari contoh diatas adalah 6. Dibawah ini
adalah prioritas operator dari tinggi ke rendah :
Priority
|
Operator
|
Description
|
Associativity
|
1
|
::
|
scope
|
Left
|
2
|
() [
] -> . sizeof
|
Left
|
|
3
|
++ --
|
increment/decrement
|
Right
|
~
|
Complement to one (bitwise)
|
||
!
|
unary NOT
|
||
& *
|
Reference
and Dereference (pointers)
|
||
(type)
|
Type casting
|
||
+ -
|
Unary less sign
|
||
4
|
* / %
|
arithmetical operations
|
Left
|
5
|
+ -
|
arithmetical operations
|
Left
|
6
|
<< >>
|
bit shifting (bitwise)
|
Left
|
7
|
< <= > >=
|
Relational operators
|
Left
|
8
|
== !=
|
Relational operators
|
Left
|
9
|
& ^ |
|
Bitwise operators
|
Left
|
10
|
&& ||
|
Logic operators
|
Left
|
11
|
?:
|
Conditional
|
Right
|
12
|
= += -= *= /= %=
>>= <<= &= ^= | =
|
Assignation
|
Right
|
13
|
,
|
Comma, Separator
|
Left
|
Baca Juga : Pengenalan Bahasa C++ -01-
1 Comments
This comment has been removed by a blog administrator.
ReplyDelete