Di bawah ini adalah salah satu contoh PL/SQL :
DECLARE
result varchar2(5);
BEGIN
result := '';
FOR i IN 1..5 LOOP
FOR j IN REVERSE i..5 LOOP
result := result || '*';
END LOOP;
dbms_output.put_line(result);
result := '';
END LOOP;
FOR i IN REVERSE 1..4 LOOP
FOR j IN REVERSE i..5 LOOP
result := result || '*';
END LOOP;
dbms_output.put_line(result);
result := '';
END LOOP;
END;
Kemudian berikut adalah penjelasan program di atas.
DECLARE
result varchar2(5);
Mendeklarasikan variable result dengan tipe varchar2 dan memiliki panjang karakter sama dengan lima(5).
BEGIN
result := '';
mengisi variable result sama dengan ‘’.
FOR i IN 1..5 LOOP
FOR j IN REVERSE i..5 LOOP
result := result || '*';
END LOOP;
dbms_output.put_line(result);
result := '';
END LOOP;
Melakukan nested FOR LOOP, dengan perulangan pertama dari 1 sampai dengan 5 kemudian di perulangan kedua yang ada dalam perulangan pertama mulai dari 5 sampai nila variable i saat itu. Pada perulangan kedua dapat terbalik dikarenakan menggunakan REVERSE untuk membalik.
Sedangkan dalam perulangan kedua, isi variable result akan di concat/digabungkan dengan ‘*’.
Kemudian setelah perulangan kedua selesai akan di keluarkan isi variable result dengan statement dbms_output.put_line(result);
Setelah itu nilai variable result akan di isi sama dengan ‘’.
FOR i IN REVERSE 1..4 LOOP
FOR j IN REVERSE i..5 LOOP
result := result || '*';
END LOOP;
dbms_output.put_line(result);
result := '';
END LOOP;
END;
Pada bagian kedua dari Nested FOR LOOP ini sedikit berbeda dengan yang pertama, seperti :
- Untuk kedua perulangan menggunakan statement REVERSE yang berfungsi untuk membalik urutan nilai i dan j.
- Nilai awal perulangan pertama dimulai dari 4, bertujuan menyesuaikan output yang diminta pada Laporan Akhir ini.
Penjelasannya sama saja perulangan kedua yaitu untuk nilai akhir variable j akan sama dengan nilai i pada saat LOOP, Yaitu dari 5 sampai i.
Hasilnya seperti gambar di bawah ini.
No comments:
Post a Comment