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).