Contohnya operasi dalam matematika : 7+5=12. Angka 7 dan 5 adalah operand, sedangkan tanda tambah (karakter +) adalah operator, 12 adalah hasil dari operasi.
- Operator Assignment
- Operator Unary
- Operator Binary
- Operator Ternary.
Contoh program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int A,B; //deklarasi variable A dan B, variable A dan B belum diberi nilai
A=10; //A diberi nilai (diinisialisasi) dengan nilai 10
B=5; //B diberi nilai (diinisialisasi) dengan nilai 5
A=B; //A diberi nilai (diinisialisasi) dengan nilai yang terkandung dalam variabel B
B=7; //B diberi nilai (diinisialisasi) dengan nilai 7
cout<<"nilai A adalah : "<< A << endl;
cout<<"nilai B adalah : "<< B << endl;
return 0;
system("pause");
}

Perhatikan bagaimana sebuah variabel A tidak terpengaruh oleh modifikasi akhir dari B, meskipun kita menyatakan A = B sebelumnya.Catatan: Operasi ini berlangsung dari kanan ke kiri, jadi cara membacanya dari belakang dulu, seperti contoh A=10; cara membacanya “10 dimasukan ke dalam varible A.
B. Operator Unary

1. Increment
a. Pre-Increment
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int data;
int x = 7;
data = ++x; //pre-increment
return 0;
system("pause");
}
Contoh 2 :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int A, B;
A = 6; B = ++A;
cout<<"Nilai A adalah : "<<A<<endl;
cout<<"Nilai B adalah : "<<B<<endl;
return 0;
system("pause");
}
Hasilnya variabel A akan bernilai 6, dan B bernilai 7. Karena nilai dari B adalah nilai A yang telah ditingkatkan.
b. Post-Increment
#include <iostream>
#include<cstdlib>
using namespace std;
int main()
{
int data;
int x = 7;
data = x++; //post-increment
return 0;
system("pause");
}
B. Decrement
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int data;
int x = 7;
data1 = --x; //pre-decrement
data2 = x--; //post-decrement
return 0;
system("pause");
}
C. Operator Binary
1. Operator Aritmetika

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int data1,data2,data3,data4;
int a = 100;
int b = 25;
int c = 225;
int d;
d = a + b;
data1 = a + c – b;
data2 = b*5;
data3 = data1/data2;
data4 = (b%2)*(c%2);
cout<<"Data 1 adalah : "<<data1<<endl;
cout<<"Data 2 adalah : "<<data2<<endl;
cout<<"Data 3 adalah : "<<data3<<endl;
cout<<"Data 4 adalah : "<<data4<<endl;
return 0;
system("pause");
}
2. Operator Logika


Tabel kebenaran OR

Tabel kebenaran NOT

|| (OR) Jika salah satu operand bernilai benar (TRUE) maka kondisi bernilai benar.
(AND) Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
! (NOT) Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi salah (FALSE), begitu pula sebaliknya.
( (5 == 5) && (3 > 6) ) // Hasil = false, karena ( true && false )
( (5 == 5) || (3 > 6) ) // Hasil = true, karena ( true || false )
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int data1, data2;
int a = 0;
int b = 1;
int c;
data1 = a && b;
data2 = a || b;
c = !a;
cout<<"Data 1 adalah : "<<data1<<endl;
cout<<"Data 2 adalah : "<<data2<<endl;
cout<<"c adalah : "<<c<<endl;
return 0;
system("pause");
}
3. Operator Relasional

Beberapa contoh pemakaian operator relasi
KondisiHasil
1 > 2 FALSE dibaca : apakah 1 lebih dari 2 ?
1 < 2 TRUE apakah 1 kurang dari 2 ?
A == 1
TRUE, jika A bernilai 1; FALSE, jika A tidak bernilai 1
‘A’ < ‘B‘
TRUE, karena kode ASCII untuk karakter ‘A’ kurang dari kode
ASCII untuk karakter ‘B’
jawab == ‘Y’
TRUE, jika jawab berisi ‘Y’; FALSE, jika jawab tidak berisi ‘Y’
Contoh program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
bool nilai;
nilai = 3 > 2 ; // hasil ungkapan : benar
cout << "Nilai = " << nilai;
nilai = 2 > 3 ; // hasil ungkapan : salah
cout << "Nilai = " << nilai;
return 0;
system("pause");
}
Hasil:
Nilai = 1
Nilai = 0
4. Operator Bitwise

a. Operator bitwise AND, OR, dan Komplemen (&/I/~)

#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int hasil, x, y;
cout<<"Masukan Nilai X = ";
cin>>x;
cout<<"Masukan Nilai Y = ";
cin>>y;
hasil = x & y;
cout<<"Hasil dari "<<x<<" & "<<y<<" = "<<hasil<<endl;
return 0;
system("pause");
}
Contoh sintak program operator Bitwise OR ( | ) :
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
int hasil, x, y;
cout<<"Masukan Nilai X = "; cin>>x;
cout<<"Masukan Nilai Y = "; cin>>y;
hasil = x | y;
cout<<"Hasil dari "<<x<<" | "<<y<<" = "<<hasil<<endl;
return 0;
system("pause");
}
Contoh sintak program operator Bitwise NOT (~) :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int a, x;
cout<<"Masukan Nilai X = ";
cin>>x;
a = ~x;
cout<<"Hasil dari ~ "<<x<<" = "<<a<<endl;
return 0;
system("pause");
}
b. Operator bitwise Exclusive OR (^)
Operator XOR adalah operator binary bitwise yang akan memberikan nilai benar apabila hanya terdapat satu buah operand yang bernilai benar, selain itu akan menghasilkan nilai salah. Dengan demikian, apabila kedua operand-nya bernilai benar, operasi ini tetap akan menghasilkan nilai salah.
Contoh :
Apabila kita melakukan operasi 45 ^ 23, maka hasilnya adalah 58. Dengan proses operasi sebagai berikut.

Contoh sintak program operator Bitwise X-OR (^ ) :
#include <iostream>
#include <cstdlib>
using namespace std;
int main( )
{
int a, b, x, y;
cout<<"Masukan Nilai X = ";
cin>>x;
cout<<"Masukan Nilai Y = ";
cin>>y;
a = x ^ y;
b = x ^ y ^ x;
cout<<"Hasil dari "<<x<<" ^ "<<y<<" = "<<a<<endl;
cout<<"Hasil dari "<<x<<" ^ "<<y<<" ^ "<<x<<" = "<<b<<endl;
return 0;
system("pause");
}
c. Operator bitwise Geser Kanan / Shift Right ( >> )
Operator Bitwise Shift Right (>>) adalah operator yang akan mengeser nilai dalam bentuk bilangan biner ke kanan. Operator ini akan mengubah bilangan bulat menjadi bilangan biner setelah itu menggeser angka dari dari bilangan biner tersebut ke kanan dan pada akhirnya akan mengubahnya kembali ke bilangan bulat.
0000 0000 1100 1001 = 201
//digeser 1 bit ke kanan, Dibagian kanan disisipkan 0, sebanyak bit yang digeser dan pada bagian paling kiri akan hilang
//Hasilnya menjadi
0000 0000 0110 0100 = 100
Bentuk Penulisan :
Nilai >> jumlah;
Contoh Program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x;
cout<<"Masukan Nilai X = ";
cin>>x;
cout<<"Nilai Awal : "<<x<<endl;
x = x >> 1;
cout<<"Hasil dari Geser 1 Bit Ke Kanan = "<<x<<endl;
return 0;
system("pause");
}
d. Operator bitwise Geser Kiri / Shift Left ( << )
Operator Bitwise Shift Left (<<) adalah operator yang akan menggeser nilai dalam bentuk bilangan biner ke kiri. Operator ini akan mengubah bilangan bulat menjadi bilangan biner lalu menggeser angka dari bilangan biner tersebut ke kiri dan setelah itu akan mengubahnya kembali ke bilangan bulat.
0000 0000 1100 1001 = 201
//menggeser 1 bit ke kiri, Dibagian kanan disisipkan 0, sebanyak bit yang digeser
0000 0001 1001 0010 = 402
Bentuk Penulisan :
Nilai << jumlah;
Contoh Program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int x;
cout<<"Masukan Nilai X = ";
cin>>x;
cout<<"Nilai Awal : "<<x<<endl;
x = x << 1;
cout<<"Hasil dari Geser 1 Bit Ke Kiri = "<<x<<endl;
return 0;
system("pause");
}
D. Operator Ternary
Operator Ternary atau bisa disebut sebagai “Conditional Ternary Operator” merupakan salah satu dari tiga sifat Operator, operator yang akan melibatkan 3 buah operand dalam satu operasi. Operator ternary berfungsi untuk mengevaluasi ekspresi dan menentukan hasil berdasarkan kondisi, jika kondisi tersebut 1 ( true ) maka akan memilih pilihan ke satu, jika 0 ( false ) maka akan memilih pilihan ke dua.
Bentuk Penulisan
Ekspresi?nilaiSatu:nilaiDua;
Di atas melibatkan 3 operand yaitu sebagai ekspresi, nilaiSatu dan nilaiDua. Diletakan tanda ‘?’ di antara ekspresi dan pilihan nilai. Dan tanda ‘:’ di antara dua pilihan true atau false.
- Eksepresi : merupakan tempat dimana kita dapat menuliskan sebuah ekspresi sebagai kondisi yang akan dievaluasi.operasi ini akan memecahkan masalah berdasarkan kondisi ekspresi dengan memilih dua pilihan “nilaiSatu” dan “nilaiDua” sebagai hasil operasi.
- nilaiSatu : merupakan tempat untuk menempatkan nilai yang akan dipilih sebagai hasil akhir dari operasi ternary, tempat ini bersifat 1 (true). Dengan arti jika hasil operasi mempunyai kondisi 1 (true) maka otomatis operasi akan menghasilkan nilai yang ada pada pilihan ke satu “nilaiSatu”.
- nilaiDua : merupakan tempat untuk menempatkan nilai yang akan dipilih sebagai hasil akhir dari operasi ternary, tempat ini bersifat 0 (false). Dengan arti jika hasil operasi mempunyai kondisi 0 (false) maka otomatis operasi akan menghasilkan nilai yang ada pada pilihan ke dua “nilaiDua”.
Ekspresi ? nilaiJikaTrue : nilaiJikaFalse;
Contoh program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int umur = 0;
cout<<"Masukan umur anda : ";
cin>>umur;
cout<<"Umur anda "<<(umur>17?">":"<")<<" 17 "<<endl;
return 0;
system("pause");
}
Contoh Program di atas akan menghasilkan program yang meminta anda untuk memasukan umur, dan akan dioperasi untuk menampilkan apa yang telah anda input.
Contoh Khasus :
Ada peraturan di sekolah bahwa, jika siswa masuk lebih dari jam 7 maka akan mendapatkan nilai C dan jika siswa berangkat awal, masuk kurang dari jam 7 maka akan mendapatkan nilai A.
Penyelesaian :
kedatangan<JAM_MASUK?'A':'C';
Program :
#include <iostream>
using namespace std;
int main ()
{
const int JAM_MASUK=7;
int kedatangan;
char nilai;
cout<<"Masukan Jam Kehadiran Siswa = ";
cin>>kedatangan;
nilai = kedatangan<JAM_MASUK?'A':'C';
cout<<"Nilai Siswa = "<<nilai;
return 0;
}
“Compound Assignment” jika diterjemahkan ke dalam bahasa indonsia adalah “Senyawa tugas”, tetapi di Indonesia kebanyakan orang menyebutnya dengan nama “Pemberi Nilai Aritmetika”. Operator ini berfungsi untuk memodifikasi nilai dari variabel yang dituju dengan sumber nilai secara langsung, memodifikasi dengan nilai dari variabel lain atau nilai dari variabel itu sendiri. Compound Assigment memiliki macam-macam operator, yaitu :

Tanda-tanda dari Operator Compound Assignment di atas semuanya hampir mirip seperti tanda pada beberapa operator lainya, hanya berbeda pada penambahan tanda “=” setelah tanda inti. Untuk masing-masing fungsinya sebenarnya masih sama seperti apa yang sudah dijelaskan pada artikel sebelumnya di sini hanya berbeda pada penulisanya yang lebih singkat, hal ini dapat menyingkat waktu dan dapat mempermudah programmer untuk melakukan operasi pada suatu data. Berikut arti dari penulisan beberapa operator di atas.

Contoh Penulisan
X += 2 // x = x + 2 //penulisan di bawah juga berlaku X *= Y * 3 // x = x * (y + 3)
Contoh Program :
#include <iostream>
using namespace std;
int main ()
{
int x = 10, y = 2;
cout<<(x += y)<<endl;
x=10;
cout<<(x -= y)<<endl;
x=10;
cout<<(x *= y)<<endl;
x=10;
cout<<(x /= y)<<endl;
x=10;
cout<<(x %= y)<<endl;
x=10;
cout<<(x >>= y)<<endl;
x=10;
cout<<(x <<= y)<<endl;
x=10;
cout<<(x &= y)<<endl;
x=10;
cout<<(x ^= y)<<endl;
x=10;
cout<<(x |= y)<<endl;
return 0;
}
Contoh program :
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int A, B=3;
A = B;
A+=2; // sama dengan a=a+2
cout << A;
return 0;
system("pause");
}
hasilnya :

Demikianlah operator-operator pada bahasa pemrograman c++ yang perlu kita ketahui.
Daftar Pustaka :
http://www.robotics-university.com
https://www.belajarcpp.com
Pemograman C++ Edisi Revisi “Mudah dan Cepat Menjadi Master C++”, Budi Raharjo, Informatika, 2012
MANTAP PA AGUS
mantul pakkk, mantap betulll
terimakasih pak, very useful 🙂
Terimakasih atas materinya pak… sangat membantu
Terimakasih pak…
Terimakasih pak menambah ilmu….
Mantap pak…
Mantap Pak, Terimakasih Ilmunya
Mantappu
MANTAPP BAPAA KERENN SEKALII ILMUNYAA BERMANFAAT