PL/SQL - Loop: Gerbang Menuju Pemrograman Efisien

Hai teman-teman, bakal bintang pemrograman masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia loop PL/SQL. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya disini untuk mengarahkan Anda melalui petualangan ini, langkah demi langkah. Jadi, pasang sabuk pengaman Anda dan mari kita masuk ke dalam!

PL/SQL - Loops

Memahami Loop: Dasar-Dasar

Sebelum kita masuk ke dalam hal yang membingungkan, mari kita memahami apa itu loop. Bayangkan Anda diberi tugas menulis "Saya cinta pemrograman" di papan tulis 100 kali. Suara membosankan, kan? Itu adalah tempat loop datang untuk menyelamatkan! Mereka memungkinkan kita untuk mengulangi setiap instruksi beberapa kali tanpa menulis kode yang sama berulang-ulang.

Dalam PL/SQL, kita memiliki tiga jenis loop utama:

  1. LOOP
  2. FOR LOOP
  3. WHILE LOOP

Mari kita jelajahi masing-masing dari ini.

1. Loop Sederhana

Loop sederhana adalah seperti anak anjing yang gampang marah memburu ekornya sendiri - ia terus berputar dan berputar sampai Anda memberitahunya untuk berhenti. Berikut adalah penampilannya:

LOOP
-- Kode Anda disini
EXIT WHEN kondisi;
END LOOP;

mari lihat contoh praktis:

DECLARE
v_counter NUMBER := 1;
BEGIN
LOOP
DBMS_OUTPUT.PUT_LINE('Iterasi Loop: ' || v_counter);
v_counter := v_counter + 1;
EXIT WHEN v_counter > 5;
END LOOP;
END;

Dalam contoh ini, kita mencetak nomor iterasi loop. Loop ini terus berlanjut sampai penghitung melebihi 5. Itu seperti menghitung domba untuk tidur, tetapi kita berhenti di 5 karena kita adalah pemrogram yang efisien, bukan insomni!

2. FOR LOOP

FOR LOOP adalah seperti seorang panduan yang terorganisir. Ia tahu tepat berapa kali ia perlu mengulang dan berhenti secara otomatis. Berikut adalah sintaksenya:

FOR counter IN [REVERSE] lower_bound..upper_bound LOOP
-- Kode Anda disini
END LOOP;

mari lihatnya dalam aksi:

BEGIN
FOR i IN 1..5 LOOP
DBMS_OUTPUT.PUT_LINE('Iterasi ' || i || ': Saya cinta PL/SQL!');
END LOOP;
END;

Loop ini akan mencetak "Saya cinta PL/SQL!" lima kali, setiap kali dengan nomor iterasinya. Itu seperti menetapkan tujuan untuk memuji PL/SQL lima kali sehari - dapat dicapai dan spesifik!

3. WHILE LOOP

WHILE LOOP adalah seperti seorang pengemudi yang hati-hati. Ia memeriksa kondisi sebelum melanjutkan setiap iterasi. Berikut adalah bagaimana ia bekerja:

WHILE kondisi LOOP
-- Kode Anda disini
END LOOP;

mari lihat contohnya:

DECLARE
v_sum NUMBER := 0;
v_counter NUMBER := 1;
BEGIN
WHILE v_sum < 10 LOOP
v_sum := v_sum + v_counter;
DBMS_OUTPUT.PUT_LINE('Jumlah: ' || v_sum || ', Penghitung: ' || v_counter);
v_counter := v_counter + 1;
END LOOP;
END;

Loop ini menambahkan angka (1, 2, 3, ...) sampai jumlah melebihi 10. Itu seperti mengisi tabungan sampai Anda memiliki cukup untuk perangkat baru yang berkilau!

Pelabelan Loop PL/SQL

Sekarang, mari bicara tentang pelabelan loop. Itu seperti memberi nama pada loop Anda - itu membantu Anda mengidentifikasi dan mengendalikan itu lebih baik, khususnya ketika Anda memiliki loop bersarang. Berikut adalah cara Anda melabeli loop:

<<label_loop>>
LOOP
-- Kode Anda disini
END LOOP label_loop;

mari lihat contohnya dengan loop bersarang:

<<outer_loop>>
FOR i IN 1..3 LOOP
<<inner_loop>>
FOR j IN 1..3 LOOP
DBMS_OUTPUT.PUT_LINE('Luar: ' || i || ', Dalam: ' || j);
IF i = 2 AND j = 2 THEN
EXIT outer_loop;
END IF;
END LOOP inner_loop;
END LOOP outer_loop;

Dalam contoh ini, kita keluar dari loop luar ketika i=2 dan j=2. Itu seperti permainan boneka Rusia bersarang, tetapi kita memutuskan untuk berhenti membuka mereka setengah jalan!

Statement Kendali Loop

Statement kendali loop adalah seperti roda pengendali kendaraan loop Anda. Mereka membantu Anda mengarahkan eksekusi loop Anda. Mari kita lihat statement utama ini:

Statement Deskripsi
EXIT Keluar dari loop secara langsung
EXIT WHEN Keluar dari loop ketika suatu kondisi benar
CONTINUE Lewati sisanya iterasi saat ini dan pindah ke berikutnya
CONTINUE WHEN Lewati sisanya iterasi saat ini ketika suatu kondisi benar

mari lihat contoh penggunaan statement ini:

DECLARE
v_counter NUMBER := 0;
BEGIN
LOOP
v_counter := v_counter + 1;

-- Lewati bilangan ganjil
CONTINUE WHEN MOD(v_counter, 2) != 0;

DBMS_OUTPUT.PUT_LINE('Bilangan genap: ' || v_counter);

-- Keluar ketika kita mencapai 10
EXIT WHEN v_counter = 10;
END LOOP;
END;

Loop ini mencetak bilangan genap dari 2 hingga 10. Itu seperti pengunjung yang pemilihannya memakan makanan yang terlihat ganjil dan berhenti ketika mereka kenyang!

Kesimpulan

Dan begitu, teman-teman! Kita telah melintasi dunia loop PL/SQL. Ingat, loop adalah alat yang kuat dalam kotak alat pemrograman Anda. Mereka membantu Anda otomatisasi tugas yang berulang, memproses data secara efisien, dan membuat kode Anda lebih elegan.

Sekiranya Anda berlatih, Anda akan merasa lebih nyaman dengan konsep ini. Jangan takut untuk mencoba - itu adalah bagaimana kita semua belajar dan tumbuh sebagai pemrogram. Dan siapa tahu? Mungkin suatu hari Anda akan menulis loop dalam tidur Anda (walaupun saya harap tidak, untuk kebaikan bantal Anda)!

Terus coding, terus belajar, dan yang paling penting, terus bersenang-senang dengan PL/SQL!

Credits: Image by storyset