(a)
(b)
KONDISI adalah ungkapan bernilai boolean (true atau false), berikut penjelasan kedua gambar
diatas :
(a) jika ungkapan dalam kondisi bernilai benar (true) maka proses 1 yang akan dikerjakan
dan bila bernilai salah (false) maka selanjutnya diluar kalang IF yang akan dikerjakan.
Jobsheet 03 14
(b) jika ungkapan dalam kondisi bernilai benar (true) maka proses 1 yang akan dikerjakan
dan bila bernilai salah (false) maka proses 2 yang akan dikerjakan.
Proses 1 atau proses 2 dalam struktur If –Then dan If-Then-Else dapat berupa proses tunggal
ataupun jamak seperti gambaran berikut ini :
Keterangan :
Kondisi dapat berupa ekspresi relasional atau logika
Kata tunggal berarti hanya ada satu proses atau aksi yang dikerjakan bila suatu syarat
dari kondisi terpenuhi,
Kata jamak berarti ada dua atau lebih proses atau aksi yang dikerjakan bila suatu syarat
dari kondisi terpenuhi,
Untuk percabangan If-Then-Else tidak selalu harus semuanya proses atau aksi tunggal
semua atau proses atau aksi jamak semua, akan tetapi bisa kombinasi antara keduanya
tergantung dari permasalahannya.
Untuk menyeleksi kondisi tersebut perlu tanda-tanda operasi (pembanding) seperti tabel berikut
ini:
Macam operator yang terlibat dalam proses seleksi :
Operator Relasi Operator Logika
Tanda Arti Tanda Arti
= sama dengan AND DAN ( logical AND )
≠ tidak sama dengan OR ATAU ( logical OR )
≥ lebih besar atau sama dengan NOT BUKAN ( logical NOT )
≤ lebih kecil atau sama dengan XOR Keduanya atau lebih tidak
sama
> lebih besar dari
< lebih kecil dari
Jobsheet 03 15
2. Nested If
Nested if atau struktur if bersyarang atau struktur if dalam if digunakan untuk
menyelesaikan masalah-masalah yang memiliki lebih dari dua cabang. Seperti halnya struktur
If-Then ataupun If-Then-Else, alternatif-alternatif dalam nested if bisa berupa alternatif hanya
terdiri dari satu proses atau aksi ( tunggal ) atau alternatif yang terdiri dari sejumlah proses
atau aksi ( jamak) ataupun kombinasi antar keduanya. Berikut ini contoh flow chart untuk
nested if:
Perhatian :
Bila suatu proses atau aksi setelah If-Then atau Else perintah tidak diapit dengan
begin dan end maka hanya tepat satu proses atau aksi setelah If-Then atau Else yang
diuji berdasarkan syarat atau kondisi dalam percabangan tersebut.
Hal tersebut di atas juga berlaku pada proses implementasi ke dalam suatu bahasa
pemrograman, yang mungkin membedakan adalah sintaksis dan semantiknya.
Jobsheet 03 16
50.000 atau lebih, dimana proses memasukkan jumlah beli di masukkan dari keyboard,
selanjutnya diproses dan menghasilkan keluaran besar diskon dan jumlah bayarnya.
5. Buatlah algoritma dengan bentuk flowcharts dan buat pula pseudocodenya untuk proses
menentukan apakah suatu bilangan yang dimasukkan dari keyboard itu bilangan ganjil
atau genap. Hasil keluaran proses ini berupa tampilan sebagai berikut :
Buatlah flowchart di bagian lembar Microsoft Visio dan pseudocode pada lembar
Microsoft Word, kemudian simpan hasil kerja anda, dimana flowchartnya anda
masukkan dalam dokumen word di jadikan satu di samping dari pseudocodenya dan
simpan ke dalam hardisk atau disket data dengan nama file yang sama.
6. Suatu toko fotocopy berusaha meningkatkan layanan dengan pola sebagai berikut:
a. Jika yang mengkopy sudah terdaftar sebagai pelanggan maka akan mendapat
potongan harga/lembar kopynya Rp. 75 untuk jumlah kopy kurang dari 100
lembar dan bila lebih dari atau sama dengan 100 lembar diberikan potongan
harga/lembar kopynya Rp. 65, untuk harga normal perlembar/kopynya Rp. 80.
b. Jika yang mengkopy belum terdaftar sebagai pelanggan maka akan mendapat
potongan harga/lembar kopynya Rp. 70 untuk jumlah kopy lebih dari atau sama
dengan 200 lembar.
c. Hasil keluaran berupa jumlah lembar kopynya, besar potongan harga yang
diperoleh dan jumlah bayarnya.
d. Selesaikan permasalahan ini seperti metode langkah kerja no.4 (flowcharts dan
pseudocode )dan simpan ke dalam hardisk atau disket data dengan nama file yang
sama pula.
V. Pertanyaan / Soal
1. Apa yang dimaksud dengan proses atau aksi jamak dan tunggal ? jelaskan dengan singkat dan
jelas .
2. Diketahui suatu permasalahan sistem pembayaran panggilan disuatu wartel sebagai berikut :
a. Sistem pembayaran didasarkan pada lama percakapan ( jam akhir pembicaraan –
jam awal pembicaraan).
b. Hitunglah berapa pulsa telepon yang dipakai jika per-pulsa telepon berubah setiap
20 detik.
c. Jika pembicaraan dilakukan pada hari libur atau antara jam 10:00 malam sampai
jam 07:00 pagi mendapat diskon 30% dari total pembayaran dan untuk waktu
Jobsheet 03 17
selain itu tidak mendapatkan diskon. Hitunglah jumlah bayarnya, dengan harga
per-pulsa Rp. 200,-
d. Buatlah flowcharts dan pseudocodenya serta impelentasikan permasalahan ini ke
dalam bahasa pemrograman Pascal.
3. Diketahui persamaan kuadrat ax2 + bx + c = 0. Buatlah program untuk menghitung nilai-nilai
akarnya dengan ketentuan nilai deskriminannya sebagai berikut :
D = b2 – 4ac
Dari nilai deskriminan yang diperoleh memiliki tiga kemungkinan berikut yang dijadikan
sebagai dasar untuk menentukan nilai akar-akarnya.
b
Jika D = 0, maka nilai akarnya x1 = x2 =
2a
D
Jika D > 0, maka nilai akarnya x1 = - b +
2a
D
x2 = - b -
2a
Jika, D < 0 , maka akarnya imajiner (Tampilkan keterangan “Akar Imajiner).
Tugas anda:
Buatlah algoritma dengan bentuk flowcharts dan pseudocode serta implementasikan
permasalahan tersebut ke dalam bahasa Pascal / Bahasa C.
4. Berikanlah kesimpulan dari praktik yang anda lakukan di jobsheet ketiga ini .
Jobsheet 03 18