Sebuah program tidak selamanya akan berjalan dengan
mengikuti struktur berurutan, kadang-kadang kita perlu merubah urutan
pelaksanaan program dan menghendaki agar pelaksanaan program meloncat ke baris
tertentu. Peristiwa ini kadang disebut sebagai percabangan/pemilihan atau
keputusan.
Pada struktur percabangan, program akan berpindah urutan
pelaksanaan jika suatu kondisi yang disyaratkan dipenuhi. Pada proses seperti
ini simbol flowchart Decision harus digunakan. Simbol decision akan berisi
pernyataan yang akan diuji kebenarannya. Nilai hasil pengujian akan
menentukan cabang mana yang akan ditempuh.
Struktur percabangan untuk masalah batasan umur. Sebuah
aturan untuk menonton sebuah film tertentu adalah sebagai berikut, jika usia
penonton lebih dari 17 tahun maka penonton diperbolehkan dan apabila kurang
dari 17 tahun maka penonton tidak diperbolehkan nonton. Buatlah flowchart untuk
permasalahan tersebut?
Penyelesaian:
Permasalahan diatas merupakan ciri permasalahan yang
menggunakan struktur percabangan. Hal ini ditandai dengan adanya pernyataan
jika .. maka ...(atau If ... Then dalam Bahasa Inggris.
Pada gambar tersebut, tampak penggunaan simbol Decision. Pada simbol ini
terjadi pemeriksaan kondisi, yaitu apakah usia lebih dari 17 tahun atau tidak.
Jika jawaban ya maka program akan menghasilkan keluaran teks “Silahkan
Menonton”, sedangkan jika input usia kurang dari 17 tahun maka program akan
menghasilkan keluaran teks “Anda Tidak Boleh Menonton”.
Struktur percabangan untuk perhitungan dua buah bilangan.
Dalam suatu perhitungan nilai P = X + Y. Jika P positif, maka Q = X * Y, sedangkan
jika negative maka nilai Q = X/Y. Buatlah flowchart untuk mencari nilai P dan Q
?
Penyelesaian:
Pada contoh ini input yang dibutuhkan adalah nilai X dan
Y, sedangkan proses pemeriksaan kondisi dilakukan pada nilai P apakah positif
(termasuk 0) ataukah negative.
Kedua contoh di atas merupakan
contoh struktur percabangan sederhana yang melibatkan hanya satu percabangan.
Pada masalah-masalah yang lebih rumit, kita akan menjumpai lebih banyak
percabangan. Kita juga akan menjumpai suatu struktur percabangan berada di
dalam struktur percabangan yang lain, atau yang biasa disebut nested
(bersarang).
Perhatikan contoh-contoh berikut:
Sebuah usaha fotokopi mempunyai aturan sebagai berikut:
· jika
yang fotokopi statusnya adalah langganan, maka berapa lembar pun dia fotokopi,
harga perlembarnya Rp. 75,-
· jika
yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100 lembar
harga perlembarnya Rp. 100,-. Sedangkan jika lebih atau sama dengan 100 lembar
maka harga perlembarnya Rp. 85,-.
Buat flowchart untuk menghitung total harga yang harus
dibayar jika seseorang memfotokopi sejumlah X lembar.
Penyelesaian:
Pada contoh ini, masalah terlihat lebih rumit. Ada dua
percabangan yang terjadi. Yang pertama adalah pemeriksaan apakah status
seseorang pelanggan atau bukan. Kedua, apabila status seseorang bukan
pelanggan, maka dilakukan pemeriksaan berapa jumlah lembar fotokopi, apakah
lebih dari 100 lembar atau tidak.
Pada soal ini kita juga menjumpai apa yang disebut
sebagai nested. Perhatikan pernyataan pada syarat kedua dari persoalan di atas,
jika yang fotokopi bukan langganan, maka jika dia fotokopi kurang dari 100
lembar harga perlembarnya Rp. 100 pernyataan jika yang kedua berada di dalam
jika yang pertama.
Input yang dibutuhkan untuk permasalahan ini adalah
status orang yang fotokopi dan jumlah lembar yang difotokopi. Sehingga variable
input yang digunakan adalah:
· Status
untuk status orang yang fotokopi
· JLF
untuk jumlah lembar yang difotokopi
Selain itu terdapat variable dengan nama HPP yang
digunakan untuk menyimpan harga per lembar dan TH untuk menyimpan nilai total
harga. Perhatikan, variable Status bertipe data char, sehingga penulisannya
harus menggunakan tanda “ “.
Struktur percabangan bersarang untuk masalah kelulusan
siswa. Aturan kelulusan siswa pada mata pelajaran Pemrograman Web diterapkan
sebagai berikut:
Jika nilai ujian tengah semester (UTS) lebih besar dari
70 maka siswa dinyatakan lulus dan Nilai Akhir sama dengan nilai UTS. x Jika
nilai UTS kurang atau sama dengan 70 maka siswa dinyatakan lulus jika Nilai
Akhir lebih besar atau sama dengan 60 dimana Nilai Akhir = (nilai UTS x 40%) +
(nilai UAS x 60%).
Buatlah flowchart penyelesaian masalah tersebut apabila
output yang diinginkan adalah NIM, Nama Siswa, Nilai Akhir dan Status Kelulusan?
Penyelesaian:
Pada contoh ini, ada dua percabangan. Yang pertama adalah
pemeriksaan apakah nilai UTS siswa lebih dari 70. Kedua, apabila nilai UTS
tidak lebih dari 70, maka dilakukan pemeriksaan apakah nilai akhir lebih dari
60. Input yang dibutuhkan untuk permasalahan ini adalah NIM, nama siswa, nilai
UTS, dan nilai UAS.
Sehingga variable input yang digunakan adalah: NIM untuk
Nomor induk siswa, nama untuk nama siswa, NUTS untuk nilai ujian tengah
semester, dan NUAS untuk nilai ujian akhir semester. Sedangkan variabel ouput
terdiri dari NA yang digunakan untuk menyimpan nilai akhir dan Status untuk
menyimpan status kelulusan.
Quis custodiet ipsos custodes?
ReplyDeleteGreat and that i have a swell give: How Many Houses Has Hometown Renovated house renovation calgary
ReplyDelete