PL/SQL - Operator

Halo, para pemrogram yang sedang belajar! Hari ini, kita akan mengemban perjalanan yang menarik ke dunia operator PL/SQL. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - kita akan mulai dari dasar dan perlahan-lahan maju. Pada akhir panduan ini, Anda akan dapat mengoperasikan data seperti seorang ahli!

PL/SQL - Operators

Operator Aritmetik

Mari kita mulai dengan sesuatu yang familiar: matematika! Operator aritmetik PL/SQL bekerja sama seperti yang Anda pelajari di sekolah. Mereka memungkinkan kita untuk melakukan operasi matematika dasar pada bilangan.

Berikut adalah tabel operator aritmetik di PL/SQL:

Operator Deskripsi Contoh
+ Penjumlahan 5 + 3 = 8
- Pengurangan 10 - 4 = 6
* Perkalian 3 * 4 = 12
/ Pembagian 15 / 3 = 5
** Perpangkatan 2 ** 3 = 8

Mari kita lihat operator ini dalam aksi dengan contoh kode PL/SQL sederhana:

DECLARE
num1 NUMBER := 10;
num2 NUMBER := 5;
result NUMBER;
BEGIN
result := num1 + num2;
DBMS_OUTPUT.PUT_LINE('Penjumlahan: ' || result);

result := num1 - num2;
DBMS_OUTPUT.PUT_LINE('Pengurangan: ' || result);

result := num1 * num2;
DBMS_OUTPUT.PUT_LINE('Perkalian: ' || result);

result := num1 / num2;
DBMS_OUTPUT.PUT_LINE('Pembagian: ' || result);

result := num1 ** 2;
DBMS_OUTPUT.PUT_LINE('Perpangkatan: ' || result);
END;

Dalam contoh ini, kita mendeklarasikan dua variabel num1 dan num2, kemudian melakukan berbagai operasi aritmetik pada mereka. Hasilnya kemudian dicetak ke output.

Ketika Anda menjalankan kode ini, Anda akan melihat:

Penjumlahan: 15
Pengurangan: 5
Perkalian: 50
Pembagian: 2
Perpangkatan: 100

Operator Relasional

Sekarang, mari kita pindah ke operator relasional. Operator ini digunakan untuk membandingkan dua nilai dan menentukan hubungan antara mereka. Mereka seperti pertanyaan yang Anda ajukan saat membandingkan hal-hal: "Apakah ini lebih besar dari itu?" atau "Apakah kedua ini sama?"

Berikut adalah tabel operator relasional di PL/SQL:

Operator Deskripsi Contoh
= Sama dengan 5 = 5 benar
<> Tidak sama dengan 5 <> 3 benar
< Kurang dari 3 < 5 benar
> Lebih besar dari 5 > 3 benar
<= Kurang dari atau sama dengan 3 <= 3 benar
>= Lebih besar dari atau sama dengan 5 >= 5 benar

Mari kita lihat operator ini dalam aksi:

DECLARE
a NUMBER := 10;
b NUMBER := 20;
BEGIN
IF a = b THEN
DBMS_OUTPUT.PUT_LINE('a sama dengan b');
ELSIF a < b THEN
DBMS_OUTPUT.PUT_LINE('a kurang dari b');
ELSE
DBMS_OUTPUT.PUT_LINE('a lebih besar dari b');
END IF;

IF a <> b THEN
DBMS_OUTPUT.PUT_LINE('a tidak sama dengan b');
END IF;
END;

Kode ini membandingkan a dan b menggunakan operator relasional. Ketika Anda menjalankan itu, Anda akan melihat:

a kurang dari b
a tidak sama dengan b

Operator Perbandingan

Operator perbandingan di PL/SQL sangat mirip dengan operator relasional, tetapi mereka termasuk beberapa fungionalitas tambahan, khususnya untuk bekerja dengan nilai NULL dan membandingkan jenis data yang berbeda.

Berikut adalah tabel operator perbandingan:

Operator Deskripsi
IS NULL Memeriksa jika nilai NULL
IS NOT NULL Memeriksa jika nilai bukan NULL
LIKE Pencocokan pola
BETWEEN Memeriksa jika nilai berada dalam rentang
IN Memeriksa jika nilai cocok dengan nilai dalam daftar

Mari kita lihat contoh:

DECLARE
name VARCHAR2(20) := 'John Doe';
age NUMBER := 25;
BEGIN
IF name IS NOT NULL THEN
DBMS_OUTPUT.PUT_LINE('Nama adalah: ' || name);
END IF;

IF name LIKE 'J%' THEN
DBMS_OUTPUT.PUT_LINE('Nama dimulai dengan J');
END IF;

IF age BETWEEN 20 AND 30 THEN
DBMS_OUTPUT.PUT_LINE('Umur berada antara 20 dan 30');
END IF;

IF age IN (25, 30, 35) THEN
DBMS_OUTPUT.PUT_LINE('Umur adalah 25, 30, atau 35');
END IF;
END;

Kode ini menunjukkan berbagai operator perbandingan. Ketika Anda menjalankan itu, Anda akan melihat:

Nama adalah: John Doe
Nama dimulai dengan J
Umur berada antara 20 dan 30
Umur adalah 25, 30, atau 35

Operator Logika

Operator logika memungkinkan kita untuk menggabungkan beberapa kondisi. Mereka seperti "dan" dan "atau" dalam bahasa sehari-hari saat kita menjelaskan situasi yang kompleks.

Berikut adalah tabel operator logika di PL/SQL:

Operator Deskripsi
AND Benar jika kedua kondisi benar
OR Benar jika salah satu kondisi benar
NOT Membalikkan hasil kondisi

Mari kita lihat operator ini dalam aksi:

DECLARE
age NUMBER := 25;
has_license BOOLEAN := TRUE;
BEGIN
IF age >= 18 AND has_license THEN
DBMS_OUTPUT.PUT_LINE('Anda dapat mengendarai mobil');
END IF;

IF age < 18 OR NOT has_license THEN
DBMS_OUTPUT.PUT_LINE('Anda tidak dapat mengendarai mobil');
ELSE
DBMS_OUTPUT.PUT_LINE('Anda dapat mengendarai mobil');
END IF;
END;

Kode ini memeriksa apakah seseorang dapat mengendarai mobil berdasarkan umur dan izin mereka. Ketika Anda menjalankan itu, Anda akan melihat:

Anda dapat mengendarai mobil
Anda dapat mengendarai mobil

Precedensi Operator PL/SQL

Seperti dalam matematika, operator PL/SQL memiliki urutan tertentu dalam penilaian. Hal ini disebut precedensi operator. Memahami ini sangat penting untuk menulis kode yang benar dan prediksi.

Berikut adalah urutan operator di PL/SQL, dari yang tertinggi ke yang terendah:

  1. Perpangkatan (**)
  2. Perkalian (*), Pembagian (/)
  3. Penjumlahan (+), Pengurangan (-)
  4. Operator perbandingan (=, <>, <, >, <=, >=)
  5. IS NULL, LIKE, BETWEEN, IN
  6. NOT
  7. AND
  8. OR

Mari kita lihat contoh bagaimana ini bekerja:

DECLARE
result BOOLEAN;
BEGIN
result := 5 > 3 AND 10 / 2 = 5 OR NOT (2 + 2 = 4);

IF result THEN
DBMS_OUTPUT.PUT_LINE('Hasilnya BENAR');
ELSE
DBMS_OUTPUT.PUT_LINE('Hasilnya SALAH');
END IF;
END;

Dalam contoh ini, ekspresi dinilai sebagai berikut:

  1. 10 / 2 = 5 (pembagian, kemudian perbandingan)
  2. 5 > 3 (perbandingan)
  3. 2 + 2 = 4 (penjumlahan, kemudian perbandingan)
  4. NOT (2 + 2 = 4) (NOT logika)
  5. 5 > 3 AND 10 / 2 = 5 (AND logika)
  6. Hasil step 5 OR hasil step 4 (OR logika)

Ketika Anda menjalankan kode ini, Anda akan melihat:

Hasilnya BENAR

Dan itu saja! Kita telah meliputi jenis utama operator di PL/SQL. Ingat, latihan membuat sempurna. Cobalah menulis contoh kode sendiri dan eksperimen dengan kombinasi operator yang berbeda. Sebelum Anda sadar, Anda akan menulis pernyataan PL/SQL kompleks dengan mudah!

Credits: Image by storyset