Senin, 16 April 2012
PERCABANGAN Dalam PL/SQL Oracle
Setiap pembahasan materi PL/SQL Oracle selalu tidak dapat dipisahkan dengan pembahasan materi percabangan. Yang dimaksud dengan Percabangan adalah opsi atau pilihan yang didasarkan atas satu atau beberapa kondisi tertentu. Sebuah atau beberapa statemen akan di jalankan jika kondisi tersebut bernilai TRUE dan sebaliknya tidak akan dieksekusi jika kondisi tersebut tidak terpenuhi.
Secara umum di dalam PL/SQL Oracle, struktur percabangan dibagi menjadi 3 struktur, yaitu :
A. Struktur percabangan dengan satu kondisi
B. Struktur percabangan dengan dua kondisi
C. Struktur percabangan dengan tiga kondisi
Bentuk Umum Penulisan
Struktur percabangan dengan satu kondisi
IF kondisi THEN
Statemen_1;
...
END IF;
Struktur percabangan dengan dua kondisi
IF kondisi THEN
Statemen_1;
...
ELSE
Statemen_2;
...
END IF;
Struktur percabangan dengan tiga kondisi atau lebih.
IF kondisi_1 THEN
Statemen_1;
...
ELSIF kondisi 2 THEN
Statemen_2;
...
ELSE
Statemen_3;
...
END IF;
1. Contoh percabangan dengan satu kondisi
- Menentukan sebuah bilangan Bulat apakah termasuk kedalam bilangan
Genap atau Ganjil
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
BIL INTEGER := 100;
BEGIN
IF MOD(BIL,2)=0 THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(BIL)|| ' adalah bilangan Genap');
END IF;
END;
- Menentukan bilangan terbesar dan terkecil dari sebuah bilangan bulat
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
bil_1 INTEGER;
bil_2 INTEGER;
BEGIN
bil_1 := 300;
bil_2 := 200;
IF bil_1 > bil_2 THEN
DBMS_OUTPUT.PUT_LINE('Bilangan tebesar adalah : '|| TO_CHAR(bil_1)
||', terkecil adalah : ' || TO_CHAR(bil_2));
END IF;
END;
2. Contoh percabangan dengan dua kondisi
- Menentukan sebuah bilangan Bulat apakah termasuk kedalam bilangan
Genap atau Ganjil
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
bil INTEGER := 99;
BEGIN
IF MOD(bil,2)=0 THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(bil)|| ' adalah bilangan Genap');
ELSE
DBMS_OUTPUT.PUT_LINE(TO_CHAR(bil)|| ' adalah bilangan Ganjil');
END IF;
END;
- Menentukan bilangan terbesar dan terkecil dari sebuah bilangan bulat
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
bil_1 INTEGER;
bil_2 INTEGER;
BEGIN
bil_1 := 300;
bil_2 := 200;
IF bil_1 > bil_2 THEN
DBMS_OUTPUT.PUT_LINE('Bilangan tebesar adalah : ' || TO_CHAR(bil_1)
||', terkecil adalah : ' || TO_CHAR(bil_2));
ELSE
DBMS_OUTPUT.PUT_LINE('Bilangan tebesar adalah : ' || TO_CHAR(bil_2)
||', terkecil adalah : ' || TO_CHAR(bil_1));
END IF;
END;
3. Contoh percabangan dengan Tiga kondisi
- Menentukan sebuah bilangan Bulat apakah termasuk kedalam bilangan
Genap atau Ganjil
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
bil INTEGER := -9;
BEGIN
IF MOD(bil,2)=0 THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(bil)|| ' adalah bilangan Genap');
ELSIF MOD(bil,2)=1 THEN
DBMS_OUTPUT.PUT_LINE(TO_CHAR(bil)|| ' adalah bilangan Ganjil');
ELSE
DBMS_OUTPUT.PUT_LINE('Bilangan tsb adalah Bilangan negatif');
END IF;
END;
- Menentukan bilangan terbesar dan terkecil dari sebuah bilangan bulat
-----------------------------------------------------------------------
SET SERVEROUTPUT ON
DECLARE
bil_1 INTEGER;
bil_2 INTEGER;
BEGIN
bil_1 := 300;
bil_2 := 200;
IF bil_1 > bil_2 THEN
DBMS_OUTPUT.PUT_LINE('Bilangan tebesar adalah : ' || TO_CHAR(bil_1)
||', terkecil adalah : ' || TO_CHAR(bil_2));
ELSIF bil_1 > bil_2 THEN
DBMS_OUTPUT.PUT_LINE('Bilangan tebesar adalah : ' || TO_CHAR(bil_2)
||', terkecil adalah : ' || TO_CHAR(bil_1));
ELSE
DBMS_OUTPUT.PUT_LINE('Bilangan ke-1 dan 2 adlh sama yaitu : '||bil_1);
END IF;
END;
Demikian sedikit sharing mengenai percabangan yang biasa digunakan pada PL/SQL Oracle.
Langganan:
Posting Komentar (Atom)
mas mau tanya saya punya koding seperti ini
BalasHapus--------------------
declare
v_stock barang.stok_barang%type;
begin
select stok_barang into v_stock from barang
where lower(nama_barang)=lower('lemari es');
IF v_stock>=10 then
dbms_output.put_line('persediaan barang masih banyak');
ELSEIF v_stock <=10 then
dbms_output.put_line('persediaan barang kurang dari 10');
ELSE
dbms_output.put_line('persediaan barang habis');
end if;
end;
/
-------------------------------------------
waktu saya kompile saya kok dapat pesan kesalahan seperti ini kira kira kode yang kurang apa ya mas ?
tolong pencerahannya,,,,
kesalahannya di elseif, seharusnya di tulis elsif
Hapusterimakasih sangat membantu
HapusKomentar ini telah dihapus oleh pengarang.
BalasHapus