PL/SQL - Loop: Portalanda Kebenaran Pemrograman yang Efisien
Hai sana, bakat coding superstars masa depan! Hari ini, kita akan melangkah ke dalam dunia menarik PL/SQL loops. Sebagai guru komputer tetangga yang ramah, saya disini untuk mengorbit Anda melalui perjalanan ini, langkah demi langkah. Jadi, sabitkan seatbelt Anda dan mari kita masuk ke dalam!
Mengerti Loops: Dasar-Dasar
Sebelum kita melompat ke hal-hal yang mendalam, mari kita mengerti apa sebenarnya loops. Bayangkan Anda diberi tugas menulis "Saya cinta coding" di papan hitam 100 kali. Bercita-cita, kan? Itu adalah tempat loops datang untuk menyelamatkan! Mereka memungkinkan kita untuk mengulangi set instruksi beberapa kali tanpa menulis kode yang sama berulang-ulang lagi.
Dalam PL/SQL, kita memiliki tiga jenis loop utama:
- LOOP
- FOR LOOP
- WHILE LOOP
Mari kita jelajahi masing-masing dari ini secara detil.
1. Loop Sederhana
Loop sederhana adalah seperti anjing yang tekun mengikuti ekornya - ia terus berputar dan berputar sampai Anda memberitahu dia untuk berhenti. Berikut adalah penampilannya:
LOOP
-- Kode Anda disini
EXIT WHEN condition;
END LOOP;
Mari kita 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 terus berlanjut sampai penghitung melebihi 5. Itu seperti menghitung domba untuk_tidur, tapi kita berhenti di 5 karena kita adalah pemrogram yang efisien, bukan insomni!
2. FOR LOOP
FOR LOOP adalah seperti panduan wisata yang terorganisir. Dia tahu persis berapa kali dia perlu mengulangi dan berhenti secara otomatis. Berikut adalah sintaksnya:
FOR counter IN [REVERSE] lower_bound..upper_bound LOOP
-- Kode Anda disini
END LOOP;
Mari kita 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 mengatur tujuan untuk memuji PL/SQL lima kali sehari - dapat dicapai dan spesifik!
3. WHILE LOOP
WHILE LOOP adalah seperti pengemudi yang berhati-hati. Dia memeriksa kondisi sebelum melanjutkan setiap iterasi. Berikut adalah bagaimana ia bekerja:
WHILE condition LOOP
-- Kode Anda disini
END LOOP;
Mari kita lihat contoh:
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 tabung uang Sampah sampai Anda memiliki cukup untuk perangkat baru yang berkilau!
Menandai Loop PL/SQL
Sekarang, mari bicarakan tentang menandai loops. Itu seperti memberi nama pada loop peliharaan Anda - itu membantu Anda mengidentifikasi dan mengendalikan lebih baik, terutama ketika Anda memiliki loops bersarang. Berikut adalah bagaimana Anda menandai loop:
<<loop_label>>
LOOP
-- Kode Anda disini
END LOOP loop_label;
Berikut adalah contoh dengan loops 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, tapi kita memutuskan untuk berhenti membuka mereka setengah jalan!
Statement Kendali Loop
Statement kendali loop adalah seperti roda kemudi kendaraan loop Anda. Mereka membantu Anda mengarahkan eksekusi loop. Mari kita lihat statement utama:
Statement | Deskripsi |
---|---|
EXIT | Keluar loop segera |
EXIT WHEN | Keluar loop ketika kondisi benar |
CONTINUE | Lewati sisanya iterasi saat ini dan pindah ke berikutnya |
CONTINUE WHEN | Lewati sisanya iterasi saat ini ketika kondisi benar |
Berikut adalah contoh penggunaan statement kendali 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 ke 10. Itu seperti pengemudi yang picky melalui buffet - melewati makanan yang tampak ganjil dan berhenti ketika mereka kenyang!
Kesimpulan
Dan begitu Anda mendapatkannya, teman-teman! Kita telah melintasi dunia PL/SQL loops. Ingat, loops adalah alat kuat dalam kotak alat pemrograman Anda. Mereka membantu Anda mengautomatisasi tugas yang berulang, memproses data secara efisien, dan membuat kode Anda lebih elegan.
Sekarang, saat Anda berlatih, Anda akan menemukan diri Anda menjadi 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 loops dalam tidur Anda (walaupun saya berharap tidak, untuk kebaikan kasurnya Anda)!
Tetap coding, tetap belajar, dan terutama, tetap bersenang-senang dengan PL/SQL!
Credits: Image by storyset