Looping
Struktur iterasi (looping) memungkinkan eksekusi blok statemen secara berulang selama kondisi yang didefinisikan bernilai TRUE.
Looping terbagi atas 3 bagian yaitu :
· Simple LOOP
· FOR
· WHILE
Untuk keluar dari kontrol iterasi menuju statemen-statemen di bawah blok iterasi (setelah posisi END LOOP) dapat menggunakan statemen EXIT atau EXIT WHEN.
Simple LOOP
Struktur simple LOOP digunakan bila diinginkan minimal iterasi dijalankan satu kali. Dalam struktur ini harus ditambahkan statemen EXIT WHEN untuk menghindari eksekusi tak terbatas (infinitif).

LOOP
Statemen-statemen ;
END LOOP ;
Contoh :DECLARE
i NUMBER(3);
hasil NUMBER(5);
BEGIN
i:=1;
WHILE i <= 10 LOOP
hasil := i**3;
DBMS_OUTPUT.PUT_LINE(i ||' pangkat 3 = '|| hasil );
i := i + 1;
END LOOP;
END;
/
Tampilan yang akan keluar adalah sbb :
Statemen FOR
Struktur FOR tidak memiliki kondisi, sehingga perlu didefinisikan indeks minimal dan maksimal sebagai batas iterasi. Umumnya struktur ini digunakan untuk iterasi yang banyaknya sudah diketahui dengan pasti.

FOR var IN [REVERSE] indeks_min . . indeks_max LOOP
Statemen-statemen ;
END LOOP ;
o Variabel iterasi (var) tidak perlu dideklarasi karena PL/SQL melakukan deklarasi secara implicit dan variable ini berlaku dalam LOOP itu saja.
o Kata REVERSE akan membuat iterasi dimulai dari indeks_max dan berkurang satu untuk proses iterasi. Demikian seterusnya sehingga var = indeks_min.
o Bila nilai indeks_max < indeks_min, proses iterasi tidak dilakukan.
Contoh :
Declarei number(3);
BEGIN
FOR i IN 1..10 LOOP
DBMS_OUTPUT.PUT_LINE('Ini angka ' || i );
END LOOP;
END;
/
Tampilan yang akan keluar adalah sbb :
Statemen WHILE
Struktur WHILE selalu memeriksa kebenaran kondisi di awal blok iterasi.
Bila kondisi bernilai FALSE, maka statemen-statemen dalam blog iterasi tidak akan dieksekusi.

WHILE kondisi LOOP
Statemen-statemen ;
END LOOP ;
Contoh :DECLARE
hasil NUMBER(5);
BEGIN
i:=1;
WHILE i <= 10 LOOP
hasil := i**3;
DBMS_OUTPUT.PUT_LINE(i ||' pangkat 3 = '|| hasil
);
i := i + 1;
END LOOP;
END;
/
Tampilan yang akan keluar adalah sbb :
Statemen EXIT dan EXIT WHEN
Kedua statemen ini digunakan untuk keluar dari blog iterasi tanpa melanjutkan proses yang sedang dilakukan.
EXIT WHEN kondisi ;
Jika diatas identik dengan maka memakai perintah berikut :

IF kondisi THEN
EXIT ;
END IF ;
contoh :
DECLAREtotal NUMBER(9);
counter NUMBER(6);
BEGIN
total := 0;
counter := 10;
LOOP
total := total + counter;
EXIT WHEN total > 50;
DBMS_OUTPUT.PUT_LINE(' Total: ' || total);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Counter: ' || counter);
END;
/
Tampilan yang akan keluar adalah sbb :
.jpg)
0 komentar:
Posting Komentar