Hallo guys kali ini saya bakal bahas Jenis- Jenis Operator yang ada di C++ tapi sebelumnya pahami dulu ya apa itu operator
yuk. langsung aja kita simak!!
Apa sih Operator itu ?
Operator adalah sebuah simbol…
Simbol yang digunakan untuk melakukan operasi tertentu.
Berikut pengertian operator dalam bahasa pemrograman:
Operator adalah simbol khusus yang biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi matematika maupun manipulasi logika.
Contohnya:
Kita ingin menjumlahkan nilai dari variabel x
dan y
, maka kita bisa menggunakan operator penjumlahan (+
).
x + y
x + y
Ada enam jenis kelompok operator dalam pemrograman C++ yang harus kamu ketahui:
- Operator Artimatika;
- Operator Penugasan;
- Operator Pembanding;
- Operator Logika;
- Operator Bitwise;
- Operator Koma
- Operator Lain-lain.
1. Operator Aritmatika
Operator aritmatika merupakan operator yang digunakan untuk melakukan operasi aritmatika.
Operator ini terdiri dari:
Nama Operator | Simbol |
---|---|
Penjumlahan | + |
Pengurangan | - |
Perkalian | * |
Pembagian | / |
Sisa Bagi | % |
Bagaimana cara pakainya?
Mari kita coba dalam contoh program:
Buatlah program baru bernama operator_aritmatika.cpp
, kemudian isi dengan kode berikut.
#include <iostream>
using namespace std;
int main(){
int a, b, c;
cout << "Inputkan nilai a: ";
cin >> a;
cout << "Inputkan nilai b: ";
cin >> b;
// menggunakan operator penjumlahan
c = a + b;
cout << "Hasil a + b = " << c << endl;
return 0;
}
Maka hasilnya:
Mari kita coba untuk contoh operator yang lain seperti pengurangan, perkalian, pembagian, dan sisa bagi.
Ubah programnya menjadi seperti ini:
#include <iostream>
using namespace std;
int main(){
int a, b;
cout << "Inputkan nilai a: ";
cin >> a;
cout << "Inputkan nilai b: ";
cin >> b;
cout << "Hasil a + b: " << a + b << endl;
cout << "Hasil a - b: " << a - b << endl;
cout << "Hasil a * b: " << a * b << endl;
cout << "Hasil a / b: " << a / b << endl;
cout << "Hasil a % b: " << a % b << endl;
return 0;
}
Maka hasilnya seperti ini :
Pada operasi pembagian, 5/2
hasilnya adalah 2
.
Kenapa bisa begitu?
Bukannya harusnya 2.5
…
Ini karena kita melakukan operasi terhadap tipe data integer.
Bila kita ubah programnya menggunakan tipe data dari int
menjadi
float
:
2. Operator Penugasan
Operator penugasan (Assignment Operator) merupakan operator untuk meberikan tugas pada variabel. Biasanya untuk mengisi nilai.
Operator Penugasan terdiri dari:
Nama Operator Sombol Pengisian Nilai =
Pengisian dan Penambahan +=
Pengisian dan Pengurangan -=
Pengisian dan Perkalian *=
Pengisian dan Pembagian /=
Pengisian dan Sisa bagi %=
Pengisian dan shift left <<=
Pengisian dan shift right >>=
Pengisian dan bitwise AND &=
Pengisian dan bitwise OR |=
Pengisian dan bitwise XOR ^=
Kurangi satu a-- atau --a
Tambahkan satu a++ atau ++a
Buatlah program baru bernama belajar_operator_penugasan.cpp
, kemudian isi dengan kode berikut:Mari kita coba dalam program…
#include <iostream>
using namespace std;
int main(){
int a, b;
// pengisian nilai dengan operator =
a = 12;
b = 10;
// pengisian sekaligus penambahan
b += a; // ini sama seperti b = b + a
cout << "Hasil b += a adalah " << b << endl;
// pengisian sekaligus pengurangan
b -= a; // ini sama seperti b = b - a
cout << "Hasil b -= a adalah " << b << endl;
// pengisian sekaligus perkalian
b *= a; // ini sama seperti b = b * a
cout << "Hasil b *= a adalah " << b << endl;
// pengisian sekaligus pembagian
b /= a; // ini sama seperti b = b / a
cout << "Hasil b /= a adalah " << b << endl;
// pengisian sekaligus penambahan
b %= a; // ini sama seperti b = b % a
cout << "Hasil b %= a adalah " << b << endl;
return 0;
}
Operator penugasan (Assignment Operator) merupakan operator untuk meberikan tugas pada variabel. Biasanya untuk mengisi nilai.
Operator Penugasan terdiri dari:
Nama Operator | Sombol |
---|---|
Pengisian Nilai | = |
Pengisian dan Penambahan | += |
Pengisian dan Pengurangan | -= |
Pengisian dan Perkalian | *= |
Pengisian dan Pembagian | /= |
Pengisian dan Sisa bagi | %= |
Pengisian dan shift left | <<= |
Pengisian dan shift right | >>= |
Pengisian dan bitwise AND | &= |
Pengisian dan bitwise OR | |= |
Pengisian dan bitwise XOR | ^= |
Kurangi satu | a-- atau --a |
Tambahkan satu | a++ atau ++a |
Buatlah program baru bernama belajar_operator_penugasan.cpp
, kemudian isi dengan kode berikut:Mari kita coba dalam program…
#include <iostream>
using namespace std;
int main(){
int a, b;
// pengisian nilai dengan operator =
a = 12;
b = 10;
// pengisian sekaligus penambahan
b += a; // ini sama seperti b = b + a
cout << "Hasil b += a adalah " << b << endl;
// pengisian sekaligus pengurangan
b -= a; // ini sama seperti b = b - a
cout << "Hasil b -= a adalah " << b << endl;
// pengisian sekaligus perkalian
b *= a; // ini sama seperti b = b * a
cout << "Hasil b *= a adalah " << b << endl;
// pengisian sekaligus pembagian
b /= a; // ini sama seperti b = b / a
cout << "Hasil b /= a adalah " << b << endl;
// pengisian sekaligus penambahan
b %= a; // ini sama seperti b = b % a
cout << "Hasil b %= a adalah " << b << endl;
return 0;
}
Maka hasilnya seperti ini :
Pada program tersebut, variabel b
kita isi ulang dengan operator penugasan.
Sebagai contoh, operasi:
b += a
sama halnya seperti :
kita buat penjumlahan b = b + a
Makudnya kita akan mengisi nilai untuk b
dengan nilai b
ditambah nilai a
.
Begitu juga dengan opeartor yang lain.
3. Operator Pembanding
Operator pembanding adalah operator untuk memabndingkan dua buah nilai. Operator ini juga dikenal dengan operator relasi.
Operator pembanding terdiri dari:
Nama Operator | Simbol |
---|---|
Lebih Besar | > |
Lebih Kecil | < |
Sama Dengan | == |
Tidak Sama dengan | != |
Lebih Besar Sama dengan | >= |
Lebih Kecil Sama dengan | <= |
Nilai yang dihasilkan dari operasi pembanding akan berupa true
dan false
.
Pada bahasa C++, nilai true
akan samadengan 1
dan false
akan samadengan 0
.
Mari kita coba dalam program…
Buatlah program baru dengan nama belajar_operator_pembanding.cpp
, kemudian isi dengan kode berikut:
#include <iostream>
using namespace std;
int main(){
int a = 7, b = 5;
bool hasil;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
// menggunakan operator pembanding
hasil = a > b;
cout << "a > b = " << hasil << endl;
hasil = a < b;
cout << "a < b = " << hasil << endl;
hasil = a >= b;
cout << "a >= b = " << hasil << endl;
hasil = a <= b;
cout << "a <= b = " << hasil << endl;
hasil = a == b;
cout << "a == b = " << hasil << endl;
hasil = a != b;
cout << "a != b = " << hasil << endl;
return 0;
}
Maka hasilnya seperti ini:
4. Operator Logika
Kalau kamu pernah belajar logika matematika, pasti tidak akan asing dengan operator ini.
Nama Operator | Simbol |
---|---|
Logika AND | && |
Logika OR | || |
Negasi/kebalikan | ! |
Operator Logika digunakan untuk membuat operasi logika.
Misalnya seperti ini:
- Pernyataan 1: Ramadhan seorang programmer
- Pernyattan 2: Ramadhan menggunakan Linux
Jika ditanya, apakah Ramadhan programmer yang menggunakan Linux?
Tentu kita akan cek dulu kebenarannya
- Pernyataan 1: Ramadhan seorang programmer =
true
. - Pernyataan 2: Ramadhan menggunakan Linux =
true
.
Apakah Ramadhan programmer dan menggunakan Linux?
Pertnyataan 1 && Pernyataan 2 = true
Bingung ya ?
Coba cek lagi tabel kebenaran untuk logika AND.
Pernyatan 1 | Pernytaan 2 | Hasil Logika AND |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Lalu bagaimana mengggunakannya di program?
Mari kita lihat contohnya…
Buatlah program baru bernama belajar_operator_logika.cpp
, kemudia ini dengan kode berikut.
#include <iostream>
using namespace std;
int main(){
int a = 1; // true
int b = 0; // false
bool hasil;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
// logika AND
hasil = a && b;
cout << "a && b = " << hasil << endl;
// logika OR
hasil = a || b;
cout << "a || b = " << hasil << endl;
// logika NOT
cout << "!a = " << !a << endl;
return 0;
}
Maka hasilnya seperti ini :
5. Operator Bitwise
Operator yang digunakan untuk melakukan operasi-operasi yang berhubungan dengan manipulasi bit. Sejak bahasa C diciptakan, bahasa C banyak digunakan untuk lebih memudahkan pemrograman yang berhubungan dengan alat. Hal ini disebabkan karena bahasa tersebut mendukung operasi-operasi bitwise yang biasanya dilakukan dengan menggunakan bahasa assembly. Walaupun demikian, pada kenyataanya, untuk menyelesaikan kasus-kasus tertentu bahasa C/C++ masih harus menggunakan bahasa assembly yang disisipkan di dalamnya. Hal ini disebut dengan istilah inline assembly, yang akan dibahas pada lampiran di dalam buku ini.
Operator bitwise hanya dapat digunakan pada operand bertipe char dan int saja. Adapun yang termasuk dalam operator bitwise dalam C++ adalah seperti yang tampak pada tabel di bawah ini.
Untuk operator &, | dan ~ di atas sama dengan pada operator logika, hanya saja perbedaannya kalau di bitwise bekerjanya bit demi bit. Nah sekarang yang perlu dibahas adalah penggunaan operator ^ , >> dan <<.
a. Operator ^
Operator ini digunakan untuk melakukan operasi ekslusiv OR (XOR). Adapun hasil dari operasi ini akan bernilai 1 (benar) jika satu operandnya (bukan salah satu) bernilai benar, selain itu akan menghasilkan nilai 0 (salah). Dengan demikian, jika akedua operandnya bernilai 1 (benar), maka hasil dari operasi ini adalah 0 (salah). Untuk lebih memahaminya, berikut ini tabel yang menyatakan hasil dari operasi XOR.
0 1 1 1 1 0 0 0
0 1 1 1 1 1 1 1
^------------------
0 0 0 0 0 1 1 1
b. Operator >>
Operator >> (shift right) digunkaan untuk melakukan perpindahan bit ke arah kanan. Adapun bentuk umum dari penggunaan operator ini dapat dituliskan sebagai berikut :
nilai >> banyaknya_pergeseran_bit_ke_arah_kanan
Setiap pergeseran satu bit, operator ini akan membagi suatu nilai dengan 2. Sebagai contoh, jika kita melakukan operasi 16 >> 1, maka hasilnya adalah 8. Sedangkan jika 16 >> 2, maka hasilnya adalah
Berikut contoh programnya.
#include <iostream>
using namespace std;
int main() {
int X, Y;
// Menggeser 1 bit ke kanan
// dari bentuk biner bilangan 16
X = 16 >> 1;
// Menggeser 2 bit ke kanan
// dari bentuk biner bilangan 16
Y = 16 >> 2;
// Menampilkan hasil
cout<<"16 >> 1 = "<<X<<endl;
cout<<"16 >> 2 = "<<Y;
return 0;
}
Hasil yang akan diperoleh dari program di atas adalah sebagai berikut :
16 >> 1 = 8
16 >> 2 = 4
Untuk mengilustrasikan proses tersebut, perhatikan tabel di bawah ini :
16 >> 1 = 8
16 >> 2 = 4
c. Operator <<
Operator << (shift left) merupakan kebalikan dari operator >>, yaitu digunakan untuk melakukan perpindahan bit ke arah kiri. Adapun bentuk umum dari penggunaan operator ini dapat dituliskan seperti berikut :
nilai << banyaknya_pergeseran_bit_ke_arah_kiri
Kebalikan dari operator >> yang membagi nilai dengan 2, pada operator << justru akan mengalikan nilai dengan 2. Misalnya, 1<< 1 akan mengahasilkan nilai 2. Sedangkan 1 << 2 maka nilai yang dihasilkan adalah 4. Berikut ini contoh program yang akan membuktikan hal tersebut :
#include <iostream>
using namespace std;
int main() {
int X, Y;
// Menggeser 1 bit ke kiri
// dari bentuk biner bilangan 1
X = 1 << 1;
// Menggeser 2 bit ke kiri
// dari bentuk biner bilangan 1
Y = 1 << 2;
// Menampilkan hasil
cout<<"1 << 1 = "<<X<<endl;
cout<<"1 << 2 = "<<Y;
return 0;
}
Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut :
1 << 1 = 2
1 << 2 = 4
Contoh hasil yang akan diberikan dari program di atas adalah sebagai berikut :#include <iostream> using namespace std; int main() { int X, Y; // Menggeser 1 bit ke kiri // dari bentuk biner bilangan 1 X = 1 << 1; // Menggeser 2 bit ke kiri // dari bentuk biner bilangan 1 Y = 1 << 2; // Menampilkan hasil cout<<"1 << 1 = "<<X<<endl; cout<<"1 << 2 = "<<Y; return 0; }
1 << 1 = 2
1 << 2 = 4
6. Operator koma
Operator koma (,) memiliki beberapa fungsi, yaitu:
- Untuk memisahkan deretan deklarasi variabel
- Untuk memisahkan argumen fungsi
- menyatukan dua ekspresi menjadi sebuah pernyataan, dan
- memungkinkan pemberian lebih dari satu ekspresi pada inisialisasi nilai awal.
Berikut contoh program dengan operator koma:
#include <iostream>
using namespace std;
int main(){
int a
,b ;
a = (b=3, b + 2 );
cout << a ;
}
Agak rumit namun penjelasanya seperti ini: Pertama variabel b
akan diberi nilai 3, kemudian nilai b
(3) akan dijumlahkan dengan 2 sehingga variabel a
bernilai 5.
Operator koma (,) memiliki beberapa fungsi, yaitu:
- Untuk memisahkan deretan deklarasi variabel
- Untuk memisahkan argumen fungsi
- menyatukan dua ekspresi menjadi sebuah pernyataan, dan
- memungkinkan pemberian lebih dari satu ekspresi pada inisialisasi nilai awal.
Berikut contoh program dengan operator koma:
#include <iostream> using namespace std; int main(){ int a
,b ; a = (b=3, b + 2 ); cout << a ; }
Agak rumit namun penjelasanya seperti ini: Pertama variabel b
akan diberi nilai 3, kemudian nilai b
(3) akan dijumlahkan dengan 2 sehingga variabel a
bernilai 5.
7. Operator Lainnya
Berikut adalah operator lainnya yang didukung oleh bahasa C++:
Operator Keterangan sizeof Untuk mengembalikan nilai dari ukuran variabel. Contoh sizeof(a)
, dimana ‘a’ adalah integer maka akan mengembalikan nilai 4 . (dot) and -> (arrow) Operator member yang digunakan untuk mereferensikan member class, structures, dll. Cast Untuk mengkonversi suatu data ke tipe data lain. Contohnya int(2.2000) akan menjadi 2 * Digunakan sebagai operator pointer
Dan berikut adalah daftar operator berdasarkan kategorinya:
Category Operator Associativity Postfix () [] -> . ++ - - Left to right Unary + - ! ~ ++ - - (type)* & sizeof Right to left Multiplicative * / % Left to right Additive + - Left to right Shift << >> Left to right Relational < <= > >= Left to right Equality == != Left to right Bitwise AND & Left to right Bitwise XOR ^ Left to right Bitwise OR | Left to right Logical AND && Left to right Logical OR || Left to right Conditional ?: Right to left Assignment = += -= *= /= %=>>= <<= &= ^= |= Right to left Comma , Left to right
Berikut adalah operator lainnya yang didukung oleh bahasa C++:
Operator | Keterangan |
---|---|
sizeof | Untuk mengembalikan nilai dari ukuran variabel. Contoh sizeof(a) , dimana ‘a’ adalah integer maka akan mengembalikan nilai 4 |
. (dot) and -> (arrow) | Operator member yang digunakan untuk mereferensikan member class, structures, dll. |
Cast | Untuk mengkonversi suatu data ke tipe data lain. Contohnya int(2.2000) akan menjadi 2 |
* | Digunakan sebagai operator pointer |
Dan berikut adalah daftar operator berdasarkan kategorinya:
Category | Operator | Associativity |
---|---|---|
Postfix | () [] -> . ++ - - | Left to right |
Unary | + - ! ~ ++ - - (type)* & sizeof | Right to left |
Multiplicative | * / % | Left to right |
Additive | + - | Left to right |
Shift | << >> | Left to right |
Relational | < <= > >= | Left to right |
Equality | == != | Left to right |
Bitwise AND | & | Left to right |
Bitwise XOR | ^ | Left to right |
Bitwise OR | | | Left to right |
Logical AND | && | Left to right |
Logical OR | || | Left to right |
Conditional | ?: | Right to left |
Assignment | = += -= *= /= %=>>= <<= &= ^= |= | Right to left |
Comma | , | Left to right |
Kesimpulan
Tenang saja kamu tidak perlu menghafal semua operator tersebut, namun kamu perlu memahaminya. Karena saya yakin nantinya kamu akan membutuhkannya.
Tenang saja kamu tidak perlu menghafal semua operator tersebut, namun kamu perlu memahaminya. Karena saya yakin nantinya kamu akan membutuhkannya.
Tidak ada komentar:
Posting Komentar