Oracle Apex 10 - Perulangan di PL/SQL
Assalamu'alaikum
Selamat siang, salam database!!. Melanjutkan kembali pembahasan PL/SQL pada oracle Apex, kali ini saya ingin menjelaskan tentang pembahasan perulangan. Sama seperti namanya, perulangan ini digunakan untuk melakukan perulangan satu atau beberapa instruksi dan akan berhenti sampai kondisi yang kita tentukan.
Perulangan di PLSQL
Perulangan pada PL/SQL adalah sekumpulan perintah yang dapat melakukan perulangan pada suatu blok plsql yang dapat memuat beberapa nilai di dalam satu kali melakukan perintah (program) yang terdapat di dalam blok loop Bentuk sederhana perulangan pada PLSQL adalah dengan menggunakan perintah LOOP. Jika perintah loop tidak di berikan kondisi, maka perulangan akan terus di lakukan (tidak terhingga).
Instruksi loop diletakkan diantara kata kunci LOOP dan END LOOP. Pada PLSQL sendiri ada 3 jenis perulangan yang bisa digunakan. Yaitu :
- Perulangan sederhana (simple looping)
- Perulangan FOR (For Looping)
- dan Perulangan While (While Looping)
Simple Looping
Simple looping adalah jenis looping yang paling sering di gunakan pada PLSQL. Biasa digunakan untuk melakukan query dst, simple looping cocok digunakan karena penggunaannya yang simple. Sama seperti penjelasan diiatas, instruksi simple looping di letakkan di antara kata kunci LOOP dan END LOOP. Kondisi pengakhiran looping di instruksikan dengan menggunakan perintah percabangan FOR. Contohnya :
DECLARE n number (3) := 1; BEGIN DBMS_OUTPUT.PUT_LINE('*** Perulangan Menggunakan Basic Loop ***'); LOOP DBMS_OUTPUT.PUT_LINE ('Nilai dari n adalah ' || n); n := n+1; IF n > 10 THEN EXIT; END IF; END LOOP; END; |
*** Perulangan Menggunakan Basic Loop ***
Nilai dari n adalah 1
Nilai dari n adalah 2
Nilai dari n adalah 3
Nilai dari n adalah 4
Nilai dari n adalah 5
Nilai dari n adalah 6
Nilai dari n adalah 7
Nilai dari n adalah 8
Nilai dari n adalah 9
Nilai dari n adalah 10
Note : instruksi n := n+1; digunakan bukan sebagai increment perulangan tapi sebagai acuan untuk increment output dan batasan akhir yang di arahkan ke kondisi IF perulangan loop di hentikan.
For Looping
For looping adalah looping yang sering di gunakan di program-program pada umumnya. Penulisan For looping pada PL/SQL berbeda dari script perulangan For pada umumnya. Penulisan scriptnya di apit oleh FOR n IN[Kondisi] LOOP dan END LOOP. Berikut contohnya :
DECLARE n number (3); BEGIN DBMS_OUTPUT.PUT_LINE('*** Perulangan Menggunakan For Loop ***'); FOR n IN 1..10 LOOP DBMS_OUTPUT.PUT_LINE ('Nilai dari n adalah ' || n); END LOOP; END; |
*** Perulangan Menggunakan For Loop ***
Nilai dari n adalah 1
Nilai dari n adalah 2
Nilai dari n adalah 3
Nilai dari n adalah 4
Nilai dari n adalah 5
Nilai dari n adalah 6
Nilai dari n adalah 7
Nilai dari n adalah 8
Nilai dari n adalah 9
Nilai dari n adalah 10
While Looping
Tidak seperti penulisan perintah perulangan FOR yang menggunakan batasan awal..batasan akhir, instruksi while looping bisa menggunakan perintah kurang dari atau lebih dari untuk menentukan kondisi batasan akhir loopingnya. Berikut contohnya :
DECLARE n number (3) := 1; BEGIN DBMS_OUTPUT.PUT_LINE('*** Perulangan Menggunakan While Loop ***'); WHILE n <= 10 LOOP DBMS_OUTPUT.PUT_LINE ('Nilai dari n adalah ' || n); n := n+1; END LOOP; END; |
*** Perulangan Menggunakan While Loop ***
Nilai dari n adalah 1
Nilai dari n adalah 2
Nilai dari n adalah 3
Nilai dari n adalah 4
Nilai dari n adalah 5
Nilai dari n adalah 6
Nilai dari n adalah 7
Nilai dari n adalah 8
Nilai dari n adalah 9
Nilai dari n adalah 10
Menentukan Bilangan Ganjil Dengan Looping
Untuk menentukan bilangan ganjil dengan looping, disini saya menggunakan loop basic untuk perulangannya. Kondisinya disini semisal 1-12 yang kita tentukan bilangan ganjilnya maka berikut perintah sqlnya. Ingat disini yang perlu di perhatikan adalah kondisinya.
DECLARE n number (3) := 1; BEGIN DBMS_OUTPUT.PUT_LINE('*** Menampilkan Bilangan Ganjil dengan Basic Loop ***'); LOOP DBMS_OUTPUT.PUT_LINE ('Nilai dari n adalah ' || n); n := n+2; IF n > 12 THEN EXIT; END IF; END LOOP; END; |
*** Menampilkan Bilangan Ganjil dengan Basic Loop ***
Nilai dari n adalah 1
Nilai dari n adalah 3
Nilai dari n adalah 5
Nilai dari n adalah 7
Nilai dari n adalah 9
Nilai dari n adalah 11
Perulangan Pangkat Dengan Looping
Selanjutnya kita coba melakukan perulanngan pangkat. Masih sama menggunakan simple looping, kondisi yang saya berikan disini semisal maksimal perulangannya 20. Lalu untuk incrementnya saya menggunakan rumus n := n*n;. Berikut contohnya :
DECLARE n number (3) := 2; BEGIN DBMS_OUTPUT.PUT_LINE('*** Perulangan Pangkat Menggunakan Basic Loop ***'); LOOP DBMS_OUTPUT.PUT_LINE ('Nilai dari n adalah ' || n); n := n*n; IF n > 20 THEN EXIT; END IF; END LOOP; END; |
*** Perulangan Pangkat Menggunakan Basic Loop ***
Nilai dari n adalah 2
Nilai dari n adalah 4
Nilai dari n adalah 16
Contoh PL/SQL Implementasi Looping
Untuk contoh PLSQLnya masih sama seperti kemarin yaitu, perintah DML Insert secara mengulang sebanyak kondisi perulangan yang kita inginkan. Semisal disini saya ingin melakukan insert data sebanyak 3 kali. Loop yang saya gunakan disini adalah While Looping. Dan agar data pada kolom primary keynya tidak bentrok dengan data yang ada kita menggunakan perintah max (nama_kolom) untuk mencari nilai data yang tertinggi di kolom tersebut.
Data tertinggi yang di temukan akan di letakkan di variabel ID_Pel. Pada perulangannya ketika perintah insert di eksekusi, variabel ID_Pel + value1 (variabel n). Sehingga dengan begitu data yang di insert tidak bentrok dengan data tertinggi yang tersimpan.
Data tertinggi yang di temukan akan di letakkan di variabel ID_Pel. Pada perulangannya ketika perintah insert di eksekusi, variabel ID_Pel + value1 (variabel n). Sehingga dengan begitu data yang di insert tidak bentrok dengan data tertinggi yang tersimpan.
DECLARE ID_Pel NUMBER (3); n number := 1; BEGIN SELECT MAX(Kode_Pelanggan) INTO ID_Pel FROM PELANGGAN; WHILE n <= 3 LOOP INSERT INTO PELANGGAN(Kode_Pelanggan, Nama_Pelanggan, Alamat_Pelanggan) VALUES((ID_Pel + n), 'Testing Nama', 'Jabodetabek'); n:=n+1; END LOOP; END; |
1 row(s) inserted.
Hasilnya ketiga data akan muncul pada tabel PELANGGAN.
Demikian penjelasan mengenai perulangan pada PLSQL di Oracle Apex. Semoga bermanfaat. Sekian dari saya, saran dan pertanyaan bisa letakkan di komentar. Terima kasih sudah berkunjung, sampai berjumpa di pembahasan oracle selanjutnya. Salam database!!.
0 komentar:
Post a Comment