Anda di halaman 1dari 10

Algoritma dan Pemrograman

Komputer
JOBSHEET 4
PERULANGAN (LOOPING)
5.1 Tujuan Instruksina! "#usus
1. Mahasiswa dapat membuat program menggunakan perulangan for, while dan
do..while.
2. Mahasiswa dapat membuat program menggunakan perulangan didalam
perulangan atau perulangan bersarang (nested loop).
5.$ P%n&a#u!uan
Proses pengulangan hampir selalu dapat dijumpai dalam berbagai baik yang bersifat
teknik maupun masalah-masalah umum . Dalam urbo !" proses pengulangan ini
dimungkinkan dengan disediakannya berbagai perintah loop" dimana setiap perintah
loop memiliki keunikannya sendiri. #uatu proses pengulangan yang kurang $o$ok
diselesaikan dengan sebuah perintah loop" mungkin akan sangat tepat diselesaikan
dengan perintah loop yang lain. %adi sangat penting untuk memilih perintah loop yang
tepat dalam menyelesaikan suatu masalah pengulangan untuk memperoleh program
yang seefektif mungkin.
5.$.1 P%n'u!an'an &%n'an (r
Perintah pengulangan pertama yang akan kita pelajari adalah for. &entuk umum
pernyataan for adalah sebagai berikut'
(r( inisia!isasi) s*arat +%n'u!an'an) +%ru,a# ni!ai +%n-a-a#)
+%rn*ataan.+%rinta# )
&ila jumlah pernyataan atau perintah di dalam for lebih dari satu" maka pernyataan-
pernyataan atau perintah-perintah tersebut harus diletakkan di antara tanda kurung.
(r(inisia!isasi) s*arat +%n'u!an'an) +%ru,a# ni!ai +%n-a-a# )
/
P%rn*ataan . +%rinta# )
P%rn*ataan . +%rinta# )
P%rn*ataan . +%rinta# )
0
(rgumen dari pernyataan for terdiri dari tiga bagian yaitu' )nisialisasi" syarat
pengulangan" dan perubah nilai pen$a$ah" dimana setiap bagian ini dipisahkan dengan
titik koma ('). )nisialisasi merupakan bagian untuk memberikan nilai awal bagi
*ariabel-*ariabel tertentu" terutama bagi *ariabel pen$a$ah. Pemberian ( nilai ini
hanya dilakukan sekali saja yaitu pada waktu pengulangan mulai dilaksanakan"
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
selama proses pengulangan )nisialisasi tidak akan dllakukan lagi. +ntuk $ontoh-
$ontoh di awal pembahasan" )nisialisasi hanya akan dilakukan bagi *ariabel pen$a$ah
saja" namun pada $ontoh-$ontoh lebih lanjut inisialisasi tidak hanya akan dibatasi
pada *ariabel pen$a$ah saja" namun juga *ariabel-*ariabel lain yang
membutuhkannya. #yarat pengulangan memegang kontrol terhadap pengulangan.
karena bagian inilah yang akan menentukan apakah pengulangan masih harus terus
dilaksanakan ataukah harus dihentikan. Pengulangan akan dilakukan selama syarat ini
dipenuhi" dan bila syarat tersebut sudah tidak dipenuhi lagi" maka pengulangan akan
dihentikan. #yarat Pengulangan dapat berupa ekspresi relasional ataupun ekspresi
logik. Perubah nilai pen$a$ah" sesuai dengan namanya. akan mengatur perubahan
nilai *ariabel pen$a$ah. #ifat perubahan nilai ini dapat berupa kenalkan ataupun
penurunan nilai pen$a$ah. Perubah nilai pen$a$ah dapat dinyatakan dalam bentuk
ekspresi ataupun dalam bentuk *ariable. ,etiga bagian ini tidak harus selalu
berhubungan satu sama lain" dalam arti bahwa penggunaan *ariabel pada setiap
bagian tidak perlu sama misalnya pada bagian )nisialisasi" kita memberi nilai awal
pada *ariabel pen$a$ah" pada bagian syarat pengulangan" syarat yang diberikan tidak
harus berdasarkan *ariabel pen$a$ah.
5.$.$ P%n'u!an'an &%n'an 1#i!%
Pengulangan dengan while merupakan suatu bentuk pengulangan yang mirip dengan
for" namun dengan bentuk yang lebih sederhana. Pernyataan while ini merupakan
pengulangan yang dikendalikan oleh suatu syarat tertentu" dalam arti pengulangan
akan terus dilaksanakan selama syarat tersebut dipenuhi" dan akan dihentikan bila
syarat tersebut sudah tidak dipenuhi lagi. #yarat pengulangan dapat berupa ekspresi
relasional atau ekspresi logik. &entuk umum dari perintah ini'
inisia!isasi )
1#i!%(s*arat)
/
+%rn*ataan.+%rinta#)
+%rn*ataan.+%rinta#)
22222222.. )
+%ru,a#an ni!ai )
0
5.$.3 P%ru!an'an &%n'an &..1#i!%
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
Pengulangan dengan do while merupakan kebalikan dari pengulangan dengan while
ataupun for. &ila dalam while dan for pemeriksaan terhadap syarat pengulangan
dilakukan dl awal loop" pada pengulangan do while pemeriksaan terhadap syarat ini
dilakukan di akhir pengulangan. &entuk umum pernyataan ini adalah'
inisia!isasi )
&
/
+%rinta#.+%4*ataan)
+%rinta#.+%4*ataan)
2222222 )
+%ru,a#an ni!ai)
0
1#i!% (S*arat +%ru!an'an))
5.$.4 P%ru!an'an ,%rsaran' (N%st%& L+)
Di dalam pernyataan for boleh terdapat for yang lain" bentuk yang demikian disebut
sebagai nested for. &entuk format dari perulangan ini adalah sbb.'
(r(inisia!isasi) s*arat) +%ru,a#an ni!ai)
/
(r(inisia!isasi) s*arat) +%ru,a#an ni!ai)
/
+%rn*ataan . +%rinta#)
+%rn*ataan . +%rinta#)
0
0
5.3 P%ra!atan
1. 1 set $omputer
2. #oftware turbo !
5.4 Lan'ka# "%rja
1. &uatlah program seperti dibawah ini dan simpan dengan nama !on-1" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
main()
.
int bil"total/01
$lrs$r()1
23 !etak %udul 32
printf(45n6 otal 7)1
for(bi1/1 1bil8/101bil99)
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
.
otal 9/ bil1
printf(45n:d :d;" bil" total )1
<
printf (45n6ilai 6 setelah keluar dari =oop ' :d 7" bil)1
get$he()1
<
2. &uatlah program seperti dibawah ini dan simpan dengan nama !on-2" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
main()
.
int bil" total / 01
$lrs$r()1
23 $etak judul 32
printf(45n6 otal4)1
for(bil/11bil8/10199bil)
.
total9/bil1
printf(45n:d :d4" bill" total)1
<
printf(45n6ilai 6 setelah keluar dari =oop ' :d;" bil)1
get$he()1
<
>. &uatlah program seperti dibawah ini dan simpan dengan nama !on->" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Men$etak bilangan genap di antara 1 hingga 10 32
main()
.
int bil1
$lrs$r1
for(bil/21 bil8/101 bil9/2)1
.
printf (7:d 7" bil" total)1
<
printf(75n6ilai 6 setelah keluar dari =oop ' :d;" bil)1
get$he()1
<
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
4. &uatlah program seperti dibawah ini dan simpan dengan nama !on-?" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Men$ari rata-rata dari sejumlah bilangan 32
main()
.
int i" n1 23 n adalah jumlah bilangan 32
float bil" rerata" total/01 23 bil adalah bilangan yg akan dimasukkan 32
printf (75n%umlah bilangan ' 7)1
s$anf (7:d;"@n)1
for (i/11i8/n1 i99)
.
printf (7&ilangan ke :d ' 7"i)1
s$anf (7:f;"@bil)1
total 9/bil1
<
rerata/ total 2n1
printf (75nAata-rata bilangan tersebut ' :B.>f 7" rerata)1
get$he()1
<
5. &uatlah program seperti dibawah ini dan simpan dengan nama !on--" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Men$ari rata-rata dari sejumlah bilangan positif 32
main()
.
int i1
float bil" rerata" total/01
for (i/11 i8/- 1 i99)
.
printf(4&ilangan ke :d ' 7" i)1
s$anf(4:f4"@bil)1
total9/bi11
<
rerata/tota12(i-2)1
printf(4Aata-rata bilangan tersebut ' :B.>f;" rerata)1
get$he()1
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
<
6. &uatlah program seperti dibawah ini dan simpan dengan nama !on-C" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
main()
.
$har kar1
$lrs$r ()1
for (kar/DaE1kar8/EFD1 kar9/2)
printf(4:$ 4" kar)1
get$he()1
<
7. &uatlah program seperti dibawah ini dan simpan dengan nama !on-G" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 memasukkan data karakter 32
main()1
.
$har kar1
printf(75nProgram pengulangan tak berhingga;)1
for ( 1 1 )
.
printf(75n5n,etikkan satu karakter ' 7)1
kar/get$he()1
if (kar//DHD)
.
pritf(I5nJa$hhhKK &enar sekali I)1
break1
<
printf (75nMaaf" anda salah mengetikkan karakter 7)1
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
printf (75n!oba kembali" jangan putus asa 7)1
<
get$he()1
<
8. &uatlah program seperti dibawah ini dan simpan dengan nama !on-B" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Men$etak matriks 32
main()
.
int n"i" j"elemen1
$lrs$r()1
printf(45nDimensi Matriks ' 7)1
s$anf (7:d;" @n)1
printf(75n5n;)1
for(i/11 i8/n1 i99)
.
printf(75n;)1
for (j/11 j8/n1 j99)
.
elemen / i// j I 1 ' 01
printf(75t:d;" elemen) 1
<
<
get$he()1
<

9. &uatlah program seperti dibawah ini dan simpan dengan nama !on-L" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Progran Memilih suatu bilangan dengan do while 32
main()
.
int bil1
$lrs$r()1
printf(75nProgram memilih suatu bilangan4)1
printf(45n)nputkan s$buah bilangan bulat4)1
s$anf(4:d4"@bil)1
do
.
printf(45n(nda mengetikkan bilangan yang salah4)1
printf(45n!oba lagi ' 4)1
s$anf(4:d4"@bil)1
< while(bilK/0)1
printf.45n&enar #ekali" (nda hebat KKKK4)1
get$he()1
<
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
1.&uatlah program seperti dibawah ini dan simpan dengan nama !on-10" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Penggunaan break 32
main()
.
int i1
$lrs$r()1
for(i/11i8/101i99)
.
if(i//C)
break1
pritf(4:-d4"i)1
<
printf(75n(khir pengulangan;)1
get$he()1
<
11.&uatlah program seperti dibawah ini dan simpan dengan nama !on-11" kemudian
lakukanlah $ompile dan run" $atat hasilnya pada lembar kerja yang tersedia.
23 Penggunaan $ontinue 32
main()
.
int i1
$lrs$r()1
for(i/11i8/101i99)
.
if(i//C)
$ontinue1
printf(4:-d;"i)1
<
printf(45n(khir pengulangan4)1
get$he()1
<
5.5 L%4,ar "%rja
N Na4a 5i!% "%!uaran
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
1
$
3
4
5
6
7
8
9
1:
11
5.6 P%rtan*aan &an Tu'as
1. &uatlah flow$hart dan program untuk menghitung total bilangan ganjil dari 0
sampai dengan 20 I.
2. &uatlah program untuk menghitung total bilangan genap dari 0 sampai dengan
20 I.
>. &uatlah flow$hart dan program untuk menghitung total bilangan bulat
kelipatan > yang berkisar dari 0 sampai dengan 20. (&uatlah kenaikan
pen$a$ahnya/>" dan nilai awalnya dimulai dengan >) I.
?. P Polinos memberi komisi salesmannya berdasarkan ketentuan sebagai
berikut'
&ila salesman berhasil menjual barang seharga -00.000 maka akan mendapat
komisi sebesar 10: &lla lebih dari -00.000" untuk -00.000 pertama
komisinya 1 sedangkan sisanya mendapat 1-:. &ila perusahaan tersebut
memiliki 10 orang salesman" tentu komisi yang dlterima oleh setiap
salesmannya" serta total komisi yang telah dibayarkan oleh P Polinos kepada
ke 10 salesman tadi.
)nput' Masil penjualan 2 salesman
Nutput' ,omisi setiap salesman
Jobsheet 4: Perulangan (Looping) Halaman
Algoritma dan Pemrograman
Komputer
otal komisi yang dibayarkan P Polinos.
-. &uatlah flow$hart dan program dalam bentuk menu yang tampilannya seperti
berikut'
MO6+ ,N6POA#)
Q1R &&M
Q2R Mata +ang
Q>R #uhu
Q?R ,eluar
Dengan ketentuan sebagai berikut'
a. &&M meliputi premium" solar dan pertamaS" ditampilkan untuk pembelian
dari 1 liter hingga 10 liter dengan kenaikan 1. Marga &&M ditentukan
sesuai dengan harga saat ini.
b. Mata +ang meliputi Aupiah" Jen dan Dollar. ampilkan kon*ersi rupiah
dari 1000 hinga 10000 dengan kenaikan -00. 6ilai kurs mata uang yen dan
dollar ditentukan sesuai dengan kurs saat ini.
$. #uhu meliputi $el$ius" Tahrenheit dan Aeamur. ampilan kon*ersi suhu
dalam $el$ius ke Tahrenheit dan Aeamur dari 0 hingga 100 derajad dengan
kenaikan 10 derajad I.
d. ,eluar dengan menampilkan u$apan 7OA)M( ,(#)M;.
e. &ila tidak dipilih menu ,eluar maka program tetap menampikan MO6+
,N6POA#) walaupun telah dilakukan pilihan &&M" Mata +ang maupun
#uhu.

Jobsheet 4: Perulangan (Looping) Halaman