4. percabangan.doc

Download 4. PERCABANGAN.doc

If you can't read please download the document

Upload: obanganggara

Post on 21-Jan-2016

6.853 views

Category:

Documents


12 download

DESCRIPTION

MATERI PEMROGRAMAN BASIS DATA " PERCABANGAN"

TRANSCRIPT

Document

4. PERCABANGAN

4.1 Pendahuluan

Pada dunia pemrograman yang dimaksud dengan percabangan

tidak lain adalah sebuah pemilihan yang didasarkan atas kondisi

tertentu. Sebuah atau beberapa statemen yang terdapat pada

badan percabangan hanya akan dieksekusi jika kondisi yang

didefiniskan bernilai TRUE. Sebaliknya jika kondisi tersebut bernilai

FALSE, badan percabangan tidak akan pernah dieksekusi karena

semua kondisi yang terdapat pada badan percabangan selalu

diperiksa pada saat awal.

Pada PL/SQL yang terdapat dalam Oracle sebuah badan

percabangan secara umum dibedakan menjadi 3 buah struktur,

yaitu struktur percabangan yang hanya mempunyai satu kondisi,

dua kondisi, dan struktur yang mempunyai tiga kondisi atau lebih.

4.2 Struktur Satu Kondisi

Dalam struktur percabangan yang hanya mempunyai satu

kondisi ini jika kondisi tidak terpenuhi atau bernilai FALSE,

badan percabangan tidak akan pernah dimasuki. Sintak umum

untuk pembuatan sebuah struktur percabangan dengan satu

kondisi ini adalah :

IF Kondisi THEN

Statmen_I;

........

END IF;

Untuk lebih memahami konsep percabangan jenis ini, coba

perhatikan contoh-contoh blok PL/SQL berikut :

Contoh 1

Buatlah sebuah blok PLSQL yang dapat menentukan sebuah

bilangan bulat apakah termasuk ke dalam bilangan genap atau

tidak, jika ya, tampilkan lah bilangan tersebut dan diikuti dengan

teks ADALAH BILANGAN GENAP. Sintaks Jawaban untuk kasus di

atas adalah sebagai berikut :

Pada layar SQL*Plus akan tampak hasil seperti

pada gambar berikut.

Pada sintak di atas terdapat adanya function MOD yang

mengembalikan nilai sisa bagi dari proses pembagian

bilangan BIL dibagi 2. Jika sisa baginya sama dengan 0,

artinya BIL habis dibagi 2 yang berarti pula bahwa

bilangan tersebut merupakan bilangan genap. Karena

80 habis jika dibagi 2, statemen-statemen yang

terdapat pada badan percabangan akan dieksekusi.

Sebaliknya, jika bilangan 80 diganti dengan 39 yang

mempunyai sisa 1 jika dibagi 2 program tidak dapat

memasuki badan percabangan dan statemen-statemen

yang ada pun sudah tentu tidak akan dieksekusi.

Sebagai bukti dari pernyataan ini, coba perhatikan hasil

blok PL/SQL di atas dengan nilai BIL 39 berikut ini.

Jika Anda lihat, sintak di atas tidak

memberikan hasil apa-apa karena kondisi yang

ada tidak dapat terpenuhi atau bernilai FALSE.

Contoh 2

Buatlah sebuah PL/SQL yang dapat menentukan suatu

bilangan bulat apakah termasuk bilangan positif atau bukan.

Sintak jawaban untuk kasus di atas adalah sebagai berikut.

Pada layar SQL*Plus akan terlihat hasil seperti

pada gambar berikut.

4.3 Struktur Dua Kondisi

Setelah mengetahui struktur percabangan

dengan satu kondisi, Anda harus mempelajari

struktur percabangan yang mempunyai dua

buah kondisi. Pada struktur percabangan ini

statemen- statemen yang akan dieksekusi

adalah statemen yang didasarkan pada kondisi

yang nilainya TRUE. Artinya, tidak mungkin

terdapat dua kondisi yang keduanya bernilai

TRUE.

Pada Oracle, sintak umum untuk pembuatan badan

percabangan yang mempunyai dua buah kondisi adalah

sebagai berikut.

Sintak di atas berarti bahwa program akan mengeksekusi

Statemen_l jika kondisi terpenuhi, tetapi jika tidak terpenuhi,

yang akan dieksekusi adalah Statemen_2. Untuk lebih

memahami konsep percabangan dengan dua buah kondisi ini,

coba Anda perhatikan contoh-contoh berikut ini.

Contoh 1

Buatlah sebuah blok PL/SQL yang dapat

menentukan bilangan bulat apakah termasuk

bilangan genap atau ganjil. Kemudian tampilkan

bilangan tersebut dengan diikuti teks ADALAH

BILANGAN GENAP jika bilangan tersebut habis

dibagi 2 dan jika tidak teks yang ditampilkan

ADALAH BILANGAN GANJIL. Sintak jawaban untuk

kasus ini adalah sebagai berikut:

Pada layar SQL*Plus akan tampak hasil seperti

ditunjukkan oleh gambar berikut:

Sintak di atas menunjukkan bahwa kondisi

pertama, yaitu MOD(BIL, 2) = 0 bernilai FALSE

karena bilangan 3 tidak habis dibagi 2. Oleh

karena itu, kondisi yang bernilai TRUE adalah

kondisi kedua yaitu kondisi 'selain' dari kondisi

pertama sehingga statemen yang dieksekusi

pun adalah statemen yang didasarkan atas

nilai dari kondisi dua tersebut,

Contoh 2

Buatlah sebuah blok PL/SQL yang dapat

menentukan bilangan terbesar dari dua buah

bilangan bulat. Sintak jawaban dari kasus ini

adalah seperti terlihat berikut ini.

Pada layar SQL*Plus akan tampak hasil seperti

ditunjukkan gambar berikut.

Meskipun memberikan hasil yang benar,

namun jika dilihat dari segi algoritmik, sintak

di atas masih belum efesien karena masih

terdapat adanya pengulangan penulisan pada

setiap kondisi yang didefinisikan. Sekarang

coba Anda sederhanakan sintak tersebut

dengan menggunakan sintak di bawah ini.

Perhatikan hasil yang tampak pada layar

SQL*Plus, sama bukan? Sebagai orang yang

berkecimpung dalam dunia pemrograman

komputer, Anda harus selalu memperhatikan

hal-hal seperti ini.

4.4 Struktur Tiga Kondisi atau Lebih

Sebenarnya struktur percabangan ini mempunyai

konsep yang sama dengan struktur percabangan

dengan dua kondisi, hanya saja di sini lebih

kompleks karena kondisi yang diperiksa menjadi

lebih banyak. Konsep yang terdapat pada struktur

percabangan jenis ini juga tidak berbeda dengan

konsep percabangan yang ada pada bahasa-

bahasa pemrograman prosedural lainnya.

Sintak umum untuk pembuatan badan

percabangan yans mempunyai tiga kondisi atau

lebih ini dapat Anda lihat di bawah ini.

Sintak di atas menunjukkan bahwa mula-mula dilakukan

pengecekan nilai terhadap kondisM. Jika kondisM bernilai TRUE.

statemenj yang akan dieksekusi. Tetapi jika tidak, akan dilakukan

pengecekan terhadap kondisi_2. Jika kondisi_2 bernilai TRUE,

statemen_2 yang akan dieksekusi, tetapi jika kondisi_2 juga masih

bernilai FALSE, berarti yang akan dieksekusi adalah statemen_3- Ini

adalah gambaran dari struktur percabangan yang hanya mempunyai

tiga kondisi, tetapi mungkin Anda bertanya bagaimana jika kondisi

yang akan diperiksa banyaknya lebih dari tiga. Hal ini sama, hanya

saja Anda harus mendefinisikan setiap kondisi tersebut sampai

tidak ada lagi kondisi yang harus diperiksa. Seperti biasa, untuk

lebih memahami konsep struktur percabangan jenis ini cobalah

perhatikan baik-baik contoh-contoh kasus berikut ini.

Contoh 1

Buatlah sebuah blok PL/SQL yang dapat

menentukan sebuah bilangan bulat apakah

termasuk bilangan positif, negatif, atau nol.

Sintak jawaban untuk kasus tersebut dapat

Anda lihat berikut ini.

Pada layar SQL*Plus akan tampak hasil seperti ditunjukkan

gambar berikut.

Pada contoh di atas nilai X yang didefinisikan

adalah -25. Mula-mula akan diperiksa kondisi

X > 0. Karena -25 tidak lebih besar dari 0, akan

dilakukan pengecekan terhadap kondisi

berikutnya yaitu X = 0. Oleh karena -25 juga

tidak sama dengan 0, statemen yang

dieksekusi adalah statemen yang 'tidak'

didasarkan atas dua kondisi tersebut.

Contoh 2

Buatlah sebuah blok PL/SQL yang dapat

menentukan akar-akar dari sebuah persamaan

kuadrat. Persamaan kuadrat yang dimaksud

adalah ax + bx + c. Sintak jawaban dari kasus

2

ini adalah seperti terlihat di bawah ini.

Pada layar SQL*Plus akan tampak hasil

seperti ditunjukkan sambar berikut.

Contoh 3

Buatlah sebuah blok PL/SQL untuk

menentukan nama hari dari nomor/indeks

hari yang diberikan. Sintak jawaban untuk

kasus di atas adalah seperti tertulis berikut ini.

Pada layar PL/SQL akan tampak hasil seperti

ditunjukkan gambar berikut.

4.5 Soal Latihan

1.

Buatlah sebuah blok PL/SQL yang dapat memberikan

indeks/nomor urut bulan jika yang dimasukkan

adalah nama bulannya. Misalnya, kita memasukkan

nama bulan MARET, yang akan dihasilkan dari blok

PL/SQL tersebut adalah teks 'Bulan Maret adalah

bulan ke-3

2.

Buatlah sebuah blok PL/SQL yang dapat menentukan nilai

indeks (A, B, C, D atau E) dari nilai ujian (masih berbentuk

angka) yang dilakukan oleh mahasiswa di sebuah PTN di

Bandung. Ketentuannya adalah sebagai berikut.

3.

Dalam pelajaran matematika dipelajari tentang koordinat sebuah titik P(x, y)

dimana titik tersebut terletak pada suatu kuadran tertentu. Buatlah blok PL/SQL

yang dapat menentukan kuadran dari titik yang dimasukkan. Keterangan untuk

penentuan kuadran dari suatu titik P(x, y) di dalam bidang kartesian adalah sebagai

berikut.

Sebagai catatan jika x dan y bernilai O, titik tersebut tidak terdapat pada kuadran

manapun melainkan berada di garis sumbu koordinat, yaitu P(0,0).