Bab 3 - Operator
Operator digunakan untuk mengoperasikan nilai-nilai maupun variabel. Banyak macam operator disini, diantaranya operator assignment, operator aritmatika, operator logika, operator bitwise.
Operator Assignment
Operator :=
digunakan untuk menginisialisasi/memasukkan nilai dari sebuah variabel.
var
x : integer;
begin
x := 100; { assign variabel x dengan nilai 100 }
end.
Operator Aritmatika
Operator jenis ini digunakan untuk melakukan penghitungan dalam suatu variabel.
Operator | Tipe Operand | Tipe Hasil | Contoh |
---|---|---|---|
+ | integer, real | integer, real | a + b |
- | integer, real | integer, real | a - b |
* | integer, real | integer, real | a * b |
/ | integer, real | integer, real | a / b |
div | integer | integer | a div b |
mod | integer | integer | a mod b |
Operator div
digunakan untuk pembagian, dan hasil nya akan dibulatkan ke bawah. Contoh : 10 div 3 = 3
. Sedangkan operator mod
digunakan untuk mencari sisa bagi dari 2 bilangan, contoh 10 mod 3 = 1
.
Operator Logika
Operator jenis ini digunakan untuk melakukan operasi yang berkaitan dengan nilai logika (true/false).
Operator | Jenis | Contoh |
---|---|---|
not | Negasi | not (a<=b) |
and | Konjungsi | (a<=b) and (b>=c) |
or | Disjungsi | (a<=b) or (b>=c) |
xor | Exclusive Disjunction | (a<=b) xor (b>=c) |
Tabel Kebenaran not
variabel A | not A |
---|---|
true | false |
false | true |
Tabel Kebenaran and
variabel A | variabel B | A and B |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Tabel Kebenaran or
variabel A | variabel B | A or B |
---|---|---|
true | true | true |
true | false | true |
false | true | true |
false | false | false |
Tabel Kebenaran xor
variabel A | variabel B | A xor B |
---|---|---|
true | true | false |
true | false | true |
false | true | true |
false | false | false |
Operator Bitwise
Operator jenis ini digunakan untuk mengoperasikan tiap bit nilai.
Operator | Jenis Operasi | Contoh |
---|---|---|
not | bitwise not | not 1 |
and | bitwise and | 1 and 2 |
or | bitwise or | 1 or 2 |
xor | bitwise xor | 1 xor 2 |
shr | shift right | 1 shr 2 |
shl | shift left | 1 shl 2 |
Contoh...
8 and 3
0 0 0 0 1 0 0 0 8 dalam biner
0 0 0 0 0 0 1 1 3 dalam biner
---------------- and
0 0 0 0 0 0 0 0 hasil = 0
8 or 3
0 0 0 0 1 0 0 0 8 dalam biner
0 0 0 0 0 0 1 1 3 dalam biner
---------------- or
0 0 0 0 1 0 1 1 hasil = 11
8 xor 3
0 0 0 0 1 0 0 0 8 dalam biner
0 0 0 0 0 0 1 1 3 dalam biner
---------------- xor
0 0 0 0 1 0 1 1 hasil = 11
Bingung? Baca kembali tabel kebenaran diatas.
Untuk shl
, rumus untuk menyelesaikan a shl b
adalah a * (2 ^ b)
, sedangkan rumus untuk shr
adalah a / (2 ^ b)
.