1. Sebutkan macam-macam kondisi dan perulangan pada
PL/SQL !
2. Berikan satu contoh kondisi dan perulangan pada
PL/SQL !
Jawab :
1.
*KONDISI PADA PL/SQL
Terdapat tiga bentuk kondisi dalam PL/SQL
yaitu IF-THEN, IF-THEN-ELSE, dan IF-THEN-ELSIF. Berikut ini penjelasannya :
a. IF-THEN
Rangkaian perintah-perintah dieksekusihanya jika kondisi adalah
true.
Bentuk umum :
IF condition THEN
sequence_of_statements
END IF;
IF condition THEN
sequence_of_statements
END IF;
Rangkaian perintah-perintah dalam klausa
ELSE dieksekusihanya jika kondisi bernilai false atau null.
Bentuk umum :
IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;
IF condition THEN
sequence_of_statements1
ELSE
sequence_of_statements2
END IF;
c. IF-THEN-ELSIF
Jika kondisi pertama bernilai
false atau null, klausa ELSIF akan menguji kondisilainnya. Bentu kumum :
IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;
IF condition1 THEN
sequence_of_statements1
ELSIF condition2 THEN
sequence_of_statements2
ELSE
sequence_of_statements3
END IF;
d. CASE
Seperti halnya perintah IF,
perintah CASE menyeleksi satu rangkaian perintah-perintah untuk dieksekusi.
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];
[<>]
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];
*PERULANGAN PADA PL/SQL
Terdapat tiga bentuk perulangan dalam PL/SQL
yaitu LOOP, WHILE-LOOP dan FOR-LOOP. Berikut ini penjelasannya :
a. LOOP
Dengan setiap perulangan dari setiap putaran,
rangkaian perintah-perintah dieksekusi, lalu kontrol mulai lagi menuju ke awal putaran.
Bentuk umum :
LOOP
sequence_of_statements
END LOOP;
LOOP
sequence_of_statements
END LOOP;
b. WHILE-LOOP
Sebelum setiap perulangan dari
loop, kondisi dievaluasi. Jika kondisi true,
rangkaian perintah-perintah dieksekusi, kemudian kontrol kembali keawal
loop.Jika kondisi false atau null, loop
diabaikan dan kontrol menuju ke perintah selanjutnya.
Bentuk umum :
WHILE condition LOOP
sequence_of_statements
END LOOP;
WHILE condition LOOP
sequence_of_statements
END LOOP;
c. FOR-LOOP
Jumlah perulangan melalui
loop FOR telah diketahui sebelum loop dijalankan. Loop-loop FOR
berulang sejumlah jangkauan integer tertentu. Jangkauan ini adalah bagian dari
iteration scheme, yang diapitoleh kata-kata kunci FOR dan LOOP.
Bentu kumum :
FOR counter IN [REVERSE] lower_bound..higher_bound LOOP
sequence_of_statements
END LOOP;
Jangkauan dievaluasi ketika loop FOR pertama kali dijalankan dan tidak pernah dievaluasi ulang.
FOR counter IN [REVERSE] lower_bound..higher_bound LOOP
sequence_of_statements
END LOOP;
Jangkauan dievaluasi ketika loop FOR pertama kali dijalankan dan tidak pernah dievaluasi ulang.
2. *CONTOH KONDISI
set serveroutput on
set verify off
declare
bilinteger :=&bil;
begin
if mod (bil, 2) = 0 then
dbms_output.put_line (bil||' adalah bilangan genap');
else
dbms_output.put_line (bil||' adalah bilangan ganjil');
end if;
end;
/
set serveroutput on
set verify off
declare
bilinteger :=&bil;
begin
if mod (bil, 2) = 0 then
dbms_output.put_line (bil||' adalah bilangan genap');
else
dbms_output.put_line (bil||' adalah bilangan ganjil');
end if;
end;
/
*CONTOH PERULANGAN :
set serveroutput on
set verify off
declare
A Integer ;
begin
A := 1 ;
While (A < 3) LOOP
dbms_output.PUT_LINE(A);
A := A + 1 ;
END loop;
end;
/
set verify off
declare
A Integer ;
begin
A := 1 ;
While (A < 3) LOOP
dbms_output.PUT_LINE(A);
A := A + 1 ;
END loop;
end;
/
Tidak ada komentar:
Posting Komentar