You are on page 1of 6

7.

PEMBUATAN STRUKTUR KONTROL

Objektif

Setelah mengikuti materi ini, anda diharapkan untuk dapat :


☺ Pemahaman statement IF
☺ Pemahaman dan mengidentifikasi statemen different loop
☺ Mengontrol urutan blok dengan menggunakan nested loop dan label
Urutan logic dapat diubah dalam statemen blok PL/SQL dengan menggunakan kondisi
statemen IF dan kontrol struktur Loop.

Statemen IF_Lihat vid1


Contoh :
Tetapkan nomor departemen menjadi 20 dan jenis pekerjaan menjadi Salesman jika nama
pegawai adalah ‘Miller’.

Statemen IF – THEN – ELSE_Lihat vid2

Jika kondisi awal bernilai FALSE atau NULL, klausa ELSE dapat digunakan untuk
mengambil kegiatan lain. Sama seperti statemen sederhana IF, kesimpulan kontrol pada
program berada pada END IF.
Contoh :

Statemen IF Bersarang (Nested IF)_Lihat vid3


Salah satu dari kumpulan kegiatan yang dihasilkan oleh statemen IF pertama, dapat juga
dilakukan oleh statemen IF selanjutnya pada statemen IF pertama sebelum kegiatan
khusus dilakukan. Klausa THEN dan ELSE dapat dimasukkan ke dalam statemen IF.
Setiap statemen IF bersarang (Nested IF) harus diakhiri dengan END IF.

Contoh 1 :

Statemen IF-THEN-ELSIF_Lihat vid4


Bila memungkinkan, gunakan klausa ELSIF pada IF bersarang. Kode menjadi lebih
mudah untuk dimengerti, dan logika lebih jelas diidentifikasi. Jika kegiatan pada klausa
ELSE terdiri dari statemen IF yang lain, lebih mudah menggunakan klausa ELSIF. Ini
membuat kode menjadi lebih jelas dengan memindahkan END IF bersarang di akhir
setiap kumpulan kondisi dan kegiatan yang lainnya.

Contoh :
Kontrol Perulangan : Statemen LOOP

Basic Loop_Lihat vid5


Statemen loop yang paling sederhana adalah basic (atau infinite) loop yang mendekati
urutan statemen diantara kata kunci LOOP dan END LOOP. Setiap urutan eksekusi
statemen END LOOP, pengontrolan diulang sesuai dengan statemen LOOP tersebut.
Sebuah Basic loop mengijinkan eksekusi statemen sekurang-kurangnya satu kali,
walaupun kondisi dalam keadaan telah memasukkan atau melakukan perulangan. Tanpa
statemen EXIT maka loop menjadi tidak terkontrol atau tak terbatas.

Statemen EXIT
Statemen EXIT digunakan untuk mengakhiri loop, untuk melewati statemen kontrol
berikutnya setelah statemen END LOOP. EXIT dapat diberikan sebagai kegiatan atau
action dengan statemen IF atau sebagai statemen yang berdiri sendiri dengan loop yang
ada. Statement EXIT harus diletakkan dalam sebuah loop. Dalam kasus ini, klausa
WHEN dapat digunakan untuk mengakhiri kondisi pada loop. Ketika statemen EXIT
ditemukan maka kondisi klausa WHEN dapat dievaluasi. Jika kondisi bernilai TRUE,
loop berakhir dan kontrol akan melewati statemen selanjutnya setelah loop. Sebuah Basic
Loop dapat terdiri dari beberapa statement EXIT.

Contoh :
FOR Loop_Lihat vid6
FOR Loop mempunyai struktur umum yang sama dengan Basic Loop. Dengan tambahan,
adanya statemen kontrol di awal kata kunci LOOP untuk menentukan pengulangan yang
dilakukan oleh PL/SQL.

Contoh :

WHILE Loop_Lihat vid7


WHILE Loop dapat digunakan untuk mengulang urutan statemen sampai dengan kondisi
TRUE. Kondisi ini merupakan penilaian awal dari setiap pengulangan. Pengulangan
berakhir ketika kondisi bernilai FALSE, jika kondisi FALSE berada di bagian awal loop
maka tidak ada lagi iterasi atau pengulangan yang akan dilakukan.
Contoh :
Nested Loops dan Labels_Lihat vid8
Multiple nested level dapat digunakan pada perulangan. FOR, WHILE serta Basic Loop
atau satu diantaranya dapat digunakan dalam melakukan loop bersarang. Untuk
mengakhiri nested loop tidak perlu diakhiri dengan menutup loop tersebut terkecuali
terjadi exception raised. Statemen EXIT digunakan untuk memberikan label pada loop
dan keluar dari loop.
Aturan penamaan label mengikuti aturan yang sama seperti identifier yang lain. Sebuah
label dipakai atau diletakkan sebelum statemen, meskipun tidak berada di baris yang
sama atau baris yang terpisah. Loop label diletakkan sebelum kata LOOP dengan
delimiter label (<<label>>).
Jika loop telah diberikan label, maka nama label bisa dimasukkan secara optional setelah
statemen END LOOP, hal ini dilakukan supaya lebih jelas.
Contoh :

Pada contoh di atas terdapat dua loop. Loop yang berada di bagian luar diidentifikasikan
dengan label <<OUTER>> dan loop yang berada di bagian dalam diidentifikasikan
dengan label <<INNER>>.

You might also like