Pemrograman I
PERCABANGAN
Struktur Algoritma Percabangan
• Sebuah program tidak selamanya akan berjalan
dengan mengikuti struktur berurutan, kadang
perlu merubah urutan pelaksanaan program dan
menghendaki agar pelaksanaan program
meloncat ke baris tertentu.
• Peristiwa ini kadang disebut sebagai
percabangan/pemilihan atau keputusan.
Pernyataan If .... Else
• Digunakan untuk menguji sebuah kondisi.
• Bentuk umum:
If kondisi then
Begin
{pernyataan yang dijalankan jika kondisi terpenuhi}
End
Else
Begin
{pernyataan yang dijalankan jika kondisi tidak terpenuhi}
End;
• Contoh:
If (x > 0) then
Writeln(‘x bilangan positif’);
else
Writeln(‘x bilangan negatif’);
• Program diatas tidak perlu menambahkan kata kunci begin
dan end karena pernyataan yang dituliskan hanya satu baris
saja.
• Jika tidak ingin mengerjakan sesuatu jika kondisi yang
ditentukan tidak terpenuhi, dapat menyatakan if tanpa else.
If (x<0) then
x := -x;
Pernyataan If .... Else if
• Meletakkan pernyataan if lain setelah else.
If (x > 0) then
Writeln (‘x bilangan positif’);
Else if (x < 0) then
Writeln (‘x bilangan negatif’);
Else
Writeln (‘x adalah nol’);
Pernyataan case
• Digunakan untuk menyederhanakan konstruksi If ... Else if
If (x = 0) then
Writeln (‘x bernilai 0’);
Else if (x = 1) then
Writeln (‘x bernilai 1’);
Else if (x = 2) then
Writeln (‘x bernilai 2’);
else
Writeln (‘x tidak bernilai 0, 1 dan 2’);
• Dapat diganti menjadi lebih ringkas
Case x of
0:=Writeln (‘x bernilai 0’);
1:=Writeln (‘x bernilai 1’);
2:=Writeln (‘x bernilai 2’);
else
Writeln (‘x tidak bernilai 0, 1 dan 2’);
End;
Contoh soal
No.1
•
Tulislah algoritma dan program serta flowchart yang
menampilkan ‘Genap’ jika suatu bilangan adalah bilangan genap
atau ‘Ganjil’ jika bilangan adalah bilangan ganjil.
Masukan: bilangan bulat yaitu x dimana 0 65535
Keluaran: bilangan genap dan bilangan ganjil
No.2
Tulislah algoritma dan program serta flowchart jika 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.
jawaban algoritma:
menonton_film
Nama Menonton_film
algoritma
Deklarasi Usia : real;
Psn : String;
Deskripsi Read (Usia)
if Usia > 17
Psn “anda boleh menonton”
else
Psn “anda tidak boleh menonton”
Write(‘Pesan’, Psn)
jawaban flowchart:
menonton_film
No.3
Tulislah algoritma dan program serta flowchart jika 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
jawaban algoritma: hitung_bilangan
Nama algoritma Hitung_bilangan
Deklarasi X, Y : real;
P, Q : real;
Deskripsi Read (X,Y)
PX+Y
if P > 0
QX*Y
else
QX/Y
Write(‘Nilai P’,P)
Write(‘Nilai Q’, Q)
jawaban flowchart:
hitung_bilangan
No.4
Tulislah algoritma dan program serta flowchart jika diketahui
pegawai dengan masa kerja lebih dari 3 tahun mendapat
tunjangan sebesar 20% gaji pokok sedang yang kurang dari itu
mendapat tunjangan 10%. Input program adalah masa kerja dan
gaji pokok.
Jawaban algoritma: gaji
Nama Gaji_pegawai
Algoritma
Deklarasi Tjg, mk, gapok, gatot : double
Deskripsi Read (mk, gapok )
If(mk>3) then
tjg 0.2 * gapok
Else
tjf 0.1 * gapok
Gatot gapok + tjg
Write(‘gaji total’,gatot )
Jawaban flowchart: gaji
No.5
•
Tulislah algoritma dan program serta flowchart yang meminta
masukan dari pengguna. Jika memasukkan 0 program
menampilkan Minggu, jika memasukkan 1 program
menampilkan Senin, dan seterusnya sampai sabtu. Jika
memasukkan nila diluar 0 sampai 6, program menuliskan hari
tidak valid.
Masukan: bilangan bulat yaitu x dimana 0 255
Keluaran: Minggu, Senin ... Sabtu dan hari tidak valid.
No.6 persamaan Kuadrat
•
Tulislah algoritma dan program serta flowchart untuk
menghitung akar persamaan kuadrat:
a01TahunKabisatSimple.java
Jawaban flowchart: tahun kabisat
No.9
FORM BELI BARANG
Kode Barang
Jumlah Beli
Harga Barang
Jumlah Harga
Total Bayar
else
status “tidak lulus”
Write (‘Nim, Nama, NA, Status’, nim,nama,NA,status)
Jawaban
flowchart: lulus