PL/SQL - Penggunaan Operator

Hai, para pemrogram yang sedang belajar! Hari ini, kita akan melangkah ke dalam dunia menarik dari operator PL/SQL. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - kita akan mulai dari dasar dan kemudian maju perlahan. 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 angka-angka.

Berikut adalah tabel operator aritmetik dalam PL/SQL:

Operator Deskripsi Contoh
+ Penambahan 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('Penambahan: ' || 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:

Penambahan: 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 antaranya. 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 dalam PL/SQL:

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

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 dalam PL/SQL hampir mirip dengan operator relasional, tetapi mereka menyediakan fungsi 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 Pemadanan 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 dalam PL/SQL:

Operator Deskripsi
AND Benar jika kedua kondisi benar
OR Benar jika salah satu kondisi benar
NOT Membalikkan hasil dari 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 bisa mengendarai mobil');
END IF;

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

Kode ini memeriksa apakah seseorang bisa mengendarai mobil berdasarkan umurnya dan apakah mereka memiliki lisensi. Ketika Anda menjalankan itu, Anda akan melihat:

Anda bisa mengendarai mobil
Anda bisa mengendarai mobil

Precedence Operator PL/SQL

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

Berikut adalah precedence operator dalam PL/SQL, dari yang tertinggi ke yang terendah:

  1. Perpangkatan (**)
  2. Perkalian (*), Pembagian (/)
  3. Penambahan (+), 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('Hasil adalah TRUE');
ELSE
DBMS_OUTPUT.PUT_LINE('Hasil adalah FALSE');
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 (penambahan, kemudian perbandingan)
  4. NOT (2 + 2 = 4) (logika NOT)
  5. 5 > 3 AND 10 / 2 = 5 (logika AND)
  6. Hasil step 5 OR hasil step 4 (logika OR)

Ketika Anda menjalankan kode ini, Anda akan melihat:

Hasil adalah TRUE

Dan itu adalah semuanya! Kita telah meliputi jenis utama operator dalam PL/SQL. Ingat, latihan adalah kunci. Cobalah menulis contoh kode Anda sendiri dan eksperimen dengan kombinasi operator yang berbeda. Sebelum Anda tahu, Anda akan dapat menulis pernyataan PL/SQL kompleks dengan mudah!

Credits: Image by storyset