Operator C++
Posted by Fraternite on Juli 08, 2020 with No comments
Pada bahasa pemrograman C++ terdapat 3 jenis operator.
- Unary Operator, operasi yang hanya melibatkan satu nilai (operand)
- Binary Operator, operasi yang melibatkan dua nilai (operand)
- Ternary Operator, operasi yang melibatkan tiga nilai (operand)
Unary Operator
Simbol | Nama Operator |
---|---|
++ | Increment |
-- | Decrement |
1. Increment
Increment Operator menambahkan nilai variabel sebesar1
.Contoh
int x = 6;
x++;
cout << x;
Atau
int x = 6;
++x;
cout << x;
Output
7
2. Decrement
Decrement Operator mengurangkan nilai variabel sebesar1
.Contoh
int x = 6;
x--;
cout << x;
Atau
int x = 6;
--x;
cout << x;
Output
5
Binary Operator
1. Assignment Operator
Operator ini berfungsi untuk memberikan nilai pada suatu variabel. Operator ini bersimbol=
Contoh
int x;
x = 5;
cout << x;
Output
5
2. Arithmetic Operator
Simbol | Nama Operator |
---|---|
+ | Penambahan |
- | Pengurangan |
* | Perkalian |
/ | Pembagian |
% | Modulus |
Contoh
#include <iostream>
using namespace std;
int main()
{
int x = 5;
cout << "x + 2 = ";
cout << x + 2 << endl;
cout << "x - 2 = ";
cout << x - 2 << endl;
cout << "x * 2 = ";
cout << x * 2 << endl;
cout << "x / 2 = ";
cout << x / 2 << endl;
cout << "x % 2 = ";
cout << x % 2; // modulus adalah sisa bagi
return 0;
}
Output
x + 2 = 7
x - 2 = 3
x * 2 = 10
x / 2 = 2
x % 2 = 1
5 / 2
menghasilkan nilai 2
.Sedangkan seharusnya
5
dibagi 2
adalah 2.5
.Hal ini terjadi karena x adalah tipe data integer.
Hal tersebut dapat dipelajari pada Variabel dan Tipe Data C++.
3. Compound Assignment
Operator ini merupakan singkatan dari Assignment Operator dan Operator lainnya.Simbol | Contoh | Sama dengan |
---|---|---|
+= | x += y | x = x + y |
-= | x -= y | x = x - y |
*= | x *= y | x = x * y |
/= | x /= y | x = x / y |
%= | x %= y | x = x % y |
>>= | x >>= y | x = x >> y |
<<= | x <<= y | x = x << y |
&= | x &= y | x = x & y |
|= | x |= y | x = x | y |
^= | x ^= y | x = x ^ y |
Contoh
int x = 4;
int y = 3;
x += y;
cout << x;
Sama dengan
int x = 4;
int y = 3;
x = x + y;
cout << x;
Output
7
4. Comparison Operator
Operasi ini digunakan untuk membandingkan antara 2 variabel.Bernilai
1
jika benar (true
), 0
jika salah (false
).Biasanya digunakan dalam sebuah kondisi.
Simbol | Keterangan |
---|---|
== | Sama dengan |
!= | Tidak sama dengan |
< | Lebih kecil dari |
> | Lebih besar dari |
<= | Lebih kecil atau sama dengan |
>= | Lebih besar atau sama dengan |
Contoh
int x = 3;
int y = 4;
cout << (x > y);
Output
0
5. Logical Operator
Operator ini digunakan untuk melakukan operasi logika.Simbol | Nama Operator | && | AND |
---|---|
|| | OR |
! | NOT |
Logika AND
Logika AND digunakan untuk menggabungkan kedua statement, dimana akan bernilaitrue
jika kedua statement bernilai true
.
X | Y | X AND Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 1 |
Contoh
int x = 4;
int y = 3;
cout << (x < 4 && y > 2);
Output
0
(x < 4) AND (y > 2)
.Karena
(x < 4)
bernilai 0
.Dan
(y > 2)
bernilai 1
.Maka hasil dari operasi logika tersebut bernilai
0
.
Logika OR
Logika OR digunakan untuk menghubungkan dua statement, dimana akan bernilaitrue
jika salah satu statement bernilai true
.
X | Y | X OR Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 1 |
Contoh
int x = 4
int y = 3;
cout << (x < 4 || y > 2);
Output
1
Logika NOT
Logika NOT digunakan untuk menghasilkan nilai yang berkebalikan. Jika suatu statement bernilaitrue
maka akan menghasilkan nilai false
.
X | NOT X |
---|---|
0 | 1 |
1 | 0 |
Contoh
int x = 4;
int y = 3;
cout << !(x < 4 && y > 2);
Output
1
6. Bitwise Operator
Operator ini merupakan sebuah operasi khusus untuk menangani operasi bilangan biner atau bit.Simbol | Nama Operator |
---|---|
& | Bitwise AND |
| | Bitwise OR |
^ | Bitwise XOR |
~ | Bitwise NOT |
<< | Left Shift |
>> | Right Shift |
Bitwise AND
Operator ini digunakan untuk membandingkan bit dari dua operand dengan logika ANDContoh
int x = 5;
int y = 3;
cout << (x & y);
Output
1
5 = 00000101
3 = 00000011
________ & (AND)
1 = 00000001
Bitwise OR
Operator ini digunakan untuk membandingkan bit dari dua operand dengan logika OR (Inclusive OR)Contoh
int x = 5;
int y = 3;
cout << (x | y);
Output
7
5 = 00000101
3 = 00000011
________ | (OR)
7 = 00000111
Bitwise XOR
Operator ini digunakan untuk membandingkan bit dari dua operand dengan logika XOR (Exclusive OR)X | Y | X XOR Y |
---|---|---|
0 | 0 | 0 |
0 | 1 | 1 |
1 | 0 | 1 |
1 | 1 | 0 |
Contoh
int x = 5;
int y = 3;
cout << (x ^ y);
Output
6
5 = 00000101
3 = 00000011
________ ^ (XOR)
6 = 00000110
Bitwise Complement (NOT)
Operator ini digunakan untuk membalikkan bit sebuah operand dan menyimpannya pada bentuk komplemen 2Contoh
int x = 5;
cout << ~x;
Output
-6
5 = 00000101
________ ~
-6 = 11111010
-(x + 1)
Namun, jika kita menggunakan tipe data
unsigned
, hasil yang didapatkan akan menjadi angka yang besar.
Contoh
unsigned int = 5;
cout << ~x;
Output
4294967290
Left Shift
Operator ini digunakan untuk menggeser bit ke kiri atau sama dengan perkalian 2 sebanyak n kali.Contoh
int x = 5;
cout << "x = " << x << endl;
cout << "x << 1 = " << (x << 1) << endl;
cout << "x << 2 = " << (x << 2);
Output
x = 5
x << 1 = 10
x << 2 = 20
5 = 00000101
________ << 1
10 = 00001010
Right Shift
Operator ini digunakan untuk menggeser bit ke kanan atau sama dengan pembagian 2 sebanyak n kali.Contoh
int x = 5;
cout << "x = " << x << endl;
cout << "x >> 1 = " << (x >> 1) << endl;
cout << "x >> 2 = " << (x >> 2);
Output
x = 5
x >> 1 = 2
x >> 2 = 1
5 = 00000101
________ >> 1
2 = 00000010
Ternary Operator
Sintaks
variabel = kondisi ? ekspresiBenar : ekspresiSalah
Jika menggunakan kondisi if-else
if(kondisi)
{
variabel = ekspresiBenar;
}
else
{
variabel = ekspresiSalah;
}
Contoh
int x = 5;
int y = 7;
int terbesar;
terbesar = (x > y) ? x : y;
cout << "Nilai terbesar di antara 5 dan 7 = " << terbesar;
Output
Nilai terbesar di antara 5 dan 7 = 7
Categories: C++
0 komentar:
Posting Komentar