Anda di halaman 1dari 17

Y

i
P
CO
Y

ii
P
CO
BAB II
OPERATOR

1. Operator
Operator adalah dasar dari bahasa pemrograman apa
pun. Dengan demikian fungsionalitas bahasa pemrograman C /
C ++ tidak lengkap atau tidak dapat berjalan tanpa
menggunakan operator. Dalam membuat program tentunya
akan ada banyak data yang diolah sehingga menghasilkan suatu
output. Pengolahan data tersebut tentu akan membutuhkan
operator.
Maka dari itu, kita dapat mendefinisikan operator Simak penjelasan
Pak Dosen di sini!
CO
sebagai simbol yang membantu kita melakukan perhitungan
matematis dan logis tertentu pada operan. Dengan kata lain, kita dapat mengatakan bahwa
operator mengoperasikan operan.
Operator adalah simbol atau karakter khusus yang digunakan untuk melakukan suatu
operasi membantu kompilator untuk memanipulasi secara matematis atau logis pada data
yang diberikan. Bahasa pemrograman C++ menyediakan banyak operator yang sangat
berguna untuk melakukan operasi. pada artikel ini penulis akan membahas beberapa
P
informasi tentang operator yang umum harus diketahui.
Sebagai contoh:
Y
c = a + b;

Pada contoh di atas dapat diketahui bahwa ‘+’ adalah operator penjumlahan
sedangkan ‘a’ dan ‘b’ adalah operand. Penggunaan operator tersebut memberitahukan
kepada compiler untuk menjumlahkan a dan b.

2. Sifat-sifat operator
Dalam banyaknya macam-macam operator, kita bisa menggolongkanya berdasarkan
sifatnya. Berikut sifat-sifat dari operator:

1
a. Unary
Sifat Unary adalah operator yang hanya melibatkan sebuah operand pada suatu
operasi. Ada dua operator unary utama yaitu increment dan decrement operator.

Bentuk Penulisan:
a++ ;

b. Binary
Sifat Binary adalah operator yang melibatkan dua buah operand dan satu operator
di tengah dua operand pada suatu operasi .

Bentuk penulisan:
a + b;
CO
c. Ternary
Sifat Tenary pada operator adalah operator kondisi ( atau Conditional Operator) yang
melibatkan tiga buah operand pada suatu operasi.

Bentuk penulisan:
expresi?pilhan1:pilihan2;
P
3. Jenis operator
Dalam bahasa pemrograman C++, terdapat banyak operator yang dapat digunakan
Y
untuk memanipulasi/mengolah data. Setiap operator memiliki fungsinya masing masing.
a. Operator aritmatika
Satu operator aritmatika digunakan untuk memproses dua buah operand yang akan
menghasilkan suatu nilai tertentu tergantung nilai operand dan operator apa yang
digunakan. Operator aritmatika dapat dilihat pada tabel 2.1.

Tabel 2.1. Operator aritmatika


Operator Keterangan Contoh
* Perkalian A*B
/ Pembagian A/B

2
% Sisa Pembagian A%B
+ Penjumlahan A+B
- Pengurangan A-B

b. Operator penugasan
Operator penugasan digunakan untuk memberikan
nilai pada suatu variabel. Operan sisi kiri operator penugasan
adalah variabel dan operan sisi kanan operator penugasan
adalah sebuah nilai. Nilai di sisi kanan harus dari tipe data yang
sama dari variabel di sisi kiri kalau tidak kompiler akan
menimbulkan kesalahan.Adapun jenis operator penugasan Simak penjelasan
dapat dilihat pada Tabel 2.2. Pak Dosen di sini!
CO
Tabel 2.2. Operator penugasan
Operator Keterangan Contoh
+= Penjumlahan X += Y
-= Pengurangan X -= Y
*= Perkalian X *= Y
/= Pembagian X /= Y
%= Sisa Pembagian X %= Y
P
>>= Pergeseran bit ke kiri X >>= Y
<<= Pergeseran bit ke kanan X <<= Y
&= Bitwise DAN X &= Y
Y
^= Bitwise OR Eksklusif X ^= Y
|= Bitwise OR Inklusif X |= Y

Agar dapat memudahkan anda untuk memahami beberapa operator penugasan di


atas, maka kami beri contoh ilustrasi penggunaannya pada Gambar 2.1. pada gambar
tersebut dapat kita ketahui bahwa terdapat sebuah variabel bernama a yang dideklarasikan
bertipe data integer. Hal tersebut berarti bahwa variabel a dapat digunakan untuk
menampung bilangan bulat (bilangan basis 10 (decimal), ingat kembali konversi bilangan).
Selanjutnya dapat kita lihat operator penugasan pergeseran bit ke kiri diterapkan ke
variabel a dengan banyaknya pergeseran sebanyak 1 kali. Sehingga nilai 1 yang jika dikonversi

3
Gambar 2.1. Contoh penggunaan operator penugasan pergeseran bit ke kiri (<<=).

ke dalam bentuk biner bernilai “0001” jika digeser ke kiri menjadi “0010”. Nilai biner 4 bit
CO
“0010” jika dikonversi ke bilangan basis 10 (decimal) menjadi 2. Hasil pergeseran yakni 2 akan
kembali disimpan pada variabel a. Itulah sebabnya disebut sebagai operator penugasan,
karena ditugaskan masuk kembali ke suatu variabel.
P Y

Gambar 2.2. Contoh penggunaan operator penugasan bitwise DAN (&=).

Satu lagi contoh kami berikan seperti pada Gambar 2.2 di atas. Masih menggunakan
operator penugasan namun pada Gambar 2.2. operator penugasan yang digunakan adalah
operator penugasan bitwise DAN (&&).

4
Dapat kita lihat pada gambar tersebut, diketahui bahwa dideklarasikan 2 buah
variabel bertipe integer yaitu a dengan nilai 10 dan y dengan nilai 1. Operator penugasan
bitwise DAN diterapkan kepada variabel a dengan y sebagai pembandingnya. Variabel a berisi
nilai bilangan bulat basis 10 (decimal) 10 yang jika dikonversi ke dalam bentuk biner menjadi
“1010”. Sedangkan variabel b berisi nilai bilangan bulat basis 10(decimal) yaitu 1 yang jika
dikonversi ke dalam bentuk biner menjadi “0001”.
Oleh karena itu, dari hasil penerapan operator “&=” maka akan diperoleh nilai biner
“0000” sebab jika kedua nilai dalam bentuk bilangan biner tadi tiap bitnya dibandingkan
sesuai urutan menggunakan logika DAN, maka tidak ada satupun urutan bit yang sama-sama
bernilai 1. Dimana kita ketahui bahwa logika DAN akan menghasilkan 1 jika kedua-duanya
bernilai 1. Nilai biner 4 bit “0000” jika dikonversi ke dalam bentuk bilangan basis 10 (decimal)
akan menjadi 0. Sehingga isi variabel a sama dengan 0.

c. Operator increment atau decrement


CO
Increment dan Decrement Operator adalah operator yang digunakan untuk
meningkatkan dan menurunkan nilai suatu operand. Increment berupa operator ++
digunakan untuk meningkatkan/menambah nilai operand sebanyak 1. Sedangkan decrement
adalah kebalikan dari increment. Decrement berupa operator -- berfungsi untuk untuk
menurunkan/mengurangi nilai operand sebanyak 1. Adapun operator increment dan
decrement dapat dilihat pada tabel 2.3.
P
Tabel 2.3. Operator increment dan decrement
Operator Keterangan Contoh Penjabaran
Y
++ Increment / Penaikan / X++ X=X+1
Penambahan
-- Decrement / Penurunan / X-- X=X–1
Pengurangan

Dalam peletakan operator, operator increment dan decrement dapat diletakan pada
awal atau akhir. Peletakan operator ini akan mempengaruhi cara kerja dari operator
tersebut, seperti yang di jelaskan di bawah ini:
• ++X (Prefix) adalah Nilai variabel X dinaikan dahulu sebelum diproses.
• X++ (Postfix) adalah Nilai variabel X diproses dahulu sebelum dinaikan.

5
d. Operator relasi dan pembanding
Dua buah ekspresi dapat dibandingkan dengan
menggunakan operator relasi dan pembanding. Misalnya,
untuk dapat menentukan apakah suatu variable memiliki nilai
lebih besar atau lebih kecil dari nilai lainnya, hal itu dapat
ditentukan dengan menggunakan operator relasi dan
pembanding. Dari hasil operai relasi dan pembandingan
tersebut akan dikembalikan nila true/benar (1) atau false/salah
Simak penjelasan
( 0 ) yang merupakan tipe data boolean. Adapun jenis operator Pak Dosen di sini!
relasi dan pembanding dapat dilihat pada tabel 2.4 berikut ini.

Tabel 2.4. Operator relasi dan pembanding


Operator Keterangan Contoh
== Sama dengan (a==a) atau (a==5) atau (5==5)
CO
!= Tidak sama dengan (a!=a) atau (a!=5) atau (5!=5)
< Kurang dari (a<a) atau (a<5) atau (5<5)
> Lebih besar dari (a>a) atau (a>5) atau (5>5)
<= Kurang dari sama dengan (a<=a) atau (a<=5) atau (5<=5)
>= Lebih dari sama dengan (a>=a) atau (a>=5) atau (5>=5)
P Y

Gambar 2.3. Contoh penggunaan operator pembanding <=.

6
Pada Gambar 2.3 diberikan sebuah contoh penggunaan oprator pembanding. Pada
gambar tersbut dapat diketahui bahwa dideklarasikan sebuah variabel bernama a yang
bertipe boolean. Hal tersebut berarti bahwa variabel a hanya dapat digunakan untuk
menampung nilai logika “true” atau (1) atau “false” atau (0). Selanjutnya variabel a diisi
dengan hasil pembandingan atara nilai 15 dan nilai 20. Operator pembanding yang digunakan
adalah operator “<=” kecil dari atau sama dengan. Jika diperhatikan, nilai 15 memang lebih
kecil dari nilai 20 sehingga ekpresi “15<=20” akan bernilai true. Nilai true kemudian disimpan
pada variabel a.

e. Operator logika
Operator logika digunakan untuk memeriksa kesamaan
nilai dari dua data atau lebih dan juga ekspresi yang dapat
mengembalikan nilai bertipe boolean. Sebagai contoh jika kita
memiliki dua operand A dengan nilai 1 (true) dan B dengan nilai
CO
Simak penjelasan
0 (false),maka jika operator logika ditterapkan pada kedua Pak Dosen di sini!
operand tersebut hasilnya dapat dilihat pada Tabel 2.5.

Tabel 2.5. Operator logika


Operator Keterangan Contoh
&& Disebut sebagai Logical AND operator. Jika kedua A && B = false
P
operand tidak memiliki nilai yang sama maka akan
bernilai false
|| Disebut sebagai Logical OR operator. Jika keduanya A || B = true
Y
atau salah satu data bernilai true maka akan
menghasilkan nilai true
! Disebut sebagai Logical NOT operator. Untuk !(A && B) =
mengembalikan nilai, jika A adalah true maka akan true
bernilai false

Agar dapat lebih mudah memahami penggunaan operator logika, berikut kami
berikan contoh dalam bentuk gambar ilustrasi. Perhatikan gambar 2.4. pada gambar tersebut
dapat diketahui bahwa telah dideklarasikan sebuah variable bernama a yang bertipe
boolean.

7
Gambar 2.4. Contoh penggunaan operator logika &&.

Selanjutnya variabel a diisi dengan nilai hasil pembandingan logika DAN. Sebagaimana yang
CO
kita ketahui bahwa logika DAN (&&) akan bernilai true (1) jika kedua nilai yang dibandingkan
sama sama bernilai true (1) dan selain itu akan bernilai false(0). Pada gambar di atas dapat
kita lihat nilai logika yang dibandingkan adalah true dan false, sehingga hasilnya akan bernilai
false yang kemudian disimpan pada variabel a.

f. Operator ternary kondisi


P
Operator ternary kondisi akan mengevaluasi ekspresi dan memilih dua pilihan nilai,
menjadi memiliki nilai satu jika ekspresi yang dievaluasi adalah true dan memiliki nilai dua
jika ekspresi bernilai sebagai false.
Y
Bentuk penulisan:
variabel = ekspresi1? ekspresi2 : ekspresi3

Contoh:
max = (n1 > n2) ? n1 : n2;

8
Agar dapat lebih memahami penggunaan operator, berikut kami berikan contoh
program sederhana.
1. Contoh 1
#include <iostream>
using namespace std;

int main() {
int a = 1;
int b = 10;
a<<=3;
Simak penjelasan
b>>=1; Pak Dosen di sini!
CO
cout<<"Isi variabel a saat ini adalah "<<a<<endl;
cout<<"Isi variabel b saat ini adalah "<<b<<endl;
return 0;
}
Output:
Isi variabel a saat ini adalah 8
P
Isi variabel b saat ini adalah 5

Program di atas adalah contoh program penerapan operator pergeseran bit ke kiri
Y
dan ke kanan. Berdasarkan contoh program di atas, maka dapat diketahui bahwa:
• Dideklarasikan dua buah variabel bertipe integer yaitu a dan b.
• Variabel a berisi nilai bilangan bulat yaitu 1. Jika dikonversi kedalam biner 4 bit
menjadi 0001.
• Variabel b berisi nilai bilangan bulat yaitu 10. Jika dikonversi kedalam biner 4 bit
menjadi 1010.
• Pada variabel a, dilakukan pergeseran bit ke kiri sebanyak 3 kali. Sehingga bitnya
berubah menjadi 1000. Jika dikonversi ke bentuk bilangan basis 10 (decimal) menjadi
8.

9
• Pada variabel b, dilakukan pergeseran bit ke kanan sebanyak 1 kali. Sehingga bitnya
menjadi 0101. Jika dikonversi ke bentuk bilangan basis 10 (decimal) menjadi 5.
• Pada saat variabel a dan b ditampilkan, maka akan tampil nilai 8 dan 5.
2. Contoh 3
#include <iostream>
using namespace std;

int main() {
int a = 10;
int b = 5;

Simak penjelasan
bool c = a < b; Pak Dosen di sini!
bool d = a > b;
bool e = (a>b) && (a!=b);
CO
cout<<"Isi variabel c saat ini adalah "<<c<<endl;
cout<<"Isi variabel d saat ini adalah "<<d<<endl;
cout<<"Isi variabel e saat ini adalah "<<e<<endl;
return 0;
}
P
Output:
Isi variabel c saat ini adalah 0
Isi variabel d saat ini adalah 1
Y
Isi variabel e saat ini adalah 1

Program di atas adalah contoh program penerapan operator relasi dan pembanding
serta logika. Berdasarkan contoh program di atas, maka dapat diketahui bahwa:
• Dideklarasikan dua buah variabel bertipe integer yaitu a yang berisi nilai 10 dan b
berisi nilai 5.
• Kemudian dideklarasikan variabel c bertipe bool yang berarti variabel c akan
menampung nilai bertibe logika yaitu true atau false. Nilai true atau false diperoleh
dari pembandingan antara variabel a dan b melalui ekspresi a<b. Karena nilai variabel

10
a tidak lebih kecil dari variabel b maka ekspresi ini akan menghasilkan nilai logika
false (0) yang kemudian ditugaskan masuk ke dalam variabel c
• Selanjutnya dideklarasikan variabel d bertipe boolean. Nilainya diperoleh dari
ekspresi a>b. Karena nilai a memang lebih besar dari nilai variabel b, maka ekspresi
ini mengembalikan nilai true (1). Nilai logika tersebut kemudian dimasukkan ke
dalam variabel d.
• Terakhir, dideklarasikan variabel e bertipe boolean. Nilainya diperoleh dari ekspresi
(a>b) && (a!=b). Ekspresi a>b akan menghasilkan nilai true. Ekspresi a!=b akan
menghasilkan nilai true. Sehingga dapat dutiliskan (true) &&(true). Ekspresi (true)
&&(true) akan menghasilkan nilai true (1) yang kemudian dimasukkan ke dalam
variabel e.
CO
1. Berdasarkan contoh program 1 pada bagian B. Ubah nilai variabel b menjadi 16
menggunakan operator pergeseran bit. Berapa output yang dihasilkan dan jelaskan hasil
analisis anda berkaitan dengan output yang muncul, mengapa hal tersebut dapat terjadi!
P
2. Berdasarkan contoh program 2 pada bagian B. Apa yag terjadi jika operator &&
Y
digantikan dengan operator ||? Jelaskan analisis yang anda lakukan terhadap output
yang diperoleh!

3. Kerjakan program berikut!


#include <iostream>
using namespace std;

11
int main() {
int nilaiUTS = 95;
int nilaiUAS = 65;

if ((nilaiUTS>69)&&(nilaiUAS>69)){
cout<<"Anda Lulus"<<endl;
} else {
cout<<"Anda tidak lulus"<<endl;
}
return 0;
}
Output:

a. Berdasarkan output yang anda peroleh dari program di atas, jelaskan hasil analisis
CO
anda mengapa output tersebut diperoleh!

b. Berdasarkan program di atas, jika ekspresi nilaiUAS>69 diganti menjadi nilaiUAS<69,


P
apa output yang diperoleh? Jelaskan hasil analisis anda terhadap output yang anda
peroleh tersebut!
Y

12
1. Buatlah sebuah program sederhana dengan menerapkan operator logika (!, &&, dan
||). Jalankan program tersebut dan jelaskan bagaimana output yang muncul bisa
diperoleh!
2. Buatlah sebuah program sederhana dengan menerapkan operator (&=, ^=, |=,).
Jalankan program tersebut dan jelaskan bagaimana output yang muncul bisa diperoleh!
CO
P Y

13
Y

14
P
CO
Y

15
P
CO

Anda mungkin juga menyukai