OPERATOR, UNGKAPAN ARITMATIKA DAN
LOGIKA
Pengertian Operator
Operator atau tanda
operasi adalah suatu tanda atau simbol yang biasa dilibatkan dalam program
untuk melakukan suatu operasi atau manipulasi. Operasi atau manipulasi mencakup
ungkapan yang dibuat dari operand dan operator.
Macam-macam operator :
1. Operator aritmatika
Operator aritmatika
digunakan untuk melakukan operasi matematika, seperti penambahan, pengurangan,
pembagian, dan modulo (atau sisa pembagian).
Contoh penggunaan :
+ Operator penjumlahan (juga sebagai
penyambung string)
- Operator pengurangan
* Operator perkalian
/ Operator pembagian
% Operator sisa pembagian
Simbol
|
Nama operator
|
Contoh penggunaan
|
+
|
Operator penjumlahan
|
n = n + 1;
|
-
|
Operator pengurangan
|
n = n – 1;
|
*
|
Operator perkalian
|
n = n * 1;
|
/
|
Operator pembagian
|
n = n / 1;
|
%
|
Operator sisa pembagian
|
n = n % 1;
|
+
|
Operator penyambung string
|
n = “saya “+”tidur”;
|
2. Operator Relasi / Hubungan
Operator relasi biasa digunakan untuk membandingkan
dua buah nilai. Operator relasi menghasilkan kondisi BENAR atauSALAH.
Simbol
|
Keterangan
|
=
|
Sama dengan
|
<>
|
Tidak sama dengan
|
>
|
Lebih dari
|
<
|
Kurang dari
|
>=
|
Lebih dari sama dengan
|
<=
|
Kurang dari sama dengan ( <= )
|
Pembanding
|
Hasil
|
|
1>2
|
dibaca
|
Salah
|
1<2
|
dibaca
|
Benar
|
A==1
|
dibaca
|
Benar,
Jika A bernilai 1
Salah,
Jika A tidak bernilai 1
|
‘A’ < ‘B’
|
dibaca
|
Benar
karena kode ASCH untuk karakter ‘A’
Kurang
dari kode ASCH untuk karakter ‘B’
|
Kar== ‘Y’
|
dibaca
|
Benar jika
ka berisi ‘Y’
Salah,
jika kar tidak berisi ‘Y’
|
3. Operator Logika
Operator logika biasa digunakan untuk
menghubungkan dua buah ungkapan kondisi menjadi sebuah ungkapan kondisi.
Operator-operator ini berupa :
Operator
|
Keterangan
|
&&
|
AND (dan)
|
||
|
OR (atau)
|
!
|
NOT (bukan)
|
Contoh Penggunaan :
Contoh
|
Operasi
|
Hasil
|
a && b
|
and
|
benar jika
a dan b adalah benar
|
a || b
|
or
|
benar jika
salah satu dari a atau b adalah benar
|
!a
|
b lebih dari atau sama dengan
|
benar jika
a lebih dari atau sama dengan b
|
Operasi Aritmatika
STATEMENT ARITMATIKA & COMPUTE
Kemampuan untuk mengadakan perhitungan pada program COBOL
tidak begitu penting
dibandingkan dgn bahasa
program yang lain
seperti FORTRAN, BASIC,
ALGOL atau PL/I sehingga kemampuannya tidak begitu luwes
dibandingkan bahasa-bahasa tersebut.
COBOL
mempunyai 4 verb
dasar utk membuat
statement operasi ARITMATIKA :
a. ADD
(penjumlahan)
b. SUBTRACT (pengurangan)
c. MULTIPLY (perkalian)
d. DIVIDE
(pembagian)
Keempat verb
dasar tersebut dilengkapi dgn verb
untuk perhitungan yg lebih
rumit: COMPUTE verb.
ADD Statement
Digunakan utk menjumlahkan 2 atau lebih
operand numerik, dan menyimpan
hasilnya.
Ada 3 bentuk
statement ADD yaitu
:
BENTUK 1
nama-data-1 nama-data-2
ADD
literal-1 literal-2 ........ TO nama-data-m [ROUNDED]
[; ON SIZE
ERROR statement imperative ]
|
BENTUK 2
nama-data-1 nama-data-2 nama-data-3
ADD literal-1 literal-2 literal-3 ..... GIVING
nama-data-m [ROUNDED]
[; ON SIZE
ERROR statement imperative ]
|
BENTUK 3
CORRESPONDING
ADD
CORR identifier-i TO identifier-e [ROUNDED]
[; ON SIZE
ERROR statement imperative ]
|
PERBEDAAN :
BENTUK
TO
apabila beberapa nilai akan dijumlahkan & salah satunya diisi dgn hasil penjumlahan.
Contoh
: 8 12
ADD A
TO B
Misal pada awalnya
A mempunyai
nilai 20
B mempunyai nilai 4
Maka setelah
dilakukan operasi diatas, nilai
A tetap 20, nilai B menjadi 24
BENTUK GIVING
apabila
beberapa nilai akan dijumlahkan, dan hasilnya akan disimpan
dalam field data item yg lain.
Contoh
: 8 12
ADD A, B
GIVING C
Misal pada
awalnya A=6 B=4
C=2
Maka setelah dilakukan
operasi diatas, nilai A tetap 6, B tetap 4 dan C menjadi
10
KETERANGAN :
1. Field penerima hasil HARUS
berbentuk suatu nama data tidak
boleh literal.
Berikut ini adalah penulisan yang Salah :
Contoh
: 8 12
ADD
A TO 5.
2. Bentuk TO atau GIVING
HARUS ada, tetapi tidak
boleh digunakan secara
bersama- sama.
Berikut
ini adalah penulisan yang Salah :
Contoh : 8 12
ADD A, B.
Kesalahan tsb karena tidak mengandung TO
atau GIVING.
Berikut ini juga penulisan yang Salah :
Contoh : 8 12
ADD A, 5 TO D
GIVING C.
Kesalahan tsb karena TO dan GIVING digunakan bersama.
3. Semua nama data yg digunakan didalam operasi aritmatika HARUS berbentuk
data numeric dengan PICTURE YG BELUM
DIEDIT, kecuali operand dari field
penerima boleh berbentuk
numerik dgn PICTURE EDITING.
Contoh : 8 12
77
A pic 99 Value 55.
01 Nilai.
02 B pic $ZZ9.
02 C pic $ZZ9.
Berikut
ini adalah penulisan statement yang Salah :
8 12
ADD A, B
GIVING C.
Kesalahan tsb karena nama-data B mengandung PICTURE editing.
Nama-data C sbg field penenerima hasil operasi boleh mengandung PICTURE
editing.
4. ROUNDED Option digunakan
bila hasil perhitungan ingin dibulatkan.
Dibulatkan ke
ATAS bila pecahan terakhir bernilai 5 atau lebih.
Contoh : 8 12
01 Nilai.
02
X pic 99V99.
02
Y pic 99V9.
Statement
8 12
ADD X TO Y ROUNDED.
Misal: X =
25,28
Y
= 54,7 +
Y = X + Y = 79,99
Nilai Y setelah operasi = 80,0
(ROUNDED). Bila digunakan tanpa (ROUNDED), Nilai Y sesudah operasi adalah 79,9.
5. Bila ON SIZE ERROR
Option digunakan maka :
Bila hasil perhitungan utk digit-digit bilangan utuh
(high-order digits) tidak bisa masuk seluruhnya
ke field penerima, nilai ini tdk disimpan di storage dan
program
akan memproses imperative
statement yg mengikutinya.
Bila
ON SIZE ERROR
Option tdk digunakan maka
:hasilnya walaupun tersimpan, tetapi terpotong (sudah tentu hasilnya menjadi salah ).
Contoh : 8 12
02 X pic
99V99.
02
Y pic 99V99.
02
Z pic 99V99.
Statement:
8 12
ADD X, Y GIVING Z ON SIZE ERROR.
Misal: X = 55,28
Y = 54,72
Z = X + Y =109,00
|
Terjadi Size error karena Nilai Z setelah
operasi membutuhkan 3 digit, sedangkan yang disediakan hanya 2 digit.
BENTUK STATEMENT
SUBTRACT
nama-data-1 nama-data-2
SUBTRACT
literal-1 literal-2
nama-data-n
FROM literal-n GIVING nama-data-m
[ROUNDED]
[;ON SIZE ERROR
imperative statement ]
|
KETERANGAN :
1. Bila akan mengurangkan
suatu nilai dgn
nilai - nilai lain, dan hasil pengurangan disimpan pada
nilai yg dikurangkan maka digunakan
FROM
Contoh : 8 12
SUBSTRACT A FROM B.
|
A
|
B
|
BSebelum
|
5
|
15
|
Sesudah
|
5
|
10
|
Berarti B = B – A = 15 – 5 = 10 .
2. Bila akan mengurangkan suatu
nilai dgn nilai lain, dan hasil pengurangan disimpan pada
nama data lain maka digunakan
FROM dan GIVING
Secara
bersama - sama
Contoh : 8 12
SUBSTRACT
A FROM B GIVING C.
|
A
|
B
|
C
|
BSebelum
|
5
|
15
|
0
|
Sesudah
|
5
|
15
|
10
|
Berarti C = B – A = 15 – 5 = 10 .
LATIHAN :
1. BENARKAH BENTUK -BENTUK STATEMENT
SUBTRACT DIBAWAH INI
A.
|
8 12
SUBTRACT A
FROM B.
|
B.
|
8 12
SUBTRACT A , 2 FROM C
|
C.
|
8 12
SUBTRACT A
FROM C.
|
D.
|
8 12
SUBTRACT A , 10 FROM 100 GIVING
C.
|
E.
|
8 12
SUBTRACT A GIVING
B
|
F.
|
8 12
SUBTRACT A,5 FROM D
GIVING C
|
2. ISILAH SEL - SEL
KOSONG DIBAWAH INI !
a. Bila
diberi perintah SUBTRACT A FROM B
|
A
|
B
|
Sebelum
|
5
|
80
|
Sesudah
|
|
|
MULTIPLY Statement
Digunakan
utk operasi perkalian
BENTUK STATEMENT
MULTIPLY 1
nama-data-1
MULTIPLY literal-1 BY nama-data-2
[; ON SIZE ERROR imperative
statement ]
|
BENTUK STATEMENT
MULTIPLY 2
nama-data-1 nama-data-2
MULTIPLY literal-1 BY literal-2
GIVING nama-data-3 [ROUNDED]
[; ON SIZE ERROR
imperative statement ]
|
KETERANGAN :
1. Bila hasil perkalian akan
disimpan pada salah satu field dari
numerik data
pengali, maka digunakan
bentuk BY
Contoh : 8 12
MULTIPLY A BY B.
|
A
|
B
|
BSebelum
|
2
|
5
|
Sesudah
|
2
|
10
|
Berarti B = B * A = 2 * 5 = 10 .
2. Bila hasil perkalian akan disimpan
ditempat lain, maka digunakan
bentuk
BY dan bentuk
optional GIVING bersama-sama.
Contoh : 8 12
MULTIPLY A BY 6 GIVING B.
|
A
|
B
|
BSebelum
|
2
|
5
|
Sesudah
|
2
|
12
|
Berarti B = A * 6 = 2 *
6 = 12 .
3. Konstanta / literal pengali
letaknya sebelum BY bila tidak
menggunakan
GIVING
Contoh : 8 12
MULTIPLY 6 BY B.
4. Setelah GIVING tidak
boleh literal.
Berikut
ini juga penulisan yang Salah :
Contoh : 8 12
MULTIPLY A BY 6 GIVING 24.
Kesalahan tsb karena setelah GIVING adalah
literal.
LATIHAN :
1. BENARKAH BENTUK-BENTUK STATEMENT MULTIPLY
DIBAWAH INI ?
A.
|
8 12
MULTIPLY A
FROM B.
|
B.
|
8 12
MULTIPLY A
FROM B
|
C.
|
8 12
MULTIPLY A
BY B.
|
D.
|
8 12
MULTIPLY 5
BY A.
|
E.
|
8 12
MULTIPLY A
BY 5.
|
F.
|
8 12
MULTIPLY A
FROM 3 GIVING C.
|
G.
|
8 12
MULTIPLY A GIVING
B.
|
H.
|
8 12
MULTIPLY A
BY B GIVING 15.
|
2. ISILAH SEL - SEL
KOSONG DIBAWAH INI !
a. Bila
diberi perintah MULTIPLY
A BY 15
GIVING B
|
A
|
B
|
Sebelum
|
5
|
10
|
Sesudah
|
|
|
b. Bila diberi perintah
MULTIPLY 5 BY A.
|
A
|
Sebelum
|
35
|
Sesudah
|
|
DIVIDE
Statement
Digunakan
utk operasi pembagian
BENTUK 1 :
nama-data-1
DIVIDE literal-1 INTO nama-data-2 [ROUNDED]
[; ON SIZE ERROR imperative
statement ]
|
BENTUK 2 :
nama-data-1 nama-data-2
DIVIDE literal-1 INTO literal-2 GIVING nama-data-3
[ROUNDED] [; ON
SIZE ERROR imperative
statement ]
|
BENTUK 3 :
nama-data-1 nama-data-2
DIVIDE literal-1 BY literal-2 GIVING nama-data-3
[ROUNDED] [; ON SIZE
ERROR imperative statement ]
|
BENTUK 4 :
nama-data-1 nama-data-2
DIVIDE literal-1 INTO literal-2 GIVING nama-data-3
[ROUNDED]
REMAINDER nama-data-4
[; ON SIZE ERROR imperative
statement ]
|
BENTUK 5 :
nama-data-1 nama-data-2
DIVIDE literal-1 BY literal-2 GIVING nama-data-3
[ROUNDED]
REMAINDER nama-data-4
[; ON SIZE ERROR imperative
statement ]
|
KETERANGAN :
1. Untuk MS COBOL bentuk ke 4 dan ke 5 tidak tersedia. Tetapi pada
COBOL Standard ANSI
74 tersedia.
2. Bentuk BY harus
diikuti dengan GIVING.
3. Bentuk INTO TIDAK HARUS / OPTIONAL ----->
diikuti dgn GIVING
LATIHAN :
1. BENARKAH BENTUK -BENTUK STATEMENT
DIVIDE DIBAWAH INI ?
A.
|
8 12
DIVIDE A
FROM B.
|
B.
|
8 12
DEVIDE A
INTO B
|
C.
|
8 12
DIVIDE A
BY B.
|
D.
|
8 12
DIVIDE B
INTO A
|
E.
|
8 12
MULTIPLY A
BY 5.
|
F.
|
8 12
DIVIDE A
BY B GIVING C
|
G.
|
8 12
DIVIDE A GIVING
B.
|
H.
|
8 12
DIVIDE A
BY 5 GIVING
C
|
2. ISILAH SEL - SEL
KOSONG DIBAWAH INI !
a. Bila
diberi perintah DIVIDE
A BY 15
GIVING B
|
A
|
B
|
Sebelum
|
25
|
4
|
Sesudah
|
|
|
COMPUTE verb
Digunakan utk operasi
perhitungan yang lebih
rumit.
Misal
:
RUMUS : Y =
A + B -
(C/D) X E
Apabila
menggunakan statemen aritmatika
maka :
8 12
hitung.
ADD A TO
B.
DIVIDE D
INTO C.
MULTIPLY C
BY E.
SUBTRACT E FROM
B
GIVING Y
Sedangkan
bila kita menggunakan
statemen COMPUTE
8 12
hitung.
COMPUTE Y
= A +
B - (C
/ D) * E.
BENTUK :
COMPUTE nama-data-1 [ROUNDED] = ungkapan
aritmatika
[; ON SIZE ERROR imperative
statement ]
|
OPERATOR
ARITMATIKA
Operator aritmatika :
Simbol yg digunakan untuk membentuk suatu ungkapan
aritmatika
Operator Aritmatika
|
Maksud
|
Jenjang
|
**
|
Pemangkatan
|
1
|
*
|
Perkalian
|
2
|
/
|
Pembagian
|
2
|
+
|
Penjumlahan
|
3
|
-
|
Pengurangan
|
3
|
UNGKAPAN
ARITMATIKA
Ungkapan
aritmatika :
Kombinasi dari literal numerik , nama data, operator
aritmatika dan kurung buka , kurung tutup.
Contoh
:
Maksud
|
Penulisan
|
A + B
|
A + B
|
|
( A + B ) / ( C + D )
|
|
A ** 2 / ( B + C )
|
KETERANGAN
:
1. Penulisan
Statement COMPUTE untuk
setiap elemen harus dipisahkan
dengan blank dan
digunakan OPERATOR ARITMATIKA
( Bab
5.6 )
2. Penulisan Aperative Arithmetic
harus diperhatikan jenjangnya. (Bab
5.6)
Tidak ada komentar:
Posting Komentar