I
Buku Pegangan Praktikum Pemrograman
I
Modul 2 Analisa kasus (Pencabangan) dan Pengulangan TUJUAN PRAKTIKUM:
1. 2. 3. 4.
Praktikan dapat mengimplementasikan pengkondisian dalam program Praktikan mengerti esensi penggunaan Perulangan (Looping) dalam Algoritma dan Pascal. Praktikan memahami bentuk umum Perulangan (Looping).
Praktikan mampu memecahkan masalah sederhana dengan menggunakan Perulangan dan mengimplementasikan ke dalam pascal
Pendahuluan
Modul ini membahas
3
lnstruksi yang terkait dengan statement pencabangan, dan 2 statement
instruksi pengulangan.
Staternent Pencabangan
1. 2.
lf-then
Depend on Statement pengulangan
1,.
2. s","3r.r''
:
:
For- to - do While - do
iilto1rt, l"?t'f"r.nn,r, diharapkan praktikan dapat membuat program untuk
menangani
permasalahan tertentu dengan melibatkan instruksi pencabangan dan instruksi pengulangan.
2.1. F,ra9isa Kasus (Pencabangan) iika kit;,r rrendefinisikan a na lisa kasus bera rti juga mendefinisikan : a kcr'riisi: yang berupa suatu ekspresi booelan yang menghasilkan true atau false a aksi: yang akan dilaksanakan jika kondisi yang dipasangkan dengan aksi yang bersangkutan dipenuhi Jadi dalam memecahkan masalah, kita harus menganalisis kasus-kasus apa saja yang mungkin ada, lalu
aksi apa saja yang harus dilakukan bila suatu kasus dilaksanakan. Adanya pemilahan kasus-kasus, menyebabkan terjadinya pemilihan instruksi dalam algoritma, bergantung pada kasus yang memenuhi kondisi yang ditentukan.
z.L.L. Statement lf Pernyataan if
-
- Then
then dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi. Bentuk
statement ini ada 2 macam
:
1. lf - then 2. lf - then - else
L0
Fakultas Sains IT Telkom
1
Buku Pegan an Praktikum Pemrograman 2.L.L.t. Pernyataan if -then Notasi algoritma dan pada bahasa pascal untuk analisa'kasus menggunakan Struktur if - then adalah sebagai berikut.
:.
Tabel 2.1 : notaii /struktur lF satu kasus
rf (kondisi) then Aks i;
If (kondisi) then Aksi
ConLoh:
Progran Usia].t Uses crti Contoh: Program Karmrs
var : usia : integer
Usial
:
Usia : integer AlgoriUna: Output ('Masukkan usia' ) Input (usia) If (usia < 17) then output ('Anda t.idak boleh menonton'
begin
)
clrscr; writeln ('masukkan usia' ) readln(usia); ;;--(";d\;:; -aa /usra
readln; End.
I r I
Jika kondisi terpenuhi, maka aksi akan dijalankan. Tetapi jika kondisi tidak dipenuhi, maka tidak melakukan aksiapapun. pENTING
Jika jumlah aksi lebih dari satu, tambahkan beein {di awal) dan endi (di akhir}.
+
-
Contoh 2.1 Contoh algoritma jika aksi lebih dari 1 pada struktur if-then satu kasus adalah sebagai berikut. Contoh::2J
:,!ii:i
Dalam Pascal
Dalam Notasi Algoritmik
rf (kondisi) then Aksi
If (kondisi) then Aksi; Contoh: Program Contoh2l-;
crgi Var : A: integer; UseB
Program Contoh2lKamus
Begin
:
A : integer Algoritma : Input ( a ) If (a>0) then output ( 'A bernilai positif') ; Output('Atau A lebih besar dari nol')
c1rger; Writeln ('Masukkan a') neadln(a); If (a>0) then
t
begin
writeln ( 'A bernilai positif' ) ; writeln('Atau A lebih besar dari no1' ) ;
End; Readln,' End.
Fakultas Sains IT Telkom
L7
Buku Pegangan Praktikum Pemrograman 2.L.L.2. Pernyataan if
Z.t.t.Z.t.Dua
- then - Else
Kasus
Contoh 2.2 Berikut ini adalah contoh dan notasi algoritma dan bahasa pascal untuk analisa kasus menggunakan struktur if
- then dua
kasus.
Contbh 2.2 Dalam Notasi Algoritmik
If (kondisi)
If (kondisi) then
chen
eksilElse Aksi2
Else
Program Contoh22 Kalnus :
Prograilt Contoh22,' Uses crt,'
Al<si1 aJ<si2;
\Iar : usia: integer,'
usia : int,eger
Output ('masukkan usia' ) Input (usia) if (usia < 17) then output('Anda tidak boleh menonton') e].se
output ('Silakan Menonton'
)
Begin
clrscr; Writeln ('Masukkan usi-a' ) ; R""E.1EQ-;;,2(.4 g;q < tl) > 0D t't if/(usia r)ffiaa Lidak boleh menonton.) else writeln ( 'Silakan Menonton' ) readln; ,'
end.
Stuktur
if - then - else, jika kondisi true, yang dijalankan aksi1, jika tidak terpenuhi maka
yang
dijalankan adalah aksi2. PENTING
+
Untuk dua kasus atau lebih, sebelum else tidak boleh ada
titik koma
(;1.
2.t.1.2.2. Tiga Kasus atau lebih Pemakaian struktur
if tiga
kasus atau lebih hampir sama dengan struktur lF dua kasus. Hanya saja
penulisannya ditulis bertingkat. Berikut ini adalah contoh dan notasi algoritma dan bahasa pascal untuk analisa kasus menggunakan struktur lF tiga kasus. contoh 2.3 Dalam Notasi Algoritmik
If (kondisil) then AksilELse if (kondisi2) then Aksi2 Else rf (kondisi3) then Aksi3
t2
rf (kondisi) then Aksil-
Else if
(kondisi2) then
Aksi2
Else If (kondisi3) aksi3;
Uhen
Fakultas Sains IT Telkom
Buku Pegangan Praktikum Pemrograman Progran Contoh23 Uses crti
Prograilr Contoh23 Kailrus :
Var : A: j"nteger;
A : integer
Begin
clrscr; . writeln ('Masukkan a'),'
Algoritma : Output ('masukkan a') lnput (a)
Readln(a); genal (a mod 2 = o) rhen -dqq^') writeln t 'a @sU,a:l6Gitif Else rf, (a nooTTTFen-ea-wriLeln t 'a6"]iTraT-""@\ I
.rf
If (a
rnod 2 = 0) then output ('A bilangan genap') Else rf (a mod 2 =1) then OuLbut
('A bilangan ganjil'
)
Eise
output('A angka nol')
@\
Writeln('A angka
Else
no1
'),' "
u
Readln,' End.
Contoh 2,4 Silakan anda ketik contoh program di bawah ini sebagai bahan latihan dan pahami kode programnya.
lrl
Dalam Pascal
Dalam Notasi Algoritmik
Program CekBilangan Kanrrs
{deklarasi variabel} Inteqer
a, b:
Algoritsma
Input (a) Input (b) rf (a>0) and (b>0)then output('a dan b positif') Else output(' a,b ada yang negatif atau nol')
Program CekBilangan; Uses crti Var a, b: Integer;
Begin
clrscri
Writse ('Masukkan a '); Readln (a)
;
Readln (b)
;
Write ('Masukkan b ')
,'
If (a>0) and (b>0)then writeln('a dan b positif')
Else
writ,eln('a,b ada yang negatif atau nol'); readln; end.
Kondisi dalam struktur if-then di atas adalah suatu ungkapan logika. Apa yang dapat anda simpulkan
?
2.1.2. Statement depend-on
Struktur depend-on sering digunakan jika jumlah kondisi lebih dari 3 (banyak kondisi). Struktur ini dapat menyederhanakan penulisan if-then bertingkat sebagaimana pada contoh sebelumnya. Notasinya adalah sebagai berikut.
:i;:,:;r
Fakultas Sains IT Telkom
i&,
13
Buku
DeBend
P
n Praktikum Pemrograman
on (varidbel)
Kondisil: aksil Kondisi2: aksi2
KondisiN: aksiN
Case
variabel of
Kondisil : aksil-,' Kondisi2 : aksi-2,'
Kondisi3 : aksi3,' End,'
Syarat'dari notasi depend-on yaitu:
-
bernilai [true'false] Kondisil,Kondisi2,Kondisi3,""KondisiN domainnya
-KondisilnKondisi2nKondisi3^..'.^KondisiN=a.Berartisemuakondisidisjoint,tidakada kasus yang tercakup pada dua buah kondisi'
-
mencakup segala kemungkinan Kondisil u Kondisi2 t-.r Kondisi3 \J ."' \-J KondisiN sebagai ekspresi lojii< yang mengandung nama-nama Kondisil,Kondisi2,Kondisi3,....Konaisin aO]arr operan.
Contoh 2.5 penggunaan struktur depend on Berikut adalah contoh program untuk
14
Fakuitas Sains IT Telkorn
Buku Pe an
n Praktikum Pemrograman
2.2. Pengulangan Definisi Pengulang an lLooPingl
pengulangan dalam algoritma didefinisikan sebagai bentuk algoritma yang berfungsi untuk mengulang perintah-perintah baris program dengan aturan tertentu.
I
t
I
2.2.L. Struktur Pengulangan (Loo pi n gl Struktur pengulangan secara umum terdiri dari atas dua bagian : I. Kondisi pengulangan, yaitu berupa ekspresi Boolean yang harus dipenuhi untuk melaksanakan kondisi pengulangan. Kondisi ini mengakibatkan suatu kondisi pengulangan akan berhenti pada saat kondisi Boolean tersebut terpenuhi. 2. Badan (body) pengulangan, yaitu suatu aksi (bagian algoritma) yang harus diulang selama kondisi yang ditentukan untuk pengulangan tersebut masih dipenuhi.
2.2.2.Jenis Pengulangan Dalam Algoritma Didalam algoritma kita mengenaladanya bentuk- bentuk pengulangan seperti 1. For-to-do 2. While Do 3. Repeat Until
:
2.2.2.t. For-to-do l
Bentuk pengulangan Travcrsal digunakan untuk pengulangan yang mempunyai jumlah pengulangan yang telah dipastikan sebelumnya. Bentuk umum dari pengulangan Traversal adalah sebagai berikut : Tabel 1.3: For-to-do
I
ror variabel3encacah *' rril;rj-1 to ni1ai2
do
Aksi i I
l
Maksud dari bentuk di atas adalah akan dilaksanakan aksi sebanyak N kali, dimana n -' (ni1ai2ni1ai1.)+1. Variabel_pencacah harus suatu type yangterdefinisi suksesor dan predesesornya, setelah pelaksanaan pengulangan selesai, harga yang tersimpan pada namo-pencacah tidak terdefinisi : jika hendak dipakai, harus didefinisikan kembali.
Contoh 2.6 struktur for- to-do
Berikut adalah contoh Contoh.2.6
Dalam Pascal
Dalam Notasi Algoritmik
Program contoh26;
Prograln contoh26
Uses crt,' Var I , N: integ:er; Eegin
Kamus
i, N: rntcger Algoritma Input (N) For i-1 to N output ('looping OutpuL ( i )
ke -, i')
clrscr; Writeln('masukkan n ') neadln (N)
;
;
For i:=1 to N do begin
writeln ( 'looping t<e-l i I Ufriffifj:b writeln;
End;
Readln; End.
Fakultas Sains IT Telkom
L5
l
Buku Pe Contoh 2.7 Berikut ini bentuk implementasi lain
n Praktikum Pemrograman
sca
Contoh 2.7 Dalam Pascal
Dalam Notasi Algoritmik
Program Contoh2?; Uses crt; Var I , N: inLeqer,' Begin
Program Contoh27 Kamrs i- , N: integer Algoritma rnput (N)
For i-N downt-o
1.
Out-put('1popi,ngt,
output ( i ):r
ke-', i)
cLrscrt
Writ,eln('Masukkan n'); Readln (N)
:.''
;
For i:=N downto 1
do
Begin
Writeln('looping ke-',i) !l=its+l*4i) ;
End;
Readln; End.
2.2.2.2. Repeat-tj i: ti i
llcntuk pe
pengulanga:n
i{epeat-Until digunakan untuk pengulangan yang mempunyai jumlah
ngulangan yang tidak dipastikan sebelumnya. Bentuk umum dari pengulangan Repeat-Until adalah
sebagai berikut
:
"l-abel,l.;4:rnotasi struktur Repeat Until
Repeat AKSI IJnt-r
I (kondi.:;i bcrhcnti)
dari bentuk diatas adalah akan
dilaksanakan AKSI secara berulang-ulang sampai (bernilai TRUE). Pada bentuk pengulangan ini, pengulangan akan terus terpenuhi kr:t:tiisi_*berhenti (bernilai false), dan jika kondisi_berhenti terpenuhi, dilakul
Eentuk pengulangan Repeat-Until di atas dapat diterapkan dalam Pascal dengan menggunakan bentuk pengulanga n llepeat-Until.
Contoh 2.8 Berikut adalah contoh program dengan menggunakan struktur repeat-until
Dalarn Notasi Algoritmik Progrann Contoh2S Kanius
.i, N: inl-eger Algoritma out-put- ( 'Masukkan
lnpuL
(N)
i€1
clrscri Writeln ('Masukkan n') Readln (N)
Repeat OuLput
(
OLri-put-
(
i€i+1
Progran contolr2S; Uses crt; Var I , N: integer; Begin
'looping ke-, i )
i
)
l-
r
;
;
=l.;
reBeat
writeln('Looping ke-t, i)
,.rd?-i.t#{-i)
;
;
Yt|M*:Y:X:|:yt: 1_6
Fakultas Sains IT'l'elkom
Buku Pegan
n Praktikum Pemrograman i: =i+1i unril (i>N) readln;
;
end.
terpenuhi, maka dilaksanakan AKSI' Maksud dari bentuk diatas adalah selama kondisi-pengulongon (bernilai pada bentuk pengulangan ini, pengulangan akan terus dilakukan selama kondisi terpenuhi pengulangan maka AKSI tidak dilakukan atau TRUE), dan jika kondisilidak terpenuhi (bernilai FALSE), pengecekan kondisi dilakukan di awal' berhenti. Jumlah pengulangan ini minimal nol kali, karena Pascal dengan menggunakan bentuk Bentuk pengulangan wrril"-oo diatas dapat diterapkan dalam pengulangan While-Do. Contoh 2.9
Berikut adalah contoh
mde
unaka n struktur
while-do
Contoh 2.10 Berikut adalah contoh program untuk mencari nilai rata-rata
Fakultas Sains IT Telkom
17
Buku Pe
n Praktikum Pemrograman
for i*1 t.o N Input (nilai ) jumlah € jumlah + nilai rata2? jumlah/N output (raxa2)
jumlah:
| I I |
=0 ;
tor i:=1 to N do
Uegin
readln(nilai) j umlah
:=
;
j umlah+ni1ai
endi rata2 =jumlah/N,.
;
3
writeln(rata2); readln; end. .:t.i .
Dalam Notasi
Algoritmik
Progiram Password
,.
I
Oalam pascal
Progran Password,. tt6es crt,-
Kanus
pass:
.
string
var Pass:string;
Algoritma
Begin
Repeat
Output('masukkan password: . ) Input (pass ) Unt,il (pass= . prolab. ) output. ( .password anda benar. )
clrscr;
Repeat
C1rscr,.
Writeln('Masukkan password: ') Readln (pass ) Itntil (pass= .prolab, ) Writeln ( 'password anda benar. )
;
,.
,.
,.
Read1n,.
end.
Perbedaan antara struktur " repeat until ,, dengan ,, while do ,, adalah : 1' Paling sedikit statemen-statemen dalam repeat until diproses sekali, karena seleksi kondisi ada pada statemen until yang terletak dibawah.
2'
3.
Paeja while do paling sedikit dikerjakan nol kali, karena seleksi kondisi ada pada statemen while yang terletak diatas, sehingga apabila kondisi tidak terpenuhi maka tidak akan masuk ke
dalam
lingkungan pengula ngannya.
Pada repeat until dapat tidak menggunakan blok statemen ( BEGIN dan END ) untuk menunjukan batas pengulangannya, karena batas pengulangannya sudah ditunjukkan oleh repeat sampai dengan until.
Soal Latihan
1'
Buatlah program untuk mendapatkan indeks dari suatu nilai yang diinputkan dengan aturan >= Nilai 80 , indeks A
70<=Nilai<80, indeks
B
60<=Nilai<70, indeks
C
50<=Nilai<60, indeks
D
Nilai<S0 , indeks
E
:
Note : gunakan case-of
Fakultas Sains IT Telkom
Buku Pe 2.
n Praktikum Pemrograman
Buatlah sebuah program untuk menghitung total harga barang yang mengikuti aturan berikut! Jika
jumlah barang yang dibeli < 100 buah, maka harga per barang adalah Rp 10.000,-
Jika
jumlah barang yang dibeli >= 100 buah, maka harga per barang adalah Rp 9.500,-
Jikajumlahbarangyangdibeli>150buah,makahargaperbarangadalahRp9.000,3.
Ubahlah struktur pengulangan repeat-until dalam co4toh program password, dalam struktur whiledo
4..
Buatlah Pola bintang seperti gambar dibawah ini berdatarkan inputan user
input
:
:
masukkan nilai N
output
:5
:
*** *****
JJJJJJ;input : masukkannilai N:3 output :
*** {.****
5.
Buatlah sebuah program untuk mencacah bilangan ganjil dan genap Contoh output Jumlah data = 6 Masukkan bilangan bulat > 0
Bilke-1=2 Bilke-1=4 Bilke-1=5 Bil ke
- L=2L
Bilke-L=33
Bil ke - 1. = 2OO Cacah bilangan ganjil= 3 Cacah bilangan genaP = 3
Fakultas Sains IT Telkom
L9