TUGAS 2
Disusun Oleh :
Sakina Mawardah
Teknik Informatika
Dosen :
Asep M. Yusuf, S.T
A. Algoritma Percabangan........................................................................................... 1
1. Pengertian Algoritma Percabangan .................................................................. 1
2. Ekspresi Boolean ............................................................................................... 1
3. Algoritma Teks dan Flowchart Percabangan .................................................... 3
4. Percabangan Tersarang .................................................................................... 6
5. Menggunakan Operator Boolean ..................................................................... 8
6. Percabangan 3 Kondisi atau Lebih .................................................................... 10
Pada algoritma runtunan telah kita lihat bahwa setiap pernyataan selalu
dilakukan bila telah sampai gilirannya. Namun demikian ada kalanya suatu pernyataan
atau perintah hanya bisa dilakukan bila memenuhi suatu kondisi atau persyaratan
tertentu. Algoritma ini kita sebut dengan algoritma seleksi kondisi atau juga
percabangan.
1. Mulai
2. Masukkan satu bilangan (X)
3. jika X habis dibagi dua maka lanjut ke 4. Jika tidak
lanjut ke 5
4. tulis ‘X bilangan genap’. Lanjut ke 6.
5. tulis ‘X bilangan ganjil’
6. Selesai
Perhatikan bahwa ada dua kemungkinan perintah yang akan dikerjakan setelah
perintah ke-3 dikerjakan. Jika X habis dibagi dua maka selanjutnya perintah ke-4 yang
dikerjakan, kemudian melompat ke 6 (perintah 5 tidak dikerjakan). Sebaliknya jika X
tidak habis dibagi dua perintah selanjutnya melompat ke-5 (perintah 4 tidak
dikerjakan) dan kemudian berakhir pada perintah ke-6.
2. Ekspresi Boolean
Ada dua komponen utama dalam ekspresi percabangan yaitu kondisi dan
pernyataan. Kondisi adalah syarat dilakukannya sebuah (atau sekelompok)
pernyataan, sedangkan pernyataan dalam konteks ini adalah perintah yang berkaitan
dengan suatu kondisi. Contoh umum pernyataan kondisi-pernyataan
1
1. Jika hari hujan, maka saya tidak jadi keluar rumah
kondisi pernyataan
2. Jika nilai ujian lebih besar atau sama dengan 60, maka ujian dinyatakan lulus
kondisi 1 pernyataan 1
Jika nilai ujian kurang dari 60, maka ujian dinyatakan gagal
kondisi 2 pernyataan 2
1. Operasi Boolean.
1. z1 x and y
2. z2 a=2 or b=10
3. z3 not(x)
2
2. Operasi Relasional (Operasi Perbandingan)
1. z1 x > y
2. z2 a <> 10
3. z3 x + y = 17
4. z4 p div q < r
5. z5 p mod 2 = 0
Ada dua tipe algoritma percabangan yang akan kita bahas berikut ini yaitu :
- Satu kondisi (if-then) : artinya hanya ada satu kondisi yang menjadi syarat
untuk melakukan satu atau satu blok (sekelompok) pernyataan. Bentuk
umum algoritma teks standar percabangan dengan satu kondisi :
if <kondisi> then
pernyataan
3
Contoh.
if A>B then
write (A)
t
A>B?
Write(A)
- Dua kondisi (if-then-else) : artinya ada dua kondisi yang menjadi syarat
untuk dikerjakannya dua jenis pernyataan. Bentuk umum percabangan
dengan dua kondisi :
if <kondisi> then
pernyataan1
else
pernyataan2
4
Jika <kondisi> bernilai benar maka pernyataan1 dikerjakan.
Sedangkan jika tidak (<kondisi> bernilai salah), maka pernyataan yang
dikerjakan adalah pernyataan2. Berbeda dengan percabangan satu kondisi,
pada percabangan dua kondisi ada dua pernyataan untuk dua keadaan
kondisi, yaitu untuk <kondisi> yang bernilai benar dan <kondisi> yang
bernilai salah. Contoh algoritma percabangan dua kondisi :
if A>B then
write (A)
else
write (B)
Ekspresi di atas sedikit berbeda dengan sebelumnya. Perintah
menulis/menampilkan A dikerjakan hanya jika kondisi A>B bernilai benar,
sedangkan jika yang terjadi adalah sebaliknya maka pernyataan yang
dilakukan adalah menulis B. Secara flowchart pernyataan di atas dapat
ditulis sebagai berikut.
Write
A>B?
(B)
Write
(A)
5
Berikut ini adalah beberapa contoh lainnya.
a. If x > 0 then
ket ‘bilangan positif’
b. if m = n
i m*n
write(i)
c. if bil>=0 then
ket (‘bilangan positif’)
else
ket (‘bilangan negatif’)
d. if m = n then
i m*n
j m-n
else
i m/n
j m+n
write(i,j)
4. Percabangan Tersarang
Percabangan tersarang adalah percabangan di dalam percabangan. Banyak sekali
bentuknya, namun salah satu contohnya adalah sebagai berikut.
If <kondisi1> then
if <kondisi2> then
Pernyataan1
else
Pernyataan2
else
If <kondisi3>
Pernyataan3
else
6
Pernyataan4
t y
Kondisi1
Kondisi3 Kondisi2
Deklarasi
Bil : integer
Ket : string
Deskripsi
read (bil)
if bil mod 2 = 0 then
if bil mod 5 = 0 then
Ket ‘ Kelipatan 2 dan Kelipatan 5’
7
else
Ket ‘ Kelipatan 2 tapi Bukan Kelipatan 5’
else
if bil mod 5 = 0 then
Ket ‘Bukan Kelipatan 2 tapi Kelipatan 5’
else
Ket ‘Bukan Kelipatan 2 atau 5’)
Write(Ket)
Algoritma yudisium1
Deklarasi read (IPK,
MK)
IPK, MK : real
Ket : string
Deskripsi (IPK>=3.5) t
and (MK <=4)
Read (IPK,MK)
If (IPK>=3.5) and (MK<=4) y
ket <-- 'tidak cum
then ket <-- 'cum laude'
laude'
8
Penjelasan
Mula mula IPK dan MK, misalnya, kita beri nilai 3.6 dan 4. Karena kondisi (IPK>=3.5) and
(MK<=4) bernilai benar maka perintah berikutnya adalah Ket ‘cum laude’. Sehingga
ketika perintah Write (Ket) menghasilkan output ‘cum laude’. Cobalah menganalisa soal
ini dengan memberikan input yang lain.
Algoritma yudisium2
Deklarasi
IPK, MK : real
Ket : string
Deskripsi
read (IPK,MK)
if IPK>=3.5 then
if MK<=4 then
else
else
write (Ket)
9
Di sini terlihat algoritmanya menjadi sedikit rumit. Kerumitan bertambah
karena kita harus membuat percabangan dalam percabangan (percabangan
tersarang). Selain itu penulisan Ket’Tidak cumlaude’ harus ditulis dua kali agar
tujuan algoritma dapat dicapai. Dengan demikian penggunaan operator logika dalam
hal ini jelas menyederhanakan algoritma di atas.
If <kondisi1> then
Pernyataan1
Pernyataan2
...
Pernyataan(n)
else
Pernyataan(n)
10
y
<kondisi1>? aksi1
y
<kondisi2> aksi2
aksi(n+1)<--0
11
B. ALGORITMA PENGULANGAN
1. Algoritma Perulangan
Ada kalanya untuk menyelesaikan suatu masalah, satu atau beberapa perintah harus
dikerjakan beberapa kali. Misalnya anda hendak menampilkan tulisan algoritma sebanyak
tiga kali. Maka algoritmanya dapat ditulis
1. Mulai
2. Tulis ‘Algoritma’
3. Tulis ‘Algoritma’
4. Tulis ‘Algoritma’
5. Selesai
Algoritma
Algoritma
Algoritma
Contoh lain. Anda hendak menghitung suatu bilangan dipangkatkan tiga. Maka
algoritmanya dapat dituliskan
1. Mulai
2. Masukkan bilangan X
3. Set nilai Y=1
4. Kalikan X dengan Y, simpan sebagai Y
5. Kalikan X dengan Y, simpan sebagai Y
6. Kalikan X dengan Y, simpan sebagai Y
7. Tulis (Y)
8. Selesai
12
Atau dalam algoritma standar ditulis
Deskripsi
Read(X)
Y1
YX*Y
YX*Y
YX*Y
Write(Y)
Jika input algoritma (X) adalah 2, maka dengan tabel penyimpanan data
Perintah X Y Ouput
Read(X) 2
Y1 1
YX*Y 4
YX*Y 8
YX*Y 16
Write(Y) 16
Cara ini memang dapat menyelesaikan permasalahan tersebut di atas, tapi sangat
tidak efisien dalam penulisannya. Bayangkan kalau pengulangannya dilakukan sebanyak
1000 kali, maka kita harus menulisnya sebanyak seribu kali pula. Tentunya akan sangat
merepotkan. Untuk itu kita perlu mengenal satu lagi algoritma dasar yaitu algoritma
pengulangan. Dengan algoritma ini kita cukup menuliskan perintahnya sekali untuk
pengulangan berapapun banyaknya.
13
Bila mengacu pada bahasa pemrograman Pascal, terdapat tiga ekspresi algoritma
untuk pengulangan :
1. for-do
2. while-do
3. repeat-until
- Kondisi pengulangan : Setiap aksi atau kumpulan aksi dikerjakan jika memenuhi kondisi
tertentu. Selama kondisi terpenuhi aksi akan terus dikerjakan
- Badan pengulangan : bagian aksi yang diulang
- Nilai awal atau inisialisasi : Pemberian nilai satu atau beberapa variabel sebelum
pengulangan dilakukan.
2. Pengulangan For-Do
Ada 2 macam pengulangan for-do, yaitu for-do menaik dan for-do menurun. Berikut ini
adalah bentuk umumnya.
For-do menaik
Var ni...nf
pernyataan
For-do menurun
For variabelnilai_awal downto nilai_akhir do
Pernyataan
14
Flowchart for-do menurun
Var = ni...nf
pernyataan
Kondisi pengulangan for secara tersirat dapat dilihat pada ni (nilai_awal) dan nf
(nilai_akhir); Nilai yang terkandung pada var mula-mula sama dengan nilai_awal, kemudian
bertambah (berkurang) sebanyak satu, kemudian berhenti setelah var lebih besar (lebih kecil)
nilai_akhir.
Contoh
var 3…1
for i1 to 3 do
Write(‘Halo’)
Write (‘Halo’)
15
Dengan demikian outputnya dapat kita nyatakan seperti berikut :
Halo
Halo
Halo
Kita dapat membuat output yang sama seperti di atas dengan for-do menurun.
Write (‘Halo’)
16
3. Perulangan While-Do
Secara umum algoritma while adalah :
while <kondisi> do
begin
pernyataan
end
sedangkan bentuk flowchartnya
t
<kondisi>?
y loop
Aksi
Teks algoritma dan flowchart di atas menunjukkan bahwa ada pengecekan kondisi
dulu sebelum aksi berikutnya dilakukan. Aksi di bawah kondisi dikerjakan jika kondisinya
atau lebih tepatnya nilai boolean kondisi bernilai benar. Jika kondisi bernilai salah maka
proses akan ‘melompat’ atau mengerjakan aksi yang berada di luar loop.
Contoh soal.
Buat algoritma menampilkan deret 2, 4, 6, …, N. N adalah masukan berupa bilangan genap.
Algoritma deret
Deklarasi
N,x : integer
Deskripsi
read(N)
17
x2
while x<=N do
Write(x)
xx+2
begin
read
(N)
x<--2
t
x<=N
write (x)
x<--x+2
End
18
Untuk input N = 8, tabel penyimpanan datanya dapat kita nyatakan sebagai berikut.
Read(N) 8
x2 2
Blok pengulangan
4. Perulangan Repeat-Until
Secara umum algoritma repeat-until adalah
repeat
aksi
until <kondisi>
19
sedangkan bentuk flowchartnya
Aksi
loop
t
<kondisi>
Secara umum teks dan flowchart di atas berarti bahwa aksi tidak dikerjakan lagi jika kondisi
bernilai benar.
20