Apa itu For Loop?
Pernyataan "FOR LOOP" paling cocok ketika Anda ingin mengeksekusi kode untuk beberapa kali yang diketahui daripada berdasarkan pada beberapa kondisi lain.
Dalam loop ini, batas bawah dan batas atas akan ditentukan dan selama variabel loop berada di antara rentang ini, loop akan dieksekusi.
Variabel loop adalah self-incremental, jadi tidak diperlukan operasi increment eksplisit dalam loop ini. Variabel loop tidak perlu dideklarasikan, karena ia dideklarasikan secara implisit.
FORPenjelasan Sintaks:in … LOOP … END LOOP;
- Dalam sintaks di atas, kata kunci 'FOR' menandai awal loop dan 'END LOOP' menandai akhir loop.
- Variabel loop dievaluasi setiap kali sebelum menjalankan bagian eksekusi.
- Blok eksekusi berisi semua kode yang perlu dieksekusi. Bagian eksekusi dapat berisi pernyataan eksekusi apa pun.
- Loop_variable dideklarasikan secara implisit selama eksekusi seluruh loop, dan cakupan loop_variable ini hanya akan berada di dalam loop ini.
- Jika variabel loop keluar dari range, maka kontrol akan keluar dari loop.
- Perulangan dapat dibuat untuk bekerja dalam urutan terbalik dengan menambahkan kata kunci 'REVERSE' sebelum lower_limit.
Contoh 1 : Dalam contoh ini, kita akan mencetak angka dari 1 sampai 5 menggunakan pernyataan loop FOR. Untuk itu, kami akan mengeksekusi kode berikut.
BEGINdbms Qutput.put linef.Prp.gram started.' );FOR a IN 1… 5LOOPdbms_output.put_line(a);END LOOP:dbms_output.put_iine('Program completed.');END;/
Penjelasan Kode:
- Baris kode 2 : Mencetak pernyataan "Program dimulai".
- Baris kode 3: Kata kunci 'FOR' menandai awal dari loop dan loop_variable 'a' dideklarasikan. Sekarang akan memiliki nilai mulai dari 1 hingga 5
- Baris kode 5: Mencetak nilai 'a'.
- Baris kode 6: Kata kunci 'END LOOP' menandai akhir dari blok eksekusi.
- Kode dari baris 5 akan terus dijalankan hingga 'a' mencapai nilai 6, karena kondisi akan gagal, dan kontrol akan KELUAR dari loop.
- Baris kode 7: Mencetak pernyataan "Program selesai"
Loop Bersarang
Pernyataan loop juga bisa disarangkan. Loop luar dan dalam dapat terdiri dari berbagai jenis. Dalam loop bersarang, untuk setiap nilai iterasi dari loop luar, loop dalam akan dieksekusi sepenuhnya.
LOOP -outerPenjelasan Sintaks:LOOP - inner END LOOP; END LOOP;
- Dalam sintaks di atas, loop luar memiliki satu loop lagi di dalamnya.
- Loop dapat dari semua jenis dan bagian fungsionalitas eksekusi sama.
Contoh 1 : Dalam contoh ini, kita akan mencetak angka dari 1 hingga 3 menggunakan pernyataan loop FOR. Setiap nomor akan dicetak sebanyak nilainya. Untuk itu, kami akan mengeksekusi kode berikut.
DECLAREb NUMBER;BEGINdbms output put line(‘Program started' );FOR a IN 1… 3LOOPb:=1;WHILE (a>=b)LOOPdbms output put line(a);b:=b+1;END LOOP; END LOOP; dbms_output.put_line('Program completed' );END;/
Penjelasan Kode:
- Baris kode 2 : Mendeklarasikan variabel 'b' sebagai tipe data 'NUMBER'.
- Baris kode 4 : Mencetak pernyataan "Program dimulai".
- Baris kode 5: Kata kunci 'FOR' menandai awal dari loop dan loop_variable 'a' dideklarasikan. Sekarang akan memiliki nilai mulai dari 1 hingga 3
- Baris kode 7: Menyetel ulang nilai 'b' menjadi '1' setiap kali.
- Baris kode 8: Inner while loop memeriksa kondisi a> = b.
- Baris kode 10: Mencetak nilai 'a' selama kondisi di atas terpenuhi.
- Baris kode 14: Mencetak pernyataan "Program selesai"
Ringkasan
Loop | UNTUK Loop |
Kriteria KELUAR | Keluar saat penghitung mencapai batas |
Pemakaian | Baik untuk digunakan ketika jumlah loop yang akan dieksekusi diketahui. |