Operator dalam C++
Dalam C++ banyak terdapat operator diantaranya sebagai berikut:
- Arithmetic
- Relational
- Logical
- Bitwise
- Assignment
- Lainnya
Misal :a + b = c
a dan b adalah operand, simbol + merupakan operator
Operator Arithmetic
| Simbol | Nama operator | Operasi |
|---|---|---|
| + | penjumlahan | operan pertama ditambah operan kedua (A + B) |
| - | pengurangan | operan pertama dikurangi operan kedua (A - B) |
| * | perkalian | operan pertama dikalikan operan kedua (A * B) |
| / | pembagian | membagi antara operan pembilang dan operan penyebut (B / A) |
| % | Modulus | penghitungan sisa setelah pembagian bilangan bulat (B % A) |
| ++ | Kenaikan | meningkatkan nilai bilangan bulat sebesar satu (A++) |
| -- | Penurunan | meningkatkan nilai bilangan bulat sebesar satu (A--) |
Operator Relational
| Simbol | Operasi | Contoh (A=10, B=20) |
|---|---|---|
| == | Memastikan operan A = operan B. | (A == B). |
| != | Memastikan operan A tidak = operan B. | (A != B). |
| > | Memastikan operan A lebih besar dari operan B. | (A > B). |
| < | Memastikan operan A lebih kecil dari operan B. | (A < B). |
| >= | Memastikan operan A lebih besar atau = operan B. | (A >= B). |
| <= | Memastikan operan A lebih kecil atau = operan B. | (A <= B). |
Operator Logical
| Simbol | Nama | Operasi | Contoh (A=1, B=0) |
|---|---|---|---|
| && | Operator AND. | Memastikan operan A dan B bukan nol, maka kondisi menjadi benar. |
(A && B) // salah. |
| || | Operator OR. | Memastikan salah satu dari operan A dan B bukan nol, maka kondisinya menjadi benar. |
(A || B) // benar. |
| ! | Operator NOT. | Membalikkan keadaan logis operan. Jika nilai operan bisa dibalik, maka operator NOT akan membuat pernyataan false. |
!(A && B) // benar. |
Operator Bitwise
Operator bitwise beroperasi pada bit dan melakukan operasi bit demi bit.
Tabel kebenaran untuk &, |, dan ^ adalah sebagai berikut
| p | q | p & q | p | q | p ^ q |
|---|---|---|---|---|
| 0 | 0 | 0 | 0 | 0 |
| 0 | 1 | 0 | 1 | 1 |
| 1 | 1 | 1 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 |
Operator Bitwise yang didukung oleh bahasa C++ tercantum dalam tabel berikut.
| Simbol | Nama | Operasi | Contoh (A=60, B=13) |
|---|---|---|---|
| & | Operator Biner AND |
menyalin bit ke hasil jika ada di kedua operan. | (A & B) = 12 (dimana 12 adl 0000 1100) |
| | | Operator Biner OR |
menyalin sedikit jika ada di salah satu operan. | (A | B) = 61 (dimana 61 adl 0011 1101) |
| ^ | Operator Biner XOR |
menyalin bit jika diatur dalam satu operan tetapi tidak keduanya. | (A ^ B) = 49 (dimana 49 adl 0011 0001) |
| ~ | Operator Biner Pelengkap Satuan |
adalah unary dan memiliki efek 'membalik' bit. | (~A ) = -61 dimana -61 adl 1100 0011 (dalam bentuk komplemen 2 karena bilangan biner signed). |
| << | Operator Biner Shift Kiri. |
Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan. | A << 2 = 240 (dimana 240 adl 1111 0000) |
| >> | Operator Biner Shift Kanan. |
Nilai operan kiri dipindahkan ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. | A >> 2 = 15 (dimana 15 0000 1111) |
Operator Assignment
| Simbol | Nama | Operasi | Contoh |
|---|---|---|---|
| = | Operator tugas sederhana |
Menetapkan nilai dari operan sisi kanan ke operan sisi kiri. | C = A + B akan memberikan nilai dari A + B ke C |
| += | Operator tugas Penambahan AND |
Ini menambahkan operan kanan ke operan kiri dan menetapkan hasilnya ke operan kiri. | C += A adalah setara dgn C = C + A |
| -= | Operator tugas Pengurangan AND |
Ini mengurangi operan kanan dari operan kiri dan menetapkan hasilnya ke operan kiri. | C -= A adalah setara dgn C = C - A |
| *= | Operator tugas perkalian AND |
Ini mengalikan operan kanan dengan operan kiri dan menetapkan hasilnya ke operan kiri. | C *= A adalah setara dgn C = C * A |
| /= | Operator tugas pembagian AND |
Ini membagi operan kiri dengan operan kanan dan menetapkan hasilnya ke operan kiri. | C /= A adalah setara dgn C = C / A |
| %= | Operator tugas Modulus AND |
Dibutuhkan modulus menggunakan dua operan dan menetapkan hasilnya ke operan kiri. | C %= A adalah setara dgn C = C % A |
| <<= | Operator tugas Shift kiri AND. |
C <<= 2 adalah sama dgn C = C << 2 |
|
| >>= | Operator tugas Shift kanan AND. |
C >>= 2 adalah sama dgn C = C >> 2 |
|
| &= | Operator tugas Bitwise AND. |
C &= 2 adalah sama dgn C = C & 2 |
|
| ^= | Operator tugas Bitwise eksklusif OR. |
C ^= 2 adalah sama dgn C = C ^ 2 |
|
| |= | Operator tugas Bitwise inklusif OR. |
C |= 2 adalah sama dgn C = C | 2 |
Operator lainnya
| Sr.No | Operator | Keterangan |
|---|---|---|
| 1 | sizeof |
Mengembalikan ukuran variable. |
| 2 | Kondisi ? X : Y |
Jika kondisi benar maka nilai yang kembali adl X |
| 3 | , |
Nilai seluruh ekspresi koma adalah nilai ekspresi terakhir dari daftar yang dipisahkan koma. |
| 4 | . (titik) dan -> (panah) |
Digunakan untuk merujuk satuan member dari class, struktur, dan member gabungan. |
| 5 | Cast |
Mengkonversi satu tipe data ke tipe data lainnya. |
| 6 | & |
Mengembalikan alamat variabel. |
| 7 | * |
Adalah pointer ke sebuah variabel. |