5. pengulangan.pdf
TRANSCRIPT
-
8/14/2019 5. PENGULANGAN.pdf
1/48
-
8/14/2019 5. PENGULANGAN.pdf
2/48
5.1 Pendahuluan Salah satu kelebihan komputer adalah
kemampuan kerjanya yang tidak kenal lelahdengan hasil yang selalu akurat walaupun bekerja
selama berjam-jam dan berulang-ulang. Sepertipada bahasa prosedural, Oracle juga mempunyaikemampuan untuk melakukan pengulanganstatemen yang dimasukkan ke dalam blok
PL/SQL. Terdapat tiga macam strukturpengulangan dalam Oracle, yaitu Simple Loop,WHILE-LOOP, dan FOR-LOOP.
-
8/14/2019 5. PENGULANGAN.pdf
3/48
5.2 Struktur Simple Loop Simple Loop ini digunakan untuk melakukan pengulangan statemen dalam
blok PL/SQL dimana pada saat akan masuk ke badan pengulangan tidakdiperlukan adanya kondisi awal yang harus diperiksa terlebih dahulu.Pengecekan kondisi baru akan dilakukan pada saat program selesaimengeksekusi statemen-statemen yang didefinisikan dalam badanpengulangan sehingga pada pengulangan jenis ini statemen-statemenyang terdapat pada badan pengulangan minimal akan dikerjakan 1 kali.
Selama kondisi yang didefinisikan masih bernilai FALSE atau belumterpenuhi, proses pengulangan akan terus dilakukan. Kondisi inidiperlukan untuk menjalankan statemen EXIT yang berfungsi untukmengeluarkan atau menghentikan program dari proses pengulangan.Tanpa adanya statemen EXIT dalam badan pengulangan jenis ini, proses
pengulangan tidak pernah akan berhenti sehingga jelas akan terjadikesalahan pada program atau blok PL/SQL yang Anda buat. Pengulangan jenis ini tidaklah berbeda dengan struktur pengulangan REPEAT ..UNTIL(pada bahasa PASCAL) atau DO..WHILE (pada bahasa C/C++).
-
8/14/2019 5. PENGULANGAN.pdf
4/48
Sintak umum untuk pembuatan badanpengulangan jenis ini ditunjukkan dalam tabelberikut.
-
8/14/2019 5. PENGULANGAN.pdf
5/48
-
8/14/2019 5. PENGULANGAN.pdf
6/48
-
8/14/2019 5. PENGULANGAN.pdf
7/48
-
8/14/2019 5. PENGULANGAN.pdf
8/48
-
8/14/2019 5. PENGULANGAN.pdf
9/48
Pada layar SQL*Plus Anda akan tampilseperti pada gambar di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
10/48
Sekarang coba Anda perhatikan sintak di bawah inidimana bagian inisialisasi diisi dengan nilai 1 bukan 0.
-
8/14/2019 5. PENGULANGAN.pdf
11/48
Hasil yang akan tampil adalah sebagaiberikut.
-
8/14/2019 5. PENGULANGAN.pdf
12/48
-
8/14/2019 5. PENGULANGAN.pdf
13/48
-
8/14/2019 5. PENGULANGAN.pdf
14/48
-
8/14/2019 5. PENGULANGAN.pdf
15/48
-
8/14/2019 5. PENGULANGAN.pdf
16/48
Contoh 3
Setelah mengerjakan contoh 2. coba Andabuat blok PL/SLQ yang dapat menghitung nilairata-rata dari jumlah deret yang ada padacontoh 2. Sintak jawaban untuk kasus iniadalah sebagai berikut.
-
8/14/2019 5. PENGULANGAN.pdf
17/48
-
8/14/2019 5. PENGULANGAN.pdf
18/48
Hasil yang akan tampak pada layarSQL*Plus ditunjukkan gambar di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
19/48
-
8/14/2019 5. PENGULANGAN.pdf
20/48
Sintak umum dari pembuatan badanpengulangan jenis WHILE-LOOP iniditunjukkan di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
21/48
-
8/14/2019 5. PENGULANGAN.pdf
22/48
-
8/14/2019 5. PENGULANGAN.pdf
23/48
-
8/14/2019 5. PENGULANGAN.pdf
24/48
-
8/14/2019 5. PENGULANGAN.pdf
25/48
-
8/14/2019 5. PENGULANGAN.pdf
26/48
Pada layar SQL*Plus akan tampak sepertipada gambar di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
27/48
-
8/14/2019 5. PENGULANGAN.pdf
28/48
-
8/14/2019 5. PENGULANGAN.pdf
29/48
-
8/14/2019 5. PENGULANGAN.pdf
30/48
Contoh 4
Tentukan sisa bagi dari operasi pembagian duabuah bilangan hanya dengan menggunakanoperator minus (-) tanpa operator pembagian(/) di dalamnya. Misalnya, 10 dibagi 3 makasisa baginya sama dengan 1. Buatlah blokPL/SQL menggunakan struktur pengulangan
WHILE-LOOP. Sintak untuk menjawab kasus iniadalah seperti tertulis di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
31/48
-
8/14/2019 5. PENGULANGAN.pdf
32/48
Pada layar SQL*Plus akan tampak hasil sepertiditunjukkan pada gambar di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
33/48
-
8/14/2019 5. PENGULANGAN.pdf
34/48
-
8/14/2019 5. PENGULANGAN.pdf
35/48
Contoh 1
Buatlah sebuah blok PL/SQL yang dapatmenampilkan bilangan dari 1 sampai 10.Sintak jawaban untuk kasus tersebut adalahseperti tertulis di bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
36/48
-
8/14/2019 5. PENGULANGAN.pdf
37/48
-
8/14/2019 5. PENGULANGAN.pdf
38/48
-
8/14/2019 5. PENGULANGAN.pdf
39/48
-
8/14/2019 5. PENGULANGAN.pdf
40/48
Contoh 3
Tentukan hasil perhitungan faktorial darisebuah bilangan bulat, misalnya 5! = 120.Buatlah blok PL/SQL-nya. Sintak jawabanuntuk kasus ini adalah seperti tertulis dibawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
41/48
-
8/14/2019 5. PENGULANGAN.pdf
42/48
-
8/14/2019 5. PENGULANGAN.pdf
43/48
Contoh 4
Kembangkan kemampuan Anda denganmembuat blok PL/SQL untuk menjawab kasuspada contoh 3 tetapi hanya denganmenggunakan operator plus (+) dan minus (-)saja. Sintak jawabannya adalah seperti tertulisdi bawah ini.
-
8/14/2019 5. PENGULANGAN.pdf
44/48
-
8/14/2019 5. PENGULANGAN.pdf
45/48
Pada layar SQL*Plus akan tampakseperti pada gambar berikut.
-
8/14/2019 5. PENGULANGAN.pdf
46/48
5.5 Soal Latihan
1. Tampilkan sepuluh buah bilangan positif pertama yang merupakan kelipatan4 dan jumlah total dari penjumlahan bilangan-bilangan tersebut denganmenggunakan struktur pengulangan Simple Loop, WHILE-LOOP dan FOR-LOOP
2. Terdapat sebuah deret geometri sebagai berikut. Buatlah blok PL/SQL yangdapat menentukan jumlah dari deret tersebut dengan menggunakanstruktur pengulangan Simple Loop, WHILE-LOOP, dan FOR-LOOP.
3. Dalam pelajaran matematika, tentu Anda telah mempelajari bilangan prima,yaitu bilangan yang hanya dapat dibagi dengan 1 dan bilangan itu sendiri.Coba Anda buat blok PL/SQL yang dapat mengecek sebuah bilangan bulatapakah termasuk bilangan prima atau bukan dengan menerapkan konseppengulangan.
-
8/14/2019 5. PENGULANGAN.pdf
47/48
-
8/14/2019 5. PENGULANGAN.pdf
48/48
5. Pada bahasa pemrograman PASCAL terdapatoperator DIV yaitu operator untuk operasipembagian yang tidak menghiraukan sisa bagidari operasi tersebut. Sebagai contoh terdapatoperasi (10 DIV 4) maka hasilnya adalah 2 danbukan 2,5. Sekarang buatlah blok PL/SQL yangdapat menentukan hasil bagi dari operasi
pembagian seperti di atas tetapi di dalamnyatidak mengandung operator bagi (/) melainkanhanya menggunakan operator minus (-).