Rabu, 06 April 2011

Kondisi pada PL/SQL

1. KONDISI

KONDISI adalah struktur yang terdiri dari perintah-perintah IF dan CASE.Terdapat tiga bentuk perintah-perintah IF: IF-THEN, IF-THEN-ELSE, dan IF-THEN-ELSE-IF.

2. Macam-macam kondisi & bentuk umum :

a. Perintah IF-THEN

Bentuk umum :

IF condition THEN
sequence_of_statements
END IF;

Rangkaian perintah-perintah dieksekusi hanya jika
kondisi adalah true. Jika kondisi bernilai false atau null, perintah IF tidak melakukan apa-apa. Dalam salah satu kasus, kontrol berlalu kepada perintah selanjutnya.

b. Perintah IF-THEN-ELSE


Bentuk umum :

IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;

Rangkaian perintah-perintah dalam klausa ELSE dieksekusi hanya jika kondisi bernilai false atau null. Jadi, klausa ELSE memastikan bahwa rangkaian perintah-perintah tersebut dieksekusi.

c. Perintah IF-THEN-ELSE-IF


Bentuk umum :

IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;

Jika kondisi pertama bernilai false atau null, klausa ELSIF akan menguji kondisi lainnya. Perintah IF dapat memiliki sejumlah klausa ELSIF; klausa final ELSE bersifat opsional (bisa digunakan atau tidak). Kondisi-kondisi dievaluasi satu demi satu dari atas ke bawah. Jika suatu kondisi bernilai true, rangkaian perintah-perintah yang ada di dalamnya dieksekusi dan kontrol akan menuju ke perintah selanjutnya. Jika seluruh kondisi bernilai false atau null, maka rangkaian perintah-perintah di dalam klausa ELSE yang akan dieksekusi.


d. Perintah CASE

Seperti halnya perintah IF, perintah CASE menyeleksi satu rangkaian perintah-perintah untuk dieksekusi. Namun, untuk menyeleksi rangkain perintah-perintah tersebut, perintah CASE menggunakan penyeleksi, bukannya menggunakan banyak ekspresi-ekspresi Boolean.
Bentuk umum :

[<>]
CASE selector
WHEN expression1 THEN sequence_of_statements1;
WHEN expression2 THEN sequence_of_statements2;

WHEN expressionN THEN sequence_of_statementsN;
[ELSE sequence_of_statementsN+1;]
END CASE [label_name];





2. Contoh Program Sederhana menggunakan kondisi :

SET SETVEROUTPUT ON
DECLARE
J NUMBER;
JUM VARCHAR(20);
BEGIN
SELECT COUNT(*) INTO J FROM TAB;
IF J=1 THEN
JUM := ’SATU’;
ELSIF J=2 THEN
JUM := ’DUA’;
ELSIF J=3 THEN
JUM := ’TIGA’;
ELSIF J=4 THEN
JUM := ’EMPAT’;
ELSIF J=5 THEN
JUM := ’LIMA’;
END IF;
DBMS_OUTPUT.PUT_LINE(‘JUMLAH TABEL = ’||J||’ (’||JUM||’)’);
END;
/


a. Contoh Case dalam PL/SQL


SET SETVEROUTPUT ON
DECLARE
J NUMBER;
JUM VARCHAR(20);
BEGIN
SELECT COUNT(*) INTO J FROM TAB;
JUM := CASE J
WHEN 1 THEN ’SATU’
WHEN 2 THEN ’DUA’
WHEN 3 THEN ’TIGA’
WHEN 4 THEN ’EMPAT’
WHEN 5 THEN ’LIMA’
END;
DBMS_OUTPUT.PUT_LINE(’JUMLAH TABEL = ’||J||’ (’||JUM||’)’);
END;
/

Perulangan pada PL/SQL

1. Perulangan pada PL/SQL

Perulangan
Perulangan (looping) adalah suatu blok yang memperbolehkan anda untuk mengulang statement-statement dalam sebuah blok PL/SQL.

Perulangan pada PL/SQL ada 3 macam, diantaranya :
a. Menggunakan Simple Loop
Perlu di deklarasikan kondisi awal perulangan, proses ini dikenal dengan proses inisialisasi nilai. dalam blok perulangan ini perlu di deklarasikn kondisi untuk berhenti,,, yaitu exit.


b. Menggunakan Statement For
Struktur ini biasanya digunakan untuk melakukan pengulangan yang banyaknya sudah diketahui dengan pasti.

c. Menggunakan Struktur While
Struktur ini memeriksa kebenaran kondisinya dibagian awal blok atau badan perulangan pengulangan ini mirip dengan struktur simple loop.

a. Bentuk Umum Perulangan

statement_1;
. . .
EXIT WHEN kondisi;
END LOOP;

+ Bentuk Umum Kondisi
IF kondisi THEN
statement_1;
. . .
b. Contoh program sederhana menggunakan perulangan pada PL/SQL


DECLARE
J INTEGER;
BEGIN
J := 0;
LOOP
J := J + 1;
DBMS_OUTPUT.PUT_LINE ('Test Looping');
EXIT WHEN J = 10;
END LOOP;
END;
/