ALGORITMA PERCABANGAN
A.PERCABANGAN SATU KONDISI
Dalam menyelesaikan suatu masalah
tekadang kita dihadapkan pada beberapa kemungkinan.Contohnya:
Seorang siswa memiliki kemungkinan kondisi
sebagai berikut:
Ø Memperoleh uang saku Rp.5000,00.Uang
saku tersebut hanya cukup untuk jajan.Namun,jika ia memperoleh uang saku yang
lebih besar dari Rp.5000,00 maka uang yang tersisa akan ditabung.
Bentuk Algoritma dari contoh tersebut adalah:
Algoritma
Jika uang saku
lebih besar dari 5000 maka sisanya
akan ditabung
|
If (kondisi) then
Aksi
End if
1.Operator Perbandingan
Contoh algoritma percabangan satu kondisi
menggunakan operator perbandingan:
Ø Siswa dinyatakan “Lulus” jika memiliki nilai minimal
75.Artinya,siswa harus mencapai nilai lebih besar sama dengan 75 agar
memperoleh predikat lulus.Jika ternyata nilainya di bawah 75,siswa akan
mendapat predikat “Gagal”.
Penulisan
Algoritma berdasarkan kondisi tersebut adalah sebagai berikut:
Program
kelulusan_siswa
Deklaras i
Nilai : integer
Status : string
Algoritma
Nilai
76
Status
‘Tidak Lulus’
If nilai
>=75 then
Status
‘Lulus ’
End if
Write (status)
|
2.Operator Logika
If (kondisi 1) Operator_logika (kondisi 2) then
Aksi
End if
|
Pada format logika percabangan “if…then”
seperti di atas,maka akan mengerjakan Aksi jika nili datanya True.Ketentuan
pengopersian dan jenis operator logika dapat di lihat pada bagian sebelumnya.
Program kelulusan_siswa
Deklarasi
Nilai :
integer
Status :
string
Algoritma
Nilai 76
Status
‘Tidak Lulus’
If (nilai >75) OR (nilai =75) then
Status
‘Lulus’
End if
Write (status)
Write (status)
|
B.PERCABANGAN DUA KONDISI
Logika percabangan dua kondisi
memiliki kelebihan untuk menyeleksi dua kondisi.
Contoh
penulisan algorita percabangan dua kondisi:
Ø Kriteria penilaian appraisal karyawan berdasarkan preentase
kehadiran sebagai berikut:
·
Lebh
besar atau sama dengan 80%dari 100 jumlah hari kerja,akan memperoleh nilai A
·
Kurang
dari 80%,akan mendapat nilai C
Maka
penulisan algoritma dari soal tersebut adalah:
Program appraisal_hadir
Deklarasi
Absen :
integer
Hari :
integer
Masuk :
single
Status : char
Algorima
Hari
100
Masuk
75
Absen
(masuk/hari) *100
If (absen
> 80) OR (absen =80) then
Status
‘A’
Else if
(absen < 80) then
Status
‘C’
End if
Write
(status)
|
C.PERCABANGAN LEBIH DARI DUA KONDISI
Untuk
menentukan tindakan
yang dilakukan terhadap beberapa kemungkinan
kondisi, diperlukan logika percabangan
If…then secara bertingkat.
Contoh
algoritma percabangan lebih dari dua
kondisi:
Ø Terdapat
tiga bilangan X,Y,dan Z.Berapakah nilai biangan terkecil dari ketiga bilangan
tersebut jika dibandingkan dengan bilangan 5?Tuliskan algoritma berdasarkan
kondisi tersebut!
Program cari_bil_terkecil_dibanding_5
Deklarasi
X : integer
Y :
integer
Z : integer
Bil : integer
Algoritma
Read (x)
Read (y)
Read (z)
Bil
5
If x < bil then
Write (‘Bilangan terkecil adalah ‘,x)
Else if y <
bil then
Write (‘Bilangan terkecil adalah ‘,y)
Else if z
< bil then
Write (‘Bilangan terkecil adalah ‘,z)
Else
Write (‘Tidak ada bilangan yang lebih
kecil dari 5’ )
End if
|
D.PERCABANGAN BERSARANG
Logika
percabangan bersarang adalah metode penyeleksian di dalam proses percabangan
atau terdapat percabangan di dalam percabangan.
Contoh
penulisan algoritma percabangan bersarang adalah sebagai berikut:
Ø Sebuah perusahaan memiliki kebijakan
tentang system penggajian terhadap karyawannya dengan ketentuan sebagai
berikut:
·
Golongan
3A memiliki gaji pokok Rp.1.000.000,00 ditambah dengan tunjangan.
ü Jika memiliki keluarga lebih dari 2, tunjangan
=
+
Rp.100.000,00
ü Jika memiliki keluarga kurang dari
2,tunjangan =Rp.100.000,00
·
Golongan
3B memiliki gaji pokok Rp2.000.000,00 ditambah dengan tunjangan.
ü Jika memiliki keluarga lebih dari 2,
tunjangan =
+
Rp.300.000,00
ü Jika memiliki keluarga kurang dari
2,tunjangan =Rp.300.000,00
Jika seorang karyawan dengan golongan ‘3A’
memiliki 4 orang anggota keluarga ,total
gaji yang diterima adalah:
·
Gaji
= Rp. 1.000.000,00
·
Tunjangan =
+Rp.100.000,00
=Rp 600.000,00
·
Total
gaji = Rp.1.0000.000,00
+Rp.600.000,00
=Rp.1.600.000,00
Program hitung_gaji
Deklarasi
Gol : string
Gaji : integer
Tunj : integer
Keluarga : integer
Algoritma
Read (Gol)
Read (keluarga) ,
If gol = ‘3A’
then
|
If
keluarga > 2 then
Tunj
+ 100.000
Else
Tunj
100.000
End if
Else if
gol = ‘3B’
then
Gaji
200.000
If keluarga > 2
then
Tunj
+300.000
Else
Tunj
300.000
End if
Else
Write ('Golongan yang Anda inputkan salah')
End if
Gaji gaji +
tunj
Write (gaji)
|
E.PERCABANGAN DENGAN CASE
Pada program kompleks dengan banyak
kemungkinan kondisi yang bias terjadi,maka struktur percabangan dengan
“if…then” kurang efisien.Alternatif yang dapat digunakan adalah dengan menggunkan struktur
case.Namun,sebagai catatan khusus bahwa tidak semua bahasa pemrograman
mendukung struktur percabangan case.
Bentuk
penulisan struktur percabangan case adalah sebagai berikut:
Case ekspresi
Nilai ekspresi ke-1 :aksi
1
Nilai
ekspresi ke-2 :aksi 2
Nilai
ekspresi ke-3 :aksi 3
….
Nilai
ekspresi ke-n :aksi n
Otherwise :aksi x
End case
|
Program konversi_nama_bulan
Deklarasi
X :
integer
Algoritma
Read (x)
Case x
1 : write (‘Januari’)
2 : write (‘Februari’)
3 : write (‘Maret’)
4 : write (‘April’)
5 : write (‘Mei’)
6 : write (‘Juni’):
7 : write (‘Juli’)
8 : write (‘Agustus’)
9 : write (‘Sepember’)
10 : write (‘Oktober’)
11 : write (‘November’)
12 :
write (Desember’)
Otherwise :
write (‘Angka yang Anda
inputkan salah ’ )
End case
|
No comments:
Post a Comment