Sabtu, 30 April 2016

OPERATOR, UNGKAPAN ARITMATIKA DAN LOGIKA

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
           

SIZE ERROR
 

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