Cara Menggunakan Perulangan (Looping) di Oracle PL/SQL


Oracle PL/SQL mempunyai 3 jenis perulangan (looping), yaitu:
  1. Perulangan sederhana (Simple Looping)
  2. Perulangan FOR (FOR Looping)
  3. 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


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

Jika Anda rasa artikel ini bermanfaat, saya sangat berterima kasih bila Anda mau membagikannya ke teman. Jangan lupa dapatkan update artikel terbaru dari Naura-Lab melalui email:

2 comments

Wah makasih ilmunya, sangat bermanfaat.. :)

Reply

Terimakasih.. Blognya sangat membantu pembelajaran saya..
My blog
My Campus

Reply

Post a Comment