laporan resmi 09-11 konsep pemrograman [looping]
TRANSCRIPT
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 1/41
PRAKTIKUM 9
Looping : For
A. Dasar Teori
Mengulang suatu proses merupakan tindakan yang banyak
dijumpai dalam pemrograman. Pada semua bahasa pemrograman,
pengulangan proses ditangani dengan suatu mekanisme yang disebut loop.
Dengan menggunakan loop, suatu proses yang berulang
misalnya menampilkan tulisan yang sama seratus kali pada
layar dapat diimpelementasikan dengan kode program yang
pendek.
Pada pemrograman proses perulangan dapat dibagi menjadi 2
bagian utama yaitu:
1. Perulangan yang sudah di ketahui jumlah perulangannya
sebelum perulangan tersebut dilakukan.2. Perulangan yang belum di ketahui jumlah perulangannya
sebelum perulangan tersebut di lakukan. Dalam hal ini dapat
dibagi menjadi dua bagian yaitu:
a) kondisi perulangan diperiksa diawal perulangan. b) kondisi perulangan diperiksa diakhir perulangan.
Untuk kasus 1 seharusnya menggunakan perulangan dengan penyataan for . edangkan pada
kasus 2a dan 2b akan menggunakan pernyataa while atau do while.
!entuk pernyataan "or :
for (ungkapan1; ungkapan2; ungkapan3)pernyataan;
#eterangan:
• Ungkapan1 : digunakan untuk memberikan inisialisasi terhadap $ariabel pengendali loop.
• Ungkapan2 : dipakai sebagai kondisi untuk keluar dari loop.
• Ungkapan% : dipakai sebagai pengatur kenaikan nilai $ariabel pengendali loop.
#etiga ungkapan dalam "or tersebut harus dipisahkan dengan tanda titik koma &').
Dalam hal ini pernyatan bisa berupa pernyataan tunggal maupun jamak. (ika pernyataannya
terbentuk jamak, maka pernyataanpernyataan tersebut harus diletakkan di antara kurung kurawal
buka &*) dan kurung kurawal tutup &+), sehingga "ormatnya menjadi :
for (ungkapan1; ungkapan2; ungkapan3){
pernyataan;pernyataan;.
.
.}
aporan Praktikum #onsep Pemrograman - Pengulangan /endra !udi 0utama 2111%1% Halaman 1
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 2/41
IF
i < 2*n
READ
n
i = 1
i
i = i + 2
END
START
Y
N
IF
i < 0
READ
bil
jum = 0
i
i = i - 1
END
START
i = bil
jum = jum + i
jum
Y
N
B. Tugas Pendahuluan
C.D. !uatlah desain "low3hart untuk setiap soal dalam per3obaan
E.1. Program penampil bilangan ganjil
4.
a. 5lgoritma6.
0. Deklarasikan i dan n sebagai bilangan bulat
7.1. 7nisiasi nilai i dengan 1
2. !a3a nilai n
%. (ika i kurang dari ! n maka lakukan langkah 8, jikatidak maka program langsung selesai
8. 9etak nilai dari i
. ;ambahkan i dengan angka 2 kemudian simpan di i,kembali ke langkah %
(. b. 4low3hart→
#.
.
M.
".
#.
P.
$.
R.
%.T.
2. Program Penghitung !ilangan ;riangular
U.a. 5lgoritma
<. Deklarasikan i, bil dan jum sebagai bilangan bulat.
=.1. 7nisiasi nilai awal &u' dengan
2. Masukkan bilangan
%. !erikan nilai (il kepada i
8. (ika i > maka lakukan langkah - ? bila tidak langsung
lakukan langkah @. 9etak nilai i
. #urangi i dengan 1, dan simpan hasilnya di i lagi?. ;ambahkan &u' dengan i, dan simpan hasilnya di &u' lagi
A. #embali ke langkah 8
@. 9etak nilai &u'
B.
b. 4low3hart→
aporan Praktikum #onsep Pemrograman - Pengulangan /endra !udi 0utama 2111%1% Halaman 2
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 3/41
IF
i>= 6
i = !0
i "b# $%a&
i = i + 1
END
START
Y
N
IF
i <= n
READ
n
i = 1
I * -1
i = i + 2
END
START
IF
i ' 2 == 0
i
Y
N
Y
N
C.
55.
%. Program Penampil 5bjad
5!.a. 5lgoritma
59. Deklarasikan i, bil dan jum sebagai bilangan bulat.
5D.1. 7nisiasi nilai awal i dengan
2. (ika i EF 8 maka lakukan langkah %8 bila tidak maka
program akan langsung selesai.%. 9etak nilai i sebagai huru" sesuai kode 5977nya.
8. #urangi i dengan 1 dan simpan hasilnya di i kembali
5G. #embali ke langkah 254.
b. 4low3hart→
56.50.
57.5(.5#.
5.
5M.
5H.8. Program Penampil !ilangan Positi" Hegati" !erurutan
5I.
a. 5lgoritma5P. Deklarasikan i dan n sebagai bilangan bulat
5J.
1. 7nisiasi nilai i dengan 12. !a3a nilai n
%. (ika i kurang dari n maka lakukan langkah 8,
jika tidak maka program langsung selesai
8. (ika sisa (agi antara i dan 2 adalah nol, makatampilkan hasil kali i dengan )* bila tidak
tampilkan i saja
. ;ambahkan i dengan angka 1 kemudiansimpan di i, kembali ke langkah %
5/.
b. 4low3hart→
5.5;.
5U.
5<.
5=.
aporan Praktikum #onsep Pemrograman - Pengulangan /endra !udi 0utama 2111%1% Halaman (
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 4/41
IF
i < 0
READ
bil
i"P&ima = 1
PRINT)ilan#an P&ima
i = i - 1
END
START
i = bil - 1
PRINT)u,an P&ima
IF
il ' 2
== 0
IF
i"P&ima
== 1
i"P&ima = 0
Y
N
N
Y
Y
N
. Program Penge3ek !ilangan Prima
5A.
a. 5lgoritma
5B.5C. Deklarasikan isPri'a dan i, (il sebagai
bilangan bulat
!5. 1. 7nisiasi nilai isPri'a dengan 1 &;rue)
2. Masukkan nilai (il.
%. !erikan nilai (il ) * kepada i
8. (ika i > maka lakukan langkah - ?, bila
tidak langsung lakukan langkah ?
. (ika sisa bagi (il dengan i sama dengan nolatau nilai (il sama dengan 1 maka ubah
nilai isPri'a menjadi &4alse) dan
langsung menuju ke langkah 1
. #urangi i dengan 1, dan simpan hasilnya di
i lagi
!!. #embali ke langkah 8
?. (ika nilai isPri'a sama dengan 1&;rue)maka 3etak K!ilangan PrimaL, bila tidak
maka 3etak K!ukan PrimaL
!9.
b. 4low3hart→
!D.
aporan Praktikum #onsep Pemrograman - Pengulangan /endra !udi 0utama 2111%1% Halaman
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 5/41
IF
i <=
READ
n
i = 1
i = i + 1
START
i = n
READ
nilaiHu&u./ jumla%am
a
b
jumNilaiam = jumNilaiam + nilaiAn#,a * jam
jumam = jumam + jam
i"END i" = jumNilaiam3jumam
!G.
. Program Penghitung 7ndeks Prestasi ementara
!4.
a. 5lgoritma!6.
1. 7nisiasi nilai awal i
dengan 12. Masukkan nilai n
&banyaknya nilai)
%. !erikan nilai n ke i
8. (ika nilai i >F makalakukan langkah ,
bila tidak langsung
langkah . Masukkan nilai+uru,
dan banyaknya &a'
. #on$ersi nilai huru" menjadi nilai angka sesuai
kriteria 5 E 8, !E%,
9E2, DE1, GE
?. 0itung jumlah nilai dalam jam& &u'"ilai-a')
dengan menjumlahkan
jumlah nilai jam& &u'"ilai-a')
dengan perkalian nilai
anga dan &a' kemudiansimpan nilainya di
&u'"ilai-a'
@. 0itung jumlah jam& &u'-a') dengan
menambahkan jumlah
jam ditambah jam dan
simpan hasilnya jumm(am
. ;ambahkan nilai i dengan 1 simpan hasilnya di i lagi
!0. #embali ke langkah 81. 0itung ips dengan membagi jumlah nilai jam & &u'"ilai-a') dengan jumlah
jam& &u'-a')
11. ;ampilkan nilai ips ke layar !7.
!(.
aporan Praktikum #onsep Pemrograman - Pengulangan /endra !udi 0utama 2111%1% Halaman
Y
N
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 6/41
N
N
Y
Y
Y
Y
nilaiAn#,a = 0
b
b. 4low3hart→
!#.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 7/41
!.
BM. Per/o(aan
B".1. 6unakan loop "or untuk membuat program sebagai berikut:
!I. input : n
!P. output : 1 % 8 N m & m F bilangan ganjil ke n)
!J.a. isting Program
!/.BS. #include !tdio."B$.B%. &ain()B'. {B. int in;B*.BY. printf(+,-/$0/% S4 15n-6N7- 8 211913193: 8 170$B5n+);B<. printf(+5n======================================== 5n5n+);>. printf(+,-?- ,6N,04 B04N?N ?N@045n+);>B. printf(+5n======================================== 5n+);>>.
>7. printf(+5na!ukkan Au&la" ilangan ganAil C +);>6. !canf(+Dd+En);>F.>?. printf(+5nGa!il pengulangan C +);>G. n = n H 2;>0. for(i=1;in;iI=2)>@. {>/. printf(+Dd +i);>4. }>. printf(+5n+);>N. }>.
b. 9apture Program
9P.
9J.
9/.
3. 5nalisis Program9.
9;. ejatinya, bilangan ganjil merupakan bilangan yang tidak habis dibagi dengan
bilangan dua. Hamun, dengan 3ara lain, bilangan ganjil juga dapat kita peroleh denganmenambah 2 &iOF2) tiap bilangan se3ara terus menerus mulai dari bilangan 1. 5gar
banyaknya bilangan ganjil yang dapat ditampilkan dapat dibatasi, maka di control loop
diberikan batas yaitu sebanyak 2 kali n sehingga jumlah bilangan ganjil sesuai dengan
jumlah&n) yang kita inputkan karena pada looping ini sendiri memiliki step sebanyak 22 tiap loop.
9U.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 8/41
2. 0itunglah bilangan triangular dari masukan pengguna, yang diba3a dari keyboard
dengan menggunakan s3an"&). !ilangan triangular adalah penjumlahan dari bilangan9<. masukan dengan seluruh bilangan sebelumnya.
9=.
9A. 9ontoh9B. 7nput : ?
9C. Iutput : ? O O O 8 O % O 2 O 1 F [email protected]. isting Program
D!.7>. #include !tdio."77.76. &ain()7F. {7?. int iilAu& = 9;7G.70. printf(+,-/$0/% S4 25n-6N7- 8 211913193: 8 170$B5n+);7@. printf(+5n======================================== 5n5n+);7/. printf(+,-?- ,6N?G0$%N? B04N?N $-0N?%4-5n+);74. printf(+5n======================================== 5n+);
7.7N. printf(+5na!ukkan ilangan C +);7. !canf(+Dd+Eil);7,.7J. printf(+5nGa!il pengulangan C +);7-. for(i=il;i9;iKK)7S. {7$. printf(+Dd +i);7%. Au& = Au& I i;7'.7. if(i L= 1)7*. printf(+I +);7Y. }7<. printf(+= Dd 5n+Au&);6. }
6B. b. 9apture Program
G9.
GD.
GG.
3. 5nalisis ProgramG4.
G6. Untuk menampilkan bilangan triangular seperti O 8 O % O 2 O 1 F 2@, kita dapat
menggunakan looping atau pengulangan, dimana looping tersebut adalah looping
menurun dengan operator de3rement. Pertama kita harus tahu bilangan maksimal yang
diinputkan kemudian bilangan tersebut kita jadikan patokan nilai awal looping.
elanjutnya bilangan tadi diloop hingga bilangan tersebut habis atau sama dengan nol,di setiap loop putaran, bilangan tersebut dijumlah dengan bilangan sebelumnya dan
pada akhirnya total dri seluruh penjumlahan tadi dapat kita peroleh dan tampilkan.
G0.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 9/41
%. 6unakan loop "or dengan kenaikan $aribel negati" untuk menampilkan seluruh karaker
dari C sampai dengan 5 dalam barisbaris yang terpisah.G7.
a. isting Program
G(.6/. #include !tdio."64.
6. &ain()6N. {6. int iilAu& = 9;6,. printf(+,-/$0/% S4 35n-6N7- 8 211913193: 8 170$B5n+);6J. printf(+5n======================================== 5n5n+);6-. printf(+,-?- ,6N,04 B@75n+);6S. printf(+5n======================================== 5n+);6$.6%. printf(+7iketa"ui = Dd dan < = Dd5n5n+MMM<M);6'.6. S>00 < = 9 dan = :O6*. for(i=9;i=:O;iKK)6Y. printf(+Dc 5n+i);6<.F. printf(+5n+);
FB. }F>.
b. 9apture Program4D.
4G.
44.
3. 5nalisis Program
46.40. Dalam bahasa 9, setiap karakter memiliki bilangan 5977 sendiri. Untuk huru"
kapital, bilangan 5977 karakter Q5R adalah sedangkan C adalah . Maka dari itu,
untuk menampilkan abjad se3ara terbalik dari C ke 5, kita dapat melakukan looping
se3ara menurun de3reement dari bilangan hingga , kemudian bilangan tersebut
dapat ditampilkan langsung namun harus di"ormat sebagai karakter.
47.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 10/41
8. 6unakan loop "or untuk membuat program sebagai berikut:
4(. input : n
4#. output : 1 2 % 8 ? @ N n
4.
a. isting Program4M.
FN. #include !tdio."F.F,. &ain()FJ. {F-. int in;FS.F$. printf(+,-/$0/% S4 5n-6N7- 8 211913193: 8
170$B5n+);F%. printf(+5n======================================== 5n5n+);F'. printf(+,-?- ,6N,04 B04N?N ,S$0F N6?$0F5n+);F. printf(+5n======================================== 5n+);F*.FY. printf(+5na!ukkan Au&la" ilangan C +);
F<. !canf(+Dd+En);?.?B. printf(+5nGa!il pengulangan C +);?>. for(i=1;i=n;iII)?7. {?6. if(i D 2 == 9)?F. printf(+Dd +iHK1);??. el!e?G. printf(+Dd +i);?0. }?@. printf(+5n+);?/. }
6.
b. 9apture Program6M.
6H.
6I.
3. 5nalisis Program6P.
6J.ebenarnya program ini adalah program penampil bilangan biasa, namun ada
perbedaan di bilangan kelipatan dua, yaitu bilangan tesebut menjadi bilangan negati".
Untuk melakukan hal tersebut maka di dalam looping for kita perlu menyisipkan
decision i" dimana jika bilangan tersebut habis dibagi 2 maka bilangan tersebut akan
dikalikan dengan &1) sehingga bilangan tersebut menjadi bilangan negati", sedangkan
apabila tidak habis dibagi 2, bilangan tesebut dapat langsung ditampilkan.
6/.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 11/41
. 6unakan loop "or untuk mende"inisikan apakah sebuah bilangan adalah bilangan pima
6. atau bukan
6;. input : 2?
6U. output : !ilangan adalah bilangan prima6<.
a. isting Program
6=.?*. #include !tdio."?Y.?<. &ain()G. {GB. int iili!,ri&a = 1;G>.G7. printf(+,-/$0/% S4 O5n-6N7- 8 211913193: 8 170$B5n+);G6. printf(+5n======================================== 5n5n+);GF. printf(+,-?- ,6N?6>6/ B04N?N ,-05n+);G?. printf(+5n======================================== 5n+);GG.G0. printf(+5na!ukkan ilangan C +);G@. !canf(+Dd+Eil);G/.
G4. for(i=ilK1;i1;iKK)G. {GN. if(il D i == 9 88 il == 1 )G. {G,. i!,ri&a = 9;GJ. reak;G-. }GS. }G$.G%. if(i!,ri&a)G'. printf(+5nBilangan Dd 74G ilangan pri&a.5n+il);G. el!eG*. printf(+5nBilangan Dd B%/N ilangan pri&a.5n+il);GY. printf(+5n5n+);G<. }
75. b. 9apture Program
7!.
79.
3. 5nalisis Program7D. !ilangan prima adalah bilangan yang hanya habis dibagi dengan bilangan 1 dan
bilangan itu sendiri. Dari de"inisi tersebut dapat kita aplikasikan ke dalam bahasa
pemrograman, yaitu untuk mende"iniskan suatu bilangan apakah prima atau tidak kita
dapat menggunakan looping for menurun sesuai dengan bilangan prima tadi hingga
bilangan 1, dimana di setiap loop putaran kita akan 3oba apakah bilangan tersebut
habis dibagi dengan bilangan lain dibawahnya ke3uali bilangan 1 atau tidak, apabila
habis dibagi, maka loop akan berhenti dan langsung dapat kita de"inisikan
bahwasannya bilangan tersebut (uanlah bilangan prima bila tidak ada satupun
bilangan di bawah bilangan tersebut yang membanginya habis, maka bilangan tersebut
adalah bilangan prima.
7G.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 12/41
. Dengan menggunakan looping dan swit3h 3ase atau else i" buatlah program dalam
9 untuk menghitung 7ndeks Prestasi emester seorang mahasiswa, dimana yang
diinputkan adalah nilai huru" dari mata kuliah yang diikutinya dan jumlah jam mata
kuliah tsb. Dimana kon$ersi nilai huru" ke angka untuk menghitung 7P adalah sebagai
berikut: 5 E 8, !E%, 9E2, DE1, GE dan rumus 7P F jumlah &nilai S
jam)jumlah jam keseluruhan.
74.a. isting Program
76.0G. #include !tdio."00.0@. &ain()0/. {04. int i;0. float nilaingka Aa& Au&Nilai@a& = 9 Au&@a& = 9 ip!;0N. c"ar nilaiGuruf;0.0,. printf(+,-/$0/% S4 :5n-6N7- 8 211913193: 8 170$B5n+);0J. printf(+5n======================================== 5n5n+);0-. printf(+,-?- ,6N?G0$%N? 0N76/S ,-6S$S0 S66N$-5n+);
0S. printf(+5n======================================== 5n+);0$.0%. for(i=1;i=O;iII)0'. {0. fflu!"(!tdin);0*. printf(+5na!ukkan nilai "uruf &ata kulia" Dd 5tC +i);0Y. !canf(+Dc+EnilaiGuruf);0<. printf(+a!ukkan Au&la" Aa& &ata kulia" Dd 5tC +i);@. !canf(+Df+EAa&);@B.@>. !Pitc"(nilaiGuruf)@7. {@6. ca!e MMC@F. ca!e MaM C@?. nilaingka = ;
@G. reak;@0. ca!e MBMC@@. ca!e MMC@/. nilaingka = 3;@4. reak;@. ca!e M>MC@N. ca!e McMC@. nilaingka = 2;@,. reak;@J. ca!e M7MC@-. ca!e MdMC@S. nilaingka = 1;@$. reak;@%. ca!e M6MC@'. ca!e MeMC@. nilaingka = 9;@*. reak;@Y. }@<./. Au&Nilai@a& = Au&Nilai@a& I nilaingka H Aa&;/B. Au&@a& = Au&@a& I Aa&;/>./7. printf(+5n+);/6. }/F./?. ip! = Au&Nilai@a& Au&@a&;/G. printf(+5n0ndek! ,re!ta!i Se&entara anda adala" D.2f+ip!);/0./@. printf(+5n5n+);//. }
b.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 13/41
b. 9apture Program
#.
#M. a
#H.
3. 5nalisis Program#I.
#P.Pada program ini, setiap looping akan meminta masukkan input dari user berupa nilai
huru" dan jumlah jam dari sebuah mata kuliah. 5gar nilai dapat diproses, maka harus
dikon$ersi terlebih dahulu menjadi nilai angka, yaitu dengan menggunakan pernyataan
switch. !aru setelah itu nilai dapat diolah sedemikian rupa sehingga dapat diketahui
output berupa indeks prestasi sementara dari siswa pemilik nilainilai tersebut.
#J.
KR. Kesi'pulan
#.
1. Pernyataan for adalah salah satu pernyataan dalam bahasa permrograman yang
digunakan untuk menjalankan pengulangan.2. Pengulangan dengan menggunakan pernyataan for membutuhkan % parameter yang
harus diketahui terlebih dahulu yaitu inisialisai, batas dan pengendali loop.
%. Pengulangan menggunakan for , dapat berupa pengulangan yang menurun atau menaik
sesuai dengan operator in3rement atau de3rement yang kita gunakan.
8. Di dalam struktur pengulangan kita dapat memberikan statementstatement atau
pernyataanpernyataan yang nantinya diulang sesuai dengan pengulangan atau
loopingnya.
. (ika statemen yang dijalankan hanya satu, maka tidak membutuhkan kurung kurawal
*+ bila lebih dari satu maka harus diberikan kurung kurawal sebagai penanda sebuah
blok statement.
#;.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 14/41
KU. PRAKTIKUM *0
K1. Looping : 2hile3 do 4 2hile
K5.
A. Dasar Teori
K6.#B. eperti yang sudah dijelaskan pada bab sebelumnya, bahwa perulangan yang
sudah diketahui berapa kali akan dijalankan, maka sebaiknya menggunakan perulangan "or.
edangkan yang belum diketahui berapakali akan diulangi maka dapat menggunakan while atau
dowhile. Menggunakan pernyataan while ketika kondisi perluangan diperiksa sebelum
menjalankan pernyataan dan menggunakan doTwhile ketika perulangan kodisiperulangan
tersebut diperiksa setelah mejalankan pernyataan.
#C. Pada pernyataan while, pemeriksaan terhadap loop dilakukan di bagian awal
&sebelum tubuh loop). Pernyataan while akan diulangi terus selama kondisi bernilai benar,
atau diulangi selama kondisinya benar, jika kondisinya salah maka perulangan &loop)dianggap selesai. ebih jelasnya, bentuk pe rnyataan while adalah sebagai berikut :
5.
!. dengan pernyataan dapat berupa pernyataan tunggal, pernyataan majemuk
ataupun pernyataan kosong. Dengan melihat gambar 1.1, tampak bahwa ada
kemungkinan pernyataan yang merupakan tubuh loop tidak dijalankan sama sekali,
yaitu kalau hasil pengujian kondisi while yang pertama kali ternyata bernilai salah.
9. Proses pengulangan terhadap pernyataan dijelaskan pada gambar 1.1.
D.
G.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 15/41
IF
jwb == ‘y’
READ
n
END
START
Y
N
i = 0
min = 0
ma4 = 0
jum = 0
j5b = 7
jum = jum + bil
READ
bil
jum
READ
j5b
IF
ma4 < bil
88
ma4 == 0
IF
min > bil 88
min == 0
ma4 = bil
min = bilN
N
Y
Y
IF
jwb == ‘y’
READ
n
END
START
Y
N
jum = 0
j5b = 7
jum = jum + bil
READ
bil
jum
READ
j5b
IF
huruf != ‘X’
READ
%u&u.
%u&u.
END
START
Y
N
B. Tugas Pendahuluan
LF.
L7.0.
LI.
L-.LK.
LL.
LM.
L".
L#.P.
%) 4low3hart program men3ari
jumlah, nilai maksimal, nilai minimal
dari inputan beberapa data
2) 4low3hart program menjumlah
inputan beberapa data
1) 4low3hart program menampilkan
semua bilangan ke3uali bilangan A
& besar).
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 16/41
IF
"i"a > 0
READ
$i$ilan/ nai,
9:9al = 2000,
"i"a = 9:9al
i = 1
i++
END
START
"i"a =
"i"a - $i$ilan
IF
i ' 12
== 0
"i"a =
9:9al + 9:9al * nai, 3100
i
Y
N
Y
N
IF
huruf
!= ‘\n’
READ
%u&u.
END
START
Y
jumHu&u. = 0
jumSa"i = 0
umHu&u.++
N
N
Y
IF
%u&u. == ;
jumSa"i++
IF
i <= n
READ
n
i = 1
9:9al = 0
9:9al
i = i + 2
END
START
9:9al = 9:9al + i
Y
N
J.
?) 4low3hart menghitung
lamanya bulan pen3i3ilan biaya
haji
) 4low3hart program mengitung
jumlah karakter dan spasi.
8) 4low3hart program menampilkan
deret angka 1 % 1 1 21N. n
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 17/41
an#,a = 1N
YIF
,a& == ;1
A
an#,a = 2N
YIF
,a& == ;2
an#,a = (N
YIF
,a& == ;(
an#,a = N
YIF
,a& == ;
an#,a = N
YIF
,a& == ;
an#,a = 6N
YIF
,a& == ;6
an#,a = N
YIF
,a& == ;
an#,a = N
YIF
,a& == ;
an#,a = !N
YIF
,a& == ;!
an#,a = 0
IF
huruf!= ‘\n’
READ
,a&
END
START
Y
jum = 0
N
jum = jum + an#,a
,a&
,a&
A
/.
.
) 4low3hart program
menghitung jumlah angka dari
suatu bilangan
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 18/41
C. Per/o(aan
LT.1. 6unakan loop while untuk membuat program yang dapat menampilkan semua
karakter yang diketikkan di keyboard sampai yang diketikkan pada keybord huru" QAR &
besar).
U.
a. isting Program<.4. #include !tdio."4*.4Y. &ain()4<. {. c"ar "uruf;B.>. printf(+,-/$0/% 19 S4 15n-6N7- 8 211913193: 8170$B5n+);7. printf(+5n======================================== 5n5n+);6. printf(+,-?- B6-G6N$0 /6$0/ * 70$6/N5n+);F. printf(+5n======================================== 5n+);?.
G. printf(+5n/etik !e&arang karakter ke&udian 6nter C 5n+);0.@. "uruf = getc"ar();/.4. P"ile("uruf L= M*M). {N. "uruf = getc"ar();. },.J. printf(+,rogra& di"entikan karena anda &enginputkan karakter*5n+);-. }
M.
b. 9apture Program
M;.MU.
M<.3. 5nalisis Program
M=.
MA. Pada program ini, pengulangan while akan melakukan seleksi terhadap
masukkan yang diinputkan user. Pengulangan while akan terus dijalankan selama
kondisi benar yaitu ketika karakter yang dimasukkan tidak sama dengan A & besar).
MB.
2. 6unakan loop while untuk membuat program yang dapat men3ari total angka yangdimasukkan.
MC.
a. isting Program H5.NB. #include !tdio."N>.N7. &ain()N6. {NF. int i = 1 Au& = 9 il;N?. c"ar AP;NG.N0. printf(+,-/$0/% 19 S4 25n-6N7- 8 211913193: 8170$B5n+);N@. printf(+5n======================================== 5n5n+);N/. printf(+,-?- ,6N@%4G B04N?N5n+);
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 19/41
N4. printf(+5n======================================== 5n+);N.NN. doN. {N,. fflu!"(!tdin);NJ. printf(+5na!ukkan ilangan ke Dd 5t = +i);N-. !canf(+Dd+ Eil);NS.N$. Au& = Au& I il;
N%.N'. printf(+au coa lagi QY$R +);N.N*. fflu!"(!tdin);NY. !canf(+Dc+EAP);N<.. iII;B. } P"ile(AP == MYM 88 AP == MyM);>.7. printf(+5nGa!il penAu&la"an diata! adala" Dd+Au&);6. }
I4.
b. 9apture ProgramI6.
I0.
I7.
3. 5nalisis ProgramI(.
I#. #arena program ini setidaknya harus dijalankan minimal sekali, maka jenis
pengulangan yang 3o3ok adalah pengulangan do while. Untuk setiap kali
pengulangan, program akan meminta untuk menginputkan bilangan, dari setiap
pengulangan tadi akan dilakukan operasi penjumlahan. #etika pengulangan berhenti,
yaitu ketika user memasukkan karakter ;, hasil penjumlahan dari semua bilanganyang dimasukkan tadi dapat ditampilkan segera.
I.IM.
%. Pada program no 2 tambahkan ratarata, maksimum dan minimum dari angka yang
dimasukkan.
IH.
a. isting ProgramII.,. #include !tdio."J.-. &ain()
S. {$. int i = 1 Au& = 9 rata = 9 &in=9 &aT=9 il;%. c"ar AP = MyM;'.. printf(+,-/$0/% 19 S4 35n-6N7- 8 211913193: 8170$B5n+);*. printf(+5n======================================== 5n5n+);Y. printf(+,-?- ,6N@%4G B04N?N5n+);<. printf(+5n======================================== 5n+);,.,B. P"ile(AP == MYM 88 AP == MyM),>. {,7. fflu!"(!tdin);
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 20/41
,6. printf(+5na!ukkan ilangan ke Dd 5t = +i);,F. !canf(+Dd+ Eil);,?.,G. Au& = Au& I il;,0.,@. if(&aT il 88 &aT == 9),/. &aT = il;,4.,. if(&in il 88 &in == 9)
,N. &in = il;,.,,. printf(+au coa lagi QY$R +);,J.,-. fflu!"(!tdin);,S. !canf(+Dc+EAP);,$.,%. iII;,'. },.,*. rata = Au& (i K1);,Y. printf(+5n$otal ilangan 5t= Dd+Au&);,<. printf(+5n-ataKrata 5t= Dd+rata);J. printf(+5nNilai ini&al 5t= Dd+&in);JB. printf(+5nNilai ak!i&al 5t= Dd+&aT);
J>. }
JD. b. 9apture Program
JG.
J4.
J6.3. 5nalisis Program
J0.J7. ama dengan soal no 2, bedanya disini kita harus men3ari nilai maksimal,
minimum dan ratarata. Untuk memperoleh nilai maksimal kita bandingbandingkan
nilai yang dimasukkan setiap pengulangan. (ika nilai yang dimasukkan lebih besar
dari nilai maksimal sebelumnya maka nilai maksimal adalah nilai tersebut. 5pabila
nilai yang dimasukkan lebih ke3il daripada nilai minimal sebelumnya yang ada, maka
nilai minimal adalah nilai tersebut. edangkan nilai ratarata didapat dari jumlah
semua bilangan yang kemudian dibagi dengan jumlah pengulangan.J(.
J#.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 21/41
8. Dengan menggunakan pernyataan looping, buatlah program berikut:
J. 7nput : n
JM. output : 1 % 1 1 21 2@ N. !ilangan ke n
JH.a. isting Program
JI.J,. #include !tdio."
JJ.J-. &ain()JS. {J$. int intotal=9;J%. printf(+,-/$0/% 19 S4 5n-6N7- 8 211913193: 8
170$B5n+);J'. printf(+5n======================================== 5n5n+);J. printf(+,-?- ,6N,04 B-0S ?66$-05n+);J*. printf(+5n======================================== 5n+);JY.J<. printf(+5na!ukkan Au&la" ilangan C +);-. !canf(+Dd+En);-B.->. printf(+5nGa!il pengulangan C +);-7. for(i=9;in;iII)-6. {-F. total = total I i;-?. printf(+Dd +total);-G. }-0. printf(+5n+);-@. }
/#.
b. 9apture Program
/./M.
/H.
3. 5nalisis Program
/I./P. Pada program ini, step atau langkah tiap pengulangan dimodi"ikasi
sehingga di setiap perulangan step atau langkah bertambah 1. Dengan 3ara tersebut
maka akan dapat ditampilkan deret seperti diatas.
/J.
. 6unakan while pada program yang digunakan untuk menghitung banyaknya karakter
dari kalimat yang dimasukkan melalui keyboard &termasuk karakter spasi). Untuk
mengakhiri pemasukan kalimat, tombol GH;G/ &QVnR) harus ditekan
//.
/. 7nput : #etikkan sembarang kalimat
/;. Iutput :/U.
/<. jumlah karakter F m
/=. jumlah spasi F n
/A.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 22/41
a. isting Program
/B.-<. #include !tdio."S.SB. &ain()S>. {S7. c"ar karakter;S6. int Au& = 9Au&!pa!i=9;
SF.S?. printf(+,-/$0/% 19 S4 O5n-6N7- 8 211913193: 8
170$B5n+);SG. printf(+5n======================================== 5n5n+);S0. printf(+,-?- ,6N?G0$%N? @%4G /-/$6-5n+);S@. printf(+5n======================================== 5n+);S/. printf(+5na!ukkan kali&at !e&arang = +);S4. doS. {SN. !canf(+Dc+Ekarakter);S.S,. if(karakter == M M)SJ. Au&!pa!iII;S-. el!eSS. Au&II;
S$.S%. } P"ile(karakter L= M5nM);S'.S. printf(+5n@u&la" !e&ua karakter 5t = Dd+Au&);S*. printf(+5n@u&la" karakter !pa!i 5t = Dd+Au&!pa!i);SY. }
C.
b. 9apture Program
;5.;!.
;9.
3. 5nalisis Program
;D.;G. Penggunaan do while pada program ini di"ungsikan sebagai pengulangan
untuk setiap karakter atau spasi yang dimasukkan user. Untuk setiap pengulangan,
program akan men3atat dan menghitung jumlah karakter atau spasi yang diinputkan
se3ara in3rement. #etika pengulangan selesai atau ketika user menekan WGnterX,
program akan menampilkan jumlah dari karakter dan spasi yang dimasukkan tadi.
;4.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 23/41
. !uatlah program untuk menghitung jumlah angka dari suatu bilangan.
;6. 9ontohnya : (umlah angka dari bilangan %2 F % O 2 O O F 1
;0. (umlah angka dari bilangan 8@ F 8 O O @ O F 2
;7. dan sebagainya;(. .
a. isting Program
;#.$4. #include !tdio."$.$N.&ain()$. {$,. c"ar kar;$J. int iangkaAu& = 9;$-.$S. printf(+,-/$0/% 19 S4 :5n-6N7- 8 211913193: 8 170$B5n+);$$. printf(+5n======================================== 5n5n+);$%. printf(+,6N?G0$%N? @%4G N?/ S%$% B04N?N5n+);$'. printf(+5n======================================== 5n+);$.$*. printf(+5na!ukkan ilangan5t = +);$Y.
$<. i = 1;%. do%B. {%>. kar = getc"ar();%7.%6. !Pitc"(kar)%F. {%?. ca!e M1MC angka = 1; reak;%G. ca!e M2MC angka = 2; reak;%0. ca!e M3MC angka = 3; reak;%@. ca!e MMC angka = ; reak;%/. ca!e MOMC angka = O; reak;%4. ca!e M:MC angka = :; reak;%. ca!e MUMC angka = U; reak;%N. ca!e MVMC angka = V; reak;
%. ca!e MMC angka = ; reak;%,. ca!e M9MC angka = 9; reak;%J. }%-.%S. if(kar L= M5nM)%$. {%%. Au& = Au& I angka;%'. if(i L= 1) eng"ilangkan I pada angka perta&a%. printf(+I +);%*. printf(+Dd + angka);%Y. iII;%<. }'.'B. } P"ile(kar L= M5nM);'>. printf(+5 5 = Dd 5n5n+Au&);
'7. }'6.
b. 9apture Program
<4.<6.
<0.
3. 5nalisis Program<7.
<(.Untuk melakukan operasi jumlah angka suatu bilangan, hal yang perlu kita
lakukan adalah memba3a inputan bilangan user karakter per karakter dahulu.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 24/41
#emudian dari tiap karakter tadi kita kon$ersi menjadi bilangan atau integer
menggunakan decision switch sehingga dapat kita hitung dan ketahui jumlah dari tiap
angka di bilangan tersebut.
<#.
?. eorang mau menabung untuk pembiayaan ibadah hajinya. !iaya ibadah haji saat ini
senilai a juta. (ika tiap bulan dia mampu menabung sebesar b rupiah. Dengan program
anda yang menggunakan "ungsi, bantulah orang ini untuk menghitung berapa bulan
dia butuhkan agar biaya hajinya bisa terpenuhi. Bang menjadikan masalah ini tidak
dapat diselesaikan dengan pembagian langsung ab adalah bahwa setiap tahun biaya
haji naik ratarata 3Y dari biaya awal &a). Hilai a, b, 3 dimasukkan oleh user.
<.a. isting Program
<M.'N. #include !tdio."'.',. &ain()'J. {'-. float totalcicilankenaikan!i!a;'S. int i = 9;'$.'%. printf(+,-/$0/% 19 S4 U5n-6N7- 8 211913193: 8
170$B5n+);''. printf(+5n======================================== 5n5n+);'. printf(+,-?- ,6N?G0$%N? 4 >0>04N G@05n+);'*. printf(+5n======================================== 5n+);'Y.'<. printf(+5na!ukkan total iaya "aAi5t = -p.+);. !canf(+Df+Etotal);B. printf(+5na!ukkan cicilan tiap ulan5t = -p.+);>. !canf(+Df+Ecicilan);7. printf(+5na!ukkan pro!enta!e kenaikan tiap ta"un = +);6. !canf(+Df+Ekenaikan);
F.?. !i!a = total;G. P"ile(!i!a 9)0. {@. iII;/. if(i D 12 == 9)4. !i!a = !i!a I (total H (kenaikan 199));. !i!a = !i!a K cicilan;N. }.,. printf(+5naktu yang diutu"kan untuk &eluna!i iaya "aAi
adala" Dd ulan+i);J. }-.
b. 9apture Program
=.=;.
=U.
=<.
==.
3. 5nalisis Program
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 25/41
=A.
=B. eseorang dikatakan lunas membayar apabila sisa pinjamannya tidak lebih
dari nol Untuk menghitung jumlah bulan pelunasan seperti ini, kita dapat
menggunakan pengulangan do while yaitu pengulangan sampai sisa pinjaman habis.
Perlakuan khusus dengan pernyataan if diberikan tiap bulan ke12, karena pada bulan
tersebut jumlah pinjaman meningkat sebanyak n Y dari jumlah total pinjaman
sehingga menyebabkan proses pelunasan menjadi lebih lama.=C.
D. Tugas Ta'(ahan
6A.1. ;ambahkan program yang ada pada soal no 8 dengan menghitung huru" ke3il, huru"
besar dan karakter angka.A!.
a. isting Program
A9.*7. #include !tdio."*6.
*F. &ain()*?. {*G. c"ar karakter;*0. int Au&!pa!i=9Au&upp=9Au&loP=9Au&int=9;*@.*/. printf(+,-/$0/% 19 S4 $a&a"an5n-6N7- 8
211913193: 8 170$B5n+);*4. printf(+5n========================================
5n5n+);*. printf(+,-?- ,6N?G0$%N? @%4G /-/$6-5n+);*N. printf(+5n========================================
5n+);*.
*,. printf(+ = Dd < = Dd a = Dd W = Dd 9 = Dd = Dd
5n+MMM<MMaMMWMM9MMM);*J. printf(+5na!ukkan kali&at !e&arang = +);*-. do*S. {*$. !canf(+Dc+Ekarakter);*%.*'. if(karakter == M M)*. Au&!pa!iII;**. el!e if(karakter = 9 EE karakter = :O)*Y. Au&uppII;*<. el!e if(karakter = 122 EE karakter = U)Y. Au&loPII;
YB. el!e if(karakter = OU EE karakter = V)Y>. Au&intII;Y7.Y6. } P"ile(karakter L= M5nM);YF.Y?. printf(+5n@u&la" !e&ua karakter 5t = Dd+Au&!pa!i I
Au&upp I Au&loP I Au&int);YG. printf(+5n@u&la" karakter !pa!i 5t = Dd+Au&!pa!i);Y0. printf(+5n@u&la" karakter kapital5t = Dd+Au&upp);Y@. printf(+5n@u&la" karakter kecil 5t = Dd+Au&loP);Y/. printf(+5n@u&la" karakter angka 5t = Dd+Au&int);Y4. }
BM.
BH.BI.
BP.
b. 9apture Program
BJ.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 26/41
B/.
B.
3. 5nalisis Program
B;.BU. 0ampir sama dengan soal no , soal ini adalah pengembangannya dimana
setiap inputan yang berupa karakter kita seleksi menggunakan de3ision if sesuai
dengan nilai 5977 masingmasing karakter.
B<.2. Untuk soal no. jika nilai 3 adalah kenaikan dari tahun sebelumnya dan setiap bulan
sekali dia mendapatkan bonus gaji sebesar d ribu yang selalu dia gunakan untuk
menambah tabungan hajinya berapa bulan dia butuhkan agar biaya hajinya terpenuhi
B=.a. isting Program
BA.
YY. #include !tdio."Y<.<. &ain()<B. {<>. float totalcicilankenaikanonu!!i!a;<7. int i = 9;<6.<F. printf(+,-/$0/% 19 S4 U5n-6N7- 8 211913193: 8
170$B5n+);<?. printf(+5n========================================
5n5n+);<G. printf(+,-?- ,6N?G0$%N? 4 >0>04N G@05n+);<0. printf(+5n========================================
5n+);<@.</. printf(+5na!ukkan total iaya "aAi5t = -p.+);<4. !canf(+Df+Etotal);<. printf(+5na!ukkan cicilan tiap ulan5t = -p.+);<N. !canf(+Df+Ecicilan);<. printf(+5na!ukkan pro!enta!e kenaikan tiap ta"un =
+);<,. !canf(+Df+Ekenaikan);<J. printf(+5na!ukkan onu! gaAi tiap : ulan5t = -p. +);<-. !canf(+Df+Eonu!);<S.<$.<%. !i!a = total;<'. P"ile(!i!a 9)<. {<*. iII;<Y. if(i D 12 == 9)<<. !i!a = !i!a I (total H (kenaikan 199));. if(i D : == 9)B. !i!a = !i!a K onu!;>.7. !i!a = !i!a K cicilan;6. }F.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 27/41
?. printf(+5naktu yang diutu"kan untuk &eluna!i iaya
"aAi adala" Dd ulan+i);G.0. }
55(. b. 9apture Program
55#.
55.
55M.
3. 5nalisis Program55H.
55I. Pengembangan dari soal no ? dimana setiap bulan sekali sisa pinjaman
akan dikurangi jumlah bonus yang diterima. Untuk mengatasi hal ini, sama seperti
sebelumnya yaitu menggunakan operator modulus untuk mengetahui inter$al bulan
tersebut.
55P.
E. Kesi'pulan
AA$.1. Pernyataan while dan do while adalah pernyataan lain selain for yang digunakan untuk
melakukan pengulangan pada program
2. Perbedaan while dan do while dengan for terletak pada parameterparameternya dimana
pada for sudah diketahui berapa kali akan dijalankan. edangkan pada while dan do
while tidak.
%. Pada pernyataan while kondisi diperiksa di awal ketika akan melakukan pengulangan
sehingga bisa saja pengulangan tidak terjadi.8. Pada pernyataan do while kondisi diperiksa di akhir pengulangan sehingga mau tidak mau
program akan dijalankan minimal satu kali.
55/.
55.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 28/41
AAT. PRAKTIKUM **
AAU. Looping : Looping : (rea3 /on8inue3 nes8ed loop
AA1.
A. Dasar Teori
55=.55A. Untuk keluar dari perulanganloop dapat dilakukan setelah sarat perulangan
dipenuhi. 5kan tetapi ada 3ara lain untuk keluar dari perulangan walaupun sarat belum
terpenuhi, yaitu dengan menggunakan pernyataan break . Pernyataan break sesungguhnya telah
diperkenalkan pada pernyataan swit3h. Pernyataan ini ber"ungsi untuk keluar dari loop for,
do-while dan while. edangkan pada switch yaitu untuk menuju ke akhir &keluar dari) struktur
swit3h. Pernyataan break digunakan untuk keluar dari satu blok
55B. elain pernyataan break ada juga pernyataan yang berhubungan dengan
perulangan yaitu pernyataan continue. Pernyataan continue digunakan untuk mengarahkan
eksekusi ke iterasi &proses) berikutnya pada loop yang sama. Pada dowhile dan while,
pernyataan 3ontinue menyebabkan eksekusi menuju ke kondisi pengujian pengulangan. Pada
loop "or, pernyataan 3ontinue menyebabkan bagian penaik $ariabel pengendali loop
dikerjakan dan kondisi untuk keluar dari loop "or diuji kembali. 7lustrasi "low3hart yang
menunjukkan perbedaan break dan 3ontinue ditunjukkan pada gambar 11.1.
55C.
5!5. elain dua pernyataan diatas masih ada pernyataan yang berhubungan
dengan loop yaitu goto. Pernyataan goto merupakan intruksi untuk mengarahkan eksekusike pernyataan yang diawali dengan suatu label. abel sendiri berupa suatu pengenal
&identi"ier) yang diikuti dengan tanda titik dua &:)
5!!. 9ontoh pemakaian goto:
ABC. goto cetak;
5!D. Mengisyaratkan agar eksekusi dilanjutkan ke pernyataan yang diawali
dengan label 3etak: . Pernyataan ini sebaiknya tidak digunakan.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 29/41
5!G. Untuk menghentikan program tanpa harus menyelesaikan sampai akhir
pernyataan, yaitu melalui pemanggilan "ungsi eit&). 0al ini biasa dilakukan, jika di dalam suatu
eksekusi terdapat suatu kondisi yang tak dikehendaki. Prototipe dari "ungsi eit&) dide"inisikan
pada "ile stdlib.h, yang memiliki deklarasi sebagai berikut :
ABF. void exit(int status;
AB!.
5!0. status biasanya diberi nilai untuk pernghentian program se3ara normal.
ABI.
AB-. Loop di dala' Loop
5!#.
5!. Dalam suatu loop bisa terkandung loop yang lain, sehingga jika loop
tersebut diulangi n kali dan loop yang didalamnya dijuga dilakukan m kali maka pernyataan
yang berada didalam nested loop sebanyak n n. oop yang terletak di dalam loop
biasa disebut dengan loop di dalam loop &nested loop). alah satu contoh nested loop misalnya
pada permasalahan untuk membuat tabel perkalian:
5!M.
5!H.
5!I.
5!P. 7mplementasi dalam program selengkapnya adalah sebagai berikut :BJ.
B-. for (ari! = 1; ari! = /S; ari!II) {
BS. for (kolo& = 1; kolo& = /S; kolo&II) {
B$. "a!ilXkali = ari! H kolo&;
B%. printf (+D2d+ "a!ilXkali);
B'. }
B. printf(+5n+); H pinda" ari! H
B*. }
BY.5!C. !agian yang terletak dalam bingkai di depan dapat dapat diperoleh melalui
>.
>B. for (ari! = 1; ari! = /S; ari!II)
>>. {
>7. "a!ilXkali = ari! H kolo&;
>6. printf (D2dZ "a!ilXkali);
>F. }
>?.
590. dengan M5# dide"inisikan bernilai @. !agian loop yang terdalam :
597.>@. for (kolo& = 1; kolo& = /S; kolo&II)
>/. {>4. "a!ilXkali = ari! H kolo&;
>. printf (D2dZ "a!ilXkali);
59H. +
59I.
59P. digunakan untuk men3etak suatu deret hasil perkalian dalam satu baris. Untuk
berpindah ke baris berikutnya, pernyataan yang digunakan yaitu printf(5nZ); 5dapun
pen3etakan untuk semua baris dikendalikan melalui
59J.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 30/41
>-. for (ari! = 1; ari! = /S; ari!II)
59.
59;. Pernyataan di atas mempunyai arti Kdari baris ke1 sampai dengan baris ke
M5#L.
59U.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 31/41
IF
i < n
READ
n
i = 1
i = i + 2
END
START
IF
i ' ( == 0$:n9inu
i
Y
N
Y
N
IFhuruf
== ‘\n’
READ
,a&
END
START
,a& = ;
b&a,
IF
i < n
READ
n
i = 1
i = i + 2
END
START
IF
i ' ==0
88
i ' 11== 0
$:n9inu
i
IF
i < 100
b&a,
Y
N
Y
N
Y
N
B. Tugas Pendahuluan
AC1.
AC5.
1) 4low3hart program yang akan berhenti
ketika user menekan GH;G/
2) 4low3hart program menampilkan bilangan di
bawah 1 ke3uali kelipatan ? dan 11
%) 4low3hart program penampil bilangan ganjilke3uali kelipatan %
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 32/41
IF jwb
!= ‘y’
READ
j5b
END
START
$%a& j5b
Y
N
IF
i <= n
READ
n
i = 1
i
i++
END
START
IF
j <= i
j = 1
j+++
Y
N
Y
N
IF
i <= n
READ
n
i = 1
j
i++
END
START
IF
j <= n
j = 1
j+++
Y
N
Y
N
IF
n <= i
READ
n
END
START
i = 0
min = 0
ma4 = 0
jum = 0
j5b = 7
jum = jum + bil
jum/&a9a/min/ma4
IF
ma4 < bil
88
ma4 == 0
IF
min > bil 88
min == 0
ma4 = bil
min = bilN
N
Y
Y
i++
&a9a = jum 3 i
Y
N
AC6.
?) 4low3hart program dengan
kon"irmasi ingin keluar program
atau tidak.
/ode ,rogra&
) 4low3hart program membentuk
matriks n n
) 4low3hart program
membentuk matriks bertingkat
8) 4low3hart program untuk menerima
da"tar nilai mahasiswa
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 33/41
C. Per/o(aan59B.
1. Dengan menggunakan pernyataan break, buatlah program yang dapat menampilkansemua tampilan karakter yang diketikkan dan program berakhir ketika ditekan tombol
Gnter.
59C.
a. isting Program5D5.7B. #include !tdio."7>.77. &ain()76. {7F. c"ar "uruf = M M;7?. printf(+,-/$0/% 11 S4 15n-6N7- 8 211913193: 8170$B5n+);7G. printf(+5n======================================== 5n5n+);70. printf(+,-?- B6-G6N$0 /6$0/ 6N$6- 70$6/N5n+);7@. printf(+5n======================================== 5n+);7/.74. printf(+5n/etik !e&arang karakter ke&udian tekan enter C5n+);
7.7N. do7. {7,. if("uruf == M5nM)7J. reak;7-.7S. "uruf = getc"ar();7$.7%. } P"ile(1);7'.
7. put!(+,rogra& di"entikan karena anda &enekan 6nter+);7*. }
5DB.
b. 9apture Program
5DC.5G5.
5G!.3. 5nalisis Program
5G9.5GD. Program ini menggunakan do while untuk melakukan pengulangan
pemba3aan karakter per karakter. Pengulangan akan terus menerus dilakukan karena
kondisi dibuat selalu benar &;rue) hingga user mengetikkan WGnterX yang dalam
bahasa 9 disimbolkan dengan karakter QVnR.5GG.
2. Dengan menggunakan pernyataan 3ontinue, buatlah program yang dapat
menampilkan bilangan ganjil dari 1 sampai > n &n diinputkan), ke3uali bilanganganjil tersebut kelipatan %.
5G4. 9ontoh 7nput : 15G6. Iutput : 1 ?
5G0.
a. isting Program60. #include !tdio."[email protected]/. &ain()64. {6. int in;6N.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 34/41
6. printf(+,-/$0/% 11 S4 25n-6N7- 8 211913193: 8170$B5n+);6,. printf(+5n======================================== 5n5n+);6J. printf(+B04N?N ?N@04 /6>%40 /640,$N 3 5n+);6-. printf(+5n======================================== 5n+);6S.6$. printf(+5na!ukkan Au&la" ilangan ganAil C +);6%. !canf(+Dd+En);6'.
6. printf(+5nGa!il pengulangan C +);6*. for(i=1;in;iI=2)6Y. {6<. if(i D 3 == 9)F. {
FB. continue;F>. }F7. printf(+Dd +i);F6. }FF.F?. printf(+5n+);FG. }
547.
b. 9apture Program
54(.54#.
54.
3. 5nalisis Program
54M.54H. Untuk men skip bilangan kelipatan % pada pengulangan, maka hal yang
perlu kita lakukan tentunya pertama adalah menge3ek bilangan tersebut apakah
kelipatan % atau bukan, 3aranya yaitu dengan menggunakan operator modulus sisa
bagi. (ika sisa bagi bilangan tersebut dengan % adalah nol, maka bisa dipastikan bilangan tersebut adalah bilangan kelipatan %. Dan untuk menskip nya digunakan
perintah continue yang akan melanjutkan pengulangan langsung ke pengulangan
selanjutnya.54I.
54P.
. Dengan menggunakan pernyataan break dan 3ontinue, buatlah program untuk membuat
program dengan input n, dan output, bilangan ganjil ke3uali kelipatan ? dan 11 mulai dari
1 sampai > n atau bilangan tersebut >1
54J. 9ontoh
AFR. 7nput : 2
54. Iutput : 1 % 1% 1 1? 1
54;.
a. isting ProgramF%. #include !tdio."F'.F. &ain()F*. {FY. int in;F<.?. printf(+,-/$0/% 11 S4 35n-6N7- 8 211913193: 8
170$B5n+);?B. printf(+5n========================================
5n5n+);?>. printf(+B04N?N ?N@04 199 /6>%40 /64. U E 11
5n+);
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 35/41
?7. printf(+5n========================================
5n+);?6.?F. printf(+5na!ukkan ata! ilangan = +);??. !canf(+Dd+En);?G.?0. printf(+5nGa!il pengulangan 5t= +);?@. for(i=1;in;iI=2)
?/. {?4. if(i 199)?. reak;?N.?. if(i D U == 9 88 i D 11 == 9)?,. continue;?J.?-. printf(+Dd +i);?S. }?$. printf(+5n+);?%. }
(. 9apture Program56<.
A75.
A76.
/. 5nalisis Program
A7.
56C. Untuk menghilangkan bilangan ganjil yang kelipatan ? dan 11, maka di
setiap pengulangan perlu kita beri perlakuan khusus dengan de3ision if, dimana
apabila bilangan tersebut habis dibagi dengan bilangan ? atau 11 maka pengulangan
akan di skip menggunakan pernyataan continue. Pengulangan akan berhenti sesuai
bilangan yang dimasukkan oleh user, tapi tidak bisa lebih dari 1 karena telah
dibatasi pernyataan break '505.
8. !uatlah program untuk menerima da"tar nilai mahasiswa sbb :50!. 7nput : (umlah data &n)
509. Hilai ke1 sd Hilai ken
50D. Iutput : Hilai minimal
50G. Hilai maksimal504. Hilai ratarata &ratarata F nilai total jumlah data)
506. &Petunjuk : 6unakan loop "or dan seleksi kondisi dengan i")
500.a. isting Program
507.G@. #include !tdio."
G/.G4. &ain()G. {GN. int in;G. float nilai Au& = 9 &aT = 9 &in = 9 rata;G,.GJ. printf(+,-/$0/% 11 S4 O5n-6N7- 8 211913193: 8
170$B5n+);G-. printf(+5n======================================== 5n5n+);GS. printf(+,-?- ,6N@%4G G0N?? B04N?N /6Kn 5n+);G$. printf(+5n======================================== 5n+);G%.G'. printf(+5na!ukkan Au&la" data 5t = +);
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 36/41
G. !canf(+Dd+ En);G*.GY.G<. for(i=1;i=n;iII)0. {0B. fflu!"(!tdin);0>. printf(+5na!ukkan nilai ke Dd 5t = +i);07. !canf(+Df+ Enilai);06.
0F. Au& = Au& I nilai;0?.0G. if(i == 1)00. {0@. &aT = nilai;0/. &in = nilai;04. }0. el!e0N. {0. if(&aT nilai)0,. &aT = nilai;0J.0-. if(&in nilai)0S. &in = nilai;0$. }
0%. }0'.0. printf(+5nNilai &ak!i&al 5t5t = D9.2f+&aT);0*. printf(+5nNilai &ini&al 5t5t = D9.2f+&in);0Y. printf(+5nNilai rataKrata 5t = D9.2f+Au& n);0<. }
5(5.
b. 9apture Program
5(!.
5(9. 9
5(D.
3. 5nalisis Program
5(G.5(4. Untuk mengumpulkan data nilai, program akan melakukan pengulangan
sesuai jumlah data yang diinputkan sebelumnya. Di tiap pengulangan, kita akan
dimintai inputan nilai yang kemudian akan diolah untuk mendapatkan nilai ma, min
dan ratarata. Untuk memperoleh nilai maksimal kita bandingbandingkan nilai yang
dimasukkan setiap pengulangan. (ika nilai yang dimasukkan lebih besar dari nilai
maksimal sebelumnya maka nilai maksimal adalah nilai tersebut. 5pabila nilai yang
dimasukkan lebih ke3il daripada nilai minimal sebelumnya yang ada, maka nilai
minimal adalah nilai tersebut. edangkan nilai ratarata didapat dari jumlah semua
bilangan yang kemudian dibagi dengan jumlah pengulangan.5(6.
A-+.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 37/41
. Dengan menggunakan pernyataan nested loop, buatlah program berikut:
5(7. 7nput : n
5((. Iutput :
A-K.
a. isting Program
5(.@. #include !tdio."@N.@. &ain()@,. {@J. int iAn;@-.@S. printf(+,-/$0/% 11 S4 O5n-6N7- 8 211913193: 8
170$B5n+);@$. printf(+5n========================================
5n5n+);@%. printf(+6B%$ $-0/ n T n 5n+);@'. printf(+5n========================================
5n+);@.@*. printf(+5na!ukkan Au&la" data 5t = +);@Y. !canf(+Dd+ En);@<./. printf(+5n5nGa!il pengulangan 5t = 5n+);/B./>. for(i=1;i=n;iII)/7. {/6. for(A=1;A=n;AII)
/F. {/?. printf(+Dd +A);/G. }/0. printf(+5n+);/@. }//. }
(. 9apture Program
AKL.
AKM.
AK".
/. 5nalisis Program
5#I.5#P. Untuk membentuk matriks seperti ini, diperlukanlah loop bersarang atau
nested loop atau bisa juga disebut loop di dalam loop. ooping pertama akan
membuat baris pada matriks sedangkan looping kedua yaitu looping yang berada di
dalam loop pertama akan menyatakan kolom dari matriks tersebut.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 38/41
AK$.. Dengan menggunakan pernyataan nested loop, buatlah program berikut:
5#/. 7nput : n5#. Iutput :
5#;.
a. isting Program5#U./'. #include !tdio."/./*. &ain()/Y. {/<. int iAn;4.4B. printf(+,-/$0/% 11 S4 :5n-6N7- 8 211913193: 8
170$B5n+);4>. printf(+5n========================================
5n5n+);47. printf(+6B%$ $-0/ B6-$BG 5n+);46. printf(+5n========================================
5n+);4F.4?. printf(+5na!ukkan Au&la" data 5t = +);4G. !canf(+Dd+ En);40. printf(+5nGa!il pengulangan 5t = 5n5n+);4@. for(i=1;i=n;iII)4/. {44. for(A=1;A=i;AII)
4. {4N. printf(+Dd +i);4. }4,. printf(+5n+);4J. }4-. }4S.
b. 9apture Program5;.
5U.
5<.
3. 5nalisis Program5=.
5A. ama halnya soal no , disini kita menggunakan nested loop dimana loop
pertama menyatakan baris sedangkan loop kedua menyatakan kolom, perbedaannya
pada program ini adalah penampilan baris dibatasi yaitu tidak lebih dari no baris.
5B.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 39/41
?. Pada akhir setiap 8 buah program diatas tambahkan tanyaan Kapakah anda ingin
keluar &yt)L, pertanyaan tersebut hanya bisa di jawab dengan huru" QyR &y ke3il) dan QtR&t
ke3il). Dan akan keluar dari program setelah dijawab dengan QyR &y ke3il)
a. isting Program4<. #include !tdio.".B. &ain()
>. {7. c"ar AP;6. int in;F. printf(+,-/$0/% 11 S4 Ua5n-6N7- 8 211913193: 8
170$B5n+);?. printf(+5n======================================== 5n5n+);G. printf(+B04N?N ?N@04 199 /6>%40 /64. U E 11 5n+);0. printf(+5n======================================== 5n+);@./. do4. {. %N$%/ S>-0,$ ,-?- 70$S B0S 70$-%G 70S0N0
>N$G CN. printf(+5na!ukkan ata! ilangan = +);. !canf(+Dd+En);
,. printf(+5nGa!il pengulangan 5t= +);J. for(i=1;in;iI=2)-. {S. if(i 199)$. reak;%.'. if(i D U == 9 88 i D 11 == 9). continue;*.Y. printf(+Dd +i);<. }N. G0N?? 70S0N0NB.N>. printf(+5n5n+);N7. printf(+paka" anda ingin keluar QytR+);
N6. fflu!"(!tdin);NF. AP = getc"ar();N?. } P"ile(AP L= MyM);NG. }
5H7. b. 9apture Program
5H(.
5H#.
5H.
3. 5nalisis Program
5HM. Pada program ini ditambahkan pengulangan do while agar program yang
dijalankan dapat diulangulang hingga user menginginkan sendiri untuk keluar yaitu
dengan memasukkan karakter WyX ketika ada pertanyaan. Pemilihan pengulangan do
while adalah karena setidaknya program akan dijalankan minimal satu kali.
5HH.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 40/41
D. Tugas Ta'(ahan5HI.
5HP. Dengan menggunakan pernyataan nested loop, buatlah program berikut:5HJ. 7nput : n
5H/. Iutput : 2 % ? 11N. !ilangan prima ke n
5H.
1. isting Program5H;.N%. #include !tdio."N'.N. &ain()N*. {NY. int i = 1 il = 2 pe&agi n i!,ri&a;N<.. printf(+,-/$0/% 11 S4 $BGN5n-6N7- 8 211913193: 8170$B5n+);B. printf(+5n======================================== 5n5n+);>. printf(+,-?- 76-6$ B04N?N B-0 5n+);7. printf(+5n======================================== 5n+);6.F. printf(+5na!ukkan anyaknya ilangan 5t = +);
?. !canf(+Dd+ En);G.0. printf(+5n7aftar ilangan pri&a 5t5t = +);@. P"ile(i = n)/. {4. i!,ri&a = 1;. for(pe&agi=2;pe&agiil;pe&agiII)N. {. if(il D pe&agi == 9),. {J. i!,ri&a = 9;-. reak;S. }$. }%.
'. if(i!,ri&a). {*. printf(+Dd +il);Y. iII;<. },.,B. ilII;,>. },7. }
5PG.
2. 9apture Program
5P4.5P6.
5P0.%. 5nalisis Program
5P7.5P(. Untuk membuat deret bilangan prima dibutuhkan nested loop. oop pertamaadalah loop untuk menampilkan deret bilangan sedangkan loop kedua adalah loop untuk
menge3ek bilangan tersebut, apakah bisa habis dibagi bilangan lain selain bilangan itu
dan bilangan satu atau tidak. (ika tidak ada satupun bilangan selain bilangan 1 di bawah bilangan tersebut yang bisa membagi, maka bisa langsung ditampilkan di deret karena
bilangan tersebut adalah bilangan prima.
5P#.5P.
8/20/2019 Laporan Resmi 09-11 Konsep Pemrograman [Looping]
http://slidepdf.com/reader/full/laporan-resmi-09-11-konsep-pemrograman-looping 41/41
APM.
E. Kesi'pulan
AP".1. Di dalam pengulangan atau looping terdapat beberapa pernyataan yang menyebabkan
jalannya looping tersebut berubah yaitu pernyataan break dan continue.
2. Pernyataan break ber"ungsi untuk keluar dari loop for, do-while dan while.
%. Pernyataan continue digunakan untuk mengarahkan eksekusi ke iterasi &proses) berikutnya pada loop yang sama.
8. Pernyataan goto merupakan intruksi untuk mengarahkan eksekusi ke pernyataan
yang diawali dengan suatu label. abel sendiri berupa suatu pengenal &identi"ier)yang diikuti dengan tanda titik dua &:)
. Pernyataan exit digunakan untuk menghentikan program tanpa harus menyelesaikan
sampai akhir pernyataan, yaitu melalui pemanggilan "ungsi eit&).. Dalam suatu loop bisa terkandung loop yang lain, sehingga jika loop tersebut
diulangi n kali dan loop yang didalamnya dijuga dilakukan m kali maka pernyataan yang
berada didalam nested loop sebanyak n n. oop yang terletak di dalam loop biasa disebut dengan loop di dalam loop &nested loop).
AP?@