Pengenalan Bahasa C++ -02-


Belum compatibel dengan SmartPhone Harap buka dengan mode Desktop.
Konstanta : Literals.
Konstanta adalah ekspresi dengan nilai yang tetap. Terbagi dalam Nilai Integer,  Nilai Floating-Point, Karakter and String. 

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 : 
 
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-

Post a Comment

1 Comments

  1. This comment has been removed by a blog administrator.

    ReplyDelete