Operator Pada PL/SQL

Apa Itu Operator?

Operator adalah simbol yang digunakan untuk menyatakan compiler untuk melakukan operasi yang dinginkan seperti operasi aritmetika, logika, dan lain sebagainya.

Jenis Jenis Operator

PL/SQL memiliki beberapa jenis yaitu:

  • Operator Aritmetika (Arithmetic Operator)
  • Operator Relasi (Relational Operator)
  • Operator Perbanding (Comparison Operator)
  • Operator Logika (Logical Operator)
  • Operator String (String Operator)

Operator Aritmetika

Dibawah ini adalah tabel macam-macam operator aritmetika:

Operator Deskripsi Contoh
+ Menjumlahkan operand A dengan operand B A + B
Mengurangkan operand A dengan operand B A - B
/ Membagi operand A dengan operand B A / B
* Mengalikan operand A dengan operand B A * B
** operand A dipangkat dengan operand B A ** B

Contoh Program

BEGIN
    dbms_output.put_line('10 + 5 = '|| (10 + 5));
    dbms_output.put_line('10 - 5 = '|| (10 - 5));
    dbms_output.put_line('10 * 5 = '|| (10 * 5));
    dbms_output.put_line('10 / 5 = '|| (10 / 5));
    dbms_output.put_line('10 ** 5 = '|| (10 ** 5));
END;
/

Output

10 + 5 = 15
10 - 5 = 5
10 * 5 = 50
10 / 5 = 2
10 ** 5 = 100000

PL/SQL procedure successfully completed.

Operator Relasi

Dibawah ini adalah tabel macam-macam operator relasi di PL/SQL:

Operator Deskripsi Contoh
= Apakah operand A sama dengan operand B A = B
!= atau <> atau ~= Apakah operand A tidak dengan operand B A != B
> Apakah operand A lebih besar operand B A - B
>= Apakah operand A lebih besar atau sama dengan operand B A >= B
< Apakah operand A lebih kecil dari operand B A < B
<= Apakah operand A lebih kecil atau sama dengan operand B A <= B

Contoh Program

DECLARE
    a number := 10;
    b number := 5;
BEGIN
    dbms_output.put_line('a = '||a);
    dbms_output.put_line('b = '||b);
    if(a = b) then
        dbms_output.put_line('Bilangan a sama dengan bilangan b');    
    else
        dbms_output.put_line('Bilangan a tidak sama dengan bilangan b');
    end if;
    
    if(a != b) then
        dbms_output.put_line('Bilangan a tidak sama dengan bilangan b');
    else
        dbms_output.put_line('Bilangan a sama dengan bilangan b');    
    end if;
    
    if(a > b) then
        dbms_output.put_line('Bilangan a lebih besar bilangan b');
    else
        dbms_output.put_line('Bilangan a lebih kecil bilangan b');    
    end if;
    
    if(a >= b) then
        dbms_output.put_line('Bilangan a lebih besar atau sama dengan bilangan b');
    else
        dbms_output.put_line('Bilangan a tidak lebih besar atau sama dengan bilangan b');    
    end if;
    
    if(a < b) then
        dbms_output.put_line('Bilangan a lebih kecil bilangan b');
    else
        dbms_output.put_line('Bilangan a lebih besar bilangan b');    
    end if;
    
    if(a <= b) then
        dbms_output.put_line('Bilangan a lebih kecil sama dengan bilangan b');
    else
        dbms_output.put_line('Bilangan a tidak lebih kecil sama dengan bilangan b');    
    end if;
    
END;
/

Output

a = 10
b = 5
Bilangan a tidak sama dengan bilangan b
Bilangan a tidak sama dengan bilangan b
Bilangan a lebih besar bilangan b
Bilangan a lebih besar atau sama dengan bilangan b
Bilangan a lebih besar bilangan b
Bilangan a tidak lebih kecil sama dengan bilangan b

PL/SQL procedure successfully completed.

Operator Perbandingan

Operator perbandingan atau comparison operator digunakan untuk membanding sebuah ekpresi dengan ekspresi lainnya. Ada beberapa jenis operator perbandingan dalam PL/SQL, yaitu:


  • LIKE

    Operator LIKE akan membandingkan karakter, string, ataupun CLOB dengan pattern atau pola yang telah ditentukan. Apabila sesuai, maka akan bernilai TRUE, sedangkan kalau tidak sesuai akan bernilai FALSE.

    Contoh Program

    DECLARE
       vNama1 VARCHAR2(20) := 'NURSALIM';
       vNama2 VARCHAR2(20) := 'NAURA';
       pattern VARCHAR2(20) := '%NUR%';
    BEGIN
       IF vNama1 LIKE pattern THEN
          DBMS_OUTPUT.PUT_LINE('vNama1 bernilai TRUE');
       ELSE
          DBMS_OUTPUT.PUT_LINE('vNama1 bernilai FALSE');
       END IF;
    
       IF vNama2 LIKE pattern THEN
          DBMS_OUTPUT.PUT_LINE('vNama2 bernilai TRUE');
       ELSE
          DBMS_OUTPUT.PUT_LINE('vNama2 bernilai FALSE');
       END IF;
    END;
    /
    
    
  • BETWEEN

    Operator Between digunakan untuk mengecek apakah sebuah nilai berada dalam sebuah rentang yang telah ditentukan. Apabila sesuai maka akan menghasilkan nilai TRUE. Sebaliknya kalau tidak sesuai akan menghasilkan nilai FALSE.

    Contoh Program

    DECLARE
       vBilangan NUMBER := 10;
    BEGIN
       IF vBilangan BETWEEN 1 AND 30 THEN
          DBMS_OUTPUT.PUT_LINE('Bilangan 10 berada dalam rentang 1 sampai 30');
       ELSE
          DBMS_OUTPUT.PUT_LINE('Bilangan 10 tidak berada dalam rentang 1 sampai 30');
       END IF;
    END;
    /
    
    
  • IN

    Operator IN digunakan untuk mengecek apakan sebuah nilai merupakan bagian dari himpunan (membership) yang telah ditentukan. Apabila merupakan bagian, maka akan bernilai TRUE. Sedangkan kalau diluar bagian, maka akan bernilai FALSE.

    Contoh Program

    DECLARE
      vKarakter CHAR(1) := 'M';
    BEGIN
      IF vKarakter IN ('A','C','D') THEN
         DBMS_OUTPUT.PUT_LINE('Bernilai TRUE');
      ELSE
         DBMS_OUTPUT.PUT_LINE('Bernilai FALSE');
      END IF;
    END;
    /
    
    
  • IS NULL

    Operator IS NULL akan mengecek apakah sebuah nilai bernilai NULL atau tidak?. Jika bernilai NULL, maka akan menghasilkan nilai TRUE, dan sebaliknya jika tidak NULL akan bernilai FALSE.

    Contoh Program

    DECLARE
      vKarakter CHAR(1) := 'M';
    BEGIN
      IF vKarakter IS NULL THEN
         DBMS_OUTPUT.PUT_LINE('Bernilai TRUE');
      ELSE
         DBMS_OUTPUT.PUT_LINE('Bernilai FALSE');
      END IF;
    END;
    /
    

Operator Logika

Operator Logika atau Logical Operator adalah operator yang digunakan untuk melakukan operasi logika seperti AND, OR, dan NOT.

Untuk lebih jelasnya, Anda dapat melihat tabel dibawah ini:

Operator Deskripsi CONTOH
AND Bernilai TRUE jika kedua operand bernilai TRUE. A AND B
OR Bernilai TRUE jika salah satu operand bernilai TRUE. A OR B
NOT Digunakan untuk membalikkan nilai dari sebuah operant NOT A

Contoh Program

DECLARE
  a BOOLEAN := true;
  b BOOLEAN := false;
BEGIN
  IF (a AND b) THEN
     DBMS_OUTPUT.PUT_LINE ('a AND b bernilai TRUE');
  ELSE
     DBMS_OUTPUT.PUT_LINE ('a AND b bernilai FALSE'); 
  END IF;

  IF (a OR b) THEN
     DBMS_OUTPUT.PUT_LINE ('a OR b bernilai TRUE');
  ELSE
     DBMS_OUTPUT.PUT_LINE ('a OR b bernilai FALSE'); 
  END IF;

  IF (NOT a) THEN
     DBMS_OUTPUT.PUT_LINE ('NOT a bernilai FALSE');
  ELSE
     DBMS_OUTPUT.PUT_LINE ('NOT a bernilai TRUE'); 
  END IF;
END;
/

Operator Precedence

Operator Precedence adalah urutan dalam mengeksekusi sebuah operator. Operator yang mempunyai urutan yang tertinggi lah yang akan dieksekusi terlebih dahulu.

Di bawah ini adalah tabel dari operator precedence, dari urutan tertinggi sampai terendah.

Operator Operasi
** perpangkatan
*, / perkalian, pembagian
+, -, || penambahan, pengurangan, dan penggabungan (concatenation)
=, <, >, <=, >=, <>, !=, ~=, ^=, IS NULL, LIKE, BETWEEN, IN comparison operator
NOT Negasi operator
AND Konjungsi operator
OR Inklusi operator




Share on Google Plus

About Unknown

This is a short description in the author block about the author. You edit it by entering text in the "Biographical Info" field in the user admin panel.
    Blogger Comment
    Facebook Comment

0 comments:

Post a Comment