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