Cara Menggunakan Perulangan (Looping) di Oracle PL/SQL
Oracle PL/SQL mempunyai 3 jenis perulangan (looping), yaitu:
- Perulangan sederhana (Simple Looping)
- Perulangan FOR (FOR Looping)
- dan Perulangan WHILE (WHILE Looping)
Ketiga jenis perulangan diatas, akan kita bahas secara detail pada tutorial Oracle PL/SQL kali ini.
Simple Looping
Simple Looping atau dikenal juga dengan Basic Looping adalah perulangan yang sangat sederhana yang akan mengeksekusi program tanpa batasan waktu. Perulangan akan berhenti ketika ada statement EXIT atau EXIT WHEN.Sintak Dasar:
Dibawah ini adalah sintak dasar penggunaan Simple Looping / Perulangan sederhana.
LOOP
statement;
END LOOP;
Contoh:
Dibawah ini adalah contoh program looping sederhana untuk mencetak bilangan 1 sampai dengan 5 dengan menggunakan operator penambahan (+). Perulangan akan berhenti ketika bilangan = 6, yaitu dengan adanya statement EXIT.
DECLARE
bilangan NUMBER := 1;
BEGIN
-- Program Mencetak Bilangan 1 s/d 5
LOOP
DBMS_OUTPUT.PUT_LINE ('Bilangan = ' || bilangan);
bilangan := bilangan + 1;
IF bilangan = 6 THEN
-- Jika bilangan = 6, keluar dari blok looping
EXIT;
END IF;
END LOOP;
END;
/
Contoh program diatas, apabila dijalankan maka akan menghasilkan output seperti dibawah ini:
Bilangan = 1
Bilangan = 2
Bilangan = 3
Bilangan = 4
Bilangan = 5
PL/SQL procedure successfully completed.
FOR Looping
FOR Looping adalah perulangan dimana kita telah menentukan batas minimal dan maksimal untuk dilakukan proses perulangan (looping).Sintak Dasar:
Di bawah ini adalah sintak dasar penggunaan FOR looping:
FOR nilai IN [ REVERSE ] nilai_bawah..nilai_atas LOOP
statement;
END LOOP
Contoh:
Dibawah ini adalah contoh program FOR Looping untuk mencetak bilangan 1 sampai dengan 5.
BEGIN
-- Program untuk mencetak bilangan 1 s/d 5
FOR no IN 1 .. 5 LOOP
DBMS_OUTPUT.PUT_LINE('Bilangan : ' || no);
END LOOP;
END;
/
Apabila program diatas dijalankan, maka akan keluar output seperti dibawah ini:
Bilangan : 1
Bilangan : 2
Bilangan : 3
Bilangan : 4
Bilangan : 5
Bagaimana caranya agar kita dapat mencetak bilangan 5 sampai dengan 1 dengan menggunakan looping? Caranya adalah menggunakan tambahan keyword REVERSE pada FOR LOOP diatas, seperti contoh program dibawah ini.
BEGIN
-- Program untuk mencetak bilangan 5 s/d 1 Menggunakan REVERSE
FOR no IN REVERSE 1 .. 5 LOOP
DBMS_OUTPUT.PUT_LINE('Bilangan : ' || no);
END LOOP;
END;
/
Coba Anda jalankan program diatas, maka akan menghasilkan output seperti dibawah ini:
Bilangan : 5
Bilangan : 4
Bilangan : 3
Bilangan : 2
Bilangan : 1
WHILE Looping
WHILE Looping adalah perulangan yang menggunakan eskpresi boolean, artinya akan dicek terlebih dahulu sebelum melakukan perulangan. Apabila kondisi bernilai TRUE, maka perulangan akan dijalankan sampai kondisi tidak terpenuhi. Sebaliknya kalau bernila FALSE, maka akan keluar dari blok perulangan.Sintak Dasar:
Dibawah ini adalah sintak dasar penggunakan WHILE Looping:
WHILE kondisi LOOP
statement;
END LOOP
Contoh:
Dibawah ini adalah contoh program WHILE Looping untuk mencetak bilangan 1 sampai dengan 5 beserta jumlahnya.
DECLARE
no NUMBER := 0;
jumlah NUMBER := 0;
BEGIN
-- Program mencetak angkan 1 s/d 5 dan jumlahnya
WHILE no < 5 LOOP
no := no + 1;
jumlah := jumlah+no;
DBMS_OUTPUT.PUT_LINE('Angka :' || no);
END LOOP;
DBMS_OUTPUT.PUT_LINE('Jumlah :' || jumlah);
END;
/
Coba Anda jalankan program diatas, maka akan menghasilkan output seperti dibawah ini.
Angka :1
Angka :2
Angka :3
Angka :4
Angka :5
Jumlah :15
PL/SQL procedure successfully completed.
Referensi
- Oracle Database PL/SQL Reference - FOR Loop.
- Oracle Database PL/SQL Reference - WHILE Loop.
- Oracle Database PL/SQL Reference - Basic Loop.
Sekian tutorial singkat Bagaimana Cara Menggunakan Perulangan (Looping) di Oracle PL/SQL. Semoga bermanfaat & Selamat Belajar Oracle PL/SQL.
Jika Anda menyukai tutorial ini, silahkan Anda share dan Anda bagikan dengan teman-teman Anda, dan jika Anda ingin berdiskusi tentang judul tutorial diatas, atau pun mau bertanya tentang tutorial ini silahkan Anda untuk menggunakan fasilitas komentar untuk berdiskusi dan bertanya di blog ini.
Salam,
~Nursalim~
Naura-Lab.blogspot.com
Comments
Post a Comment