Operator-operator
yang disediakan C++ berupa keyword
atau karakter khusus. Operator-operator 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;
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);
a -= 5; equivalen dengan a = a - 5;
a /= b; equivalen dengan a = a / b;
price *= units + 1; equivalen dengan price = price * (units + 1);
Contoh :
a++;
a+=1;
a=a+1;
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 1Example 2B=3;
A=++B;
// A is 4, B is 4B=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.(5 > 4)would return true.(3 != 2)would return true.(6 >= 6)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.!truereturns false.!falsereturns true.
operator
Logika &&
dan ||
digunakan untuk mengevaluasi 2 ekspresi dan menghasilkan 1 nilai
akhir. mempunyai arti yang sama dengan operator logika Boolean AND
dan OR.
Contoh :
-
First
Operand
aSecond
Operand
bresult
a && bresult
a || btruetruetruetruetruefalsefalsetruefalsetruefalsetruefalsefalsefalsefalse
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 : 3returns 3 since 7 is not equal to 5.7==5+2 ? 4 : 3returns 4 since 7 is equal to 5+2.5>3 ? a : breturns a, since 5 is greater than 3.a>b ? a : breturns 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.
-
opasmDescription&ANDLogical AND|ORLogical OR^XORLogical exclusive OR~NOTComplement to one (bit inversion)<<SHLShift Left>>SHRShift 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;
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 );
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 :
-
PriorityOperatorDescriptionAssociativity1::scopeLeft2() [ ] -> . sizeofLeft3++ --increment/decrementRight~Complement to one (bitwise)!unary NOT& *Reference and Dereference (pointers)(type)Type casting+ -Unary less sign4* / %arithmetical operationsLeft5+ -arithmetical operationsLeft6<< >>bit shifting (bitwise)Left7< <= > >=Relational operatorsLeft8== !=Relational operatorsLeft9& ^ |Bitwise operatorsLeft10&& ||Logic operatorsLeft11?:ConditionalRight12= += -= *= /= %=
>>= <<= &= ^= |=AssignationRight13,Comma, SeparatorLeft
This post have 0 komentar
Atau juga bisa komentar disini !!
EmoticonEmoticon