Anda di halaman 1dari 17

Pertemuan 3

Struktur Perulangan pada Java


Objektif :
1. Mahasiswa dapat memahami konsep struktur kontrol perulangan dalam
pemrograman.
2. Mahasiswa dapat menggunakan struktur kontrol perulangan (while, do-while,
for !ang digunakan.
3. Mahasiswa dapat mem"uat program !ang "erisi alur program perulangan
melalui #ontoh kasus.
3-1
P3.1 Teori
1. Perulangan
Struktur kontrol pengulangan adalah "erupa pern!ataan dari Java !ang
mengi$inkan kita untuk mengeksekusi "lok #ode "erulang-ulang sesuai dengan $umlah
tertentu !ang
diinginkan. %da tiga ma#am $enis dari struktur kontrol pengulangan !aitu &
1. While
2. Do-while
3. For loops
Pern!ataan-pern!ataan di atas men#iptakan loop. Loop se#ara "erulang
mengeksekusi se"arisan instruksi !ang sama sampai kondisi akhir ditemui. 'engan
kata lain, looping atau loop artin!a mengulangi eksekusi "lok program tertentu
sampai ter#apai kondisi untuk menghentikann!a (terminasi. Setiap perulangan
memiliki ( "agian !aitu &
inisialisasi (initialization,
"adan program (body ) statement,
iterasi (iteration, dan
termination.
1.1 Stateent While
Pern!ataan while loop adalah pern!ataan atau "lok pern!ataan !ang diulang-ulang
sampai men#apai kondisi !ang #o#ok.
!entuk pern"ataan while#
while( "oolean*e+pression ,
statement1-
statement2-
. . .
.
Pern!ataan di dalam while loop akan dieksekusi "erulang-ulang selama kondisi
boolean_expression "ernilai "enar (true. /ontoh pada kode di "awah ini&
int i 0 (-
while ( i 1 2 ,
S!stem.out.print(i-
i--- .
/ontoh di atas akan men#etak angka (321 pada la!ar. Perlu di#atat $ika "agian i---
dihilangkan, akan menghasilkan pengulangan !ang terus menerus (infinite loop.
Sehingga, ketika menggunakan while loop atau "entuk pengulangan !ang lain,
pastikan %nda mem"erikan pern!ataan !ang mem"uat pengulangan "erhenti pada
suatu kondisi.
1.$ Stateent Do While
3-2
Do-while loop mirip dengan while-loop. Pern!ataan di dalam do-while loop akan
dieksekusi "e"erapa kali selama kondisi "ernilai "enar(true. Per"edaan antara while
dan do-while loop adalah dimana pern!ataan di dalam do-while loop akan dieksekusi
sedikitn!a satu kali.
!entuk pern"ataan %o-while#
do,
statement1-
statement2-
. . .
.while( "oolean*e+pression -
Pern!ataan di dalam do-while loop akan dieksekusi pertama kali, dan akan
dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression
terse"ut "ernilai true, pern!ataan di dalam do-while loop akan dieksekusi lagi.
!erikut ini beberapa &ontoh %o-while loop:
'ontoh 1:
int + 0 2-
do
,
S!stem.out.println(+-
+33-
.while (+412-
/ontoh ini akan mem"erikan output 2123(56789 pada la!ar.
'ontoh $:
))infinite loop
do,
S!stem.out.println(:hello;-
. while (true-
/ontoh di atas akan melakukan pengulangan terus menerus !ang menulis kata
:hello; pada la!ar.
'ontoh 3:
))one loop
)) statement is e+e#uted on#e
do
S!stem.out.println(:hello;-
while (false-
/ontoh di atas akan mem"erikan output hello pada la!ar.
1.3 Stateent Perulangan For
Perulangan for men!ediakan sarana mengulang kode dalam $umlah !ang tertentu.
Pengulangan ini terstruktur untuk mengulangi kode sampai ter#apai "atas tertentu.
!erikut bentuk %asar perulangan for :
for(InitializationExpression; LoopCondition; tepExpression!
statement
3-3
(nitiali)ation*+pression, digunakan untuk inisialisasi varia"el kendali
perulangan.
,oop'on%ition, mem"andingkan varia"el kendali perulangan dengan suatu nilai
"atas.
Step*+pression, menspesifkasikan #ara varia"el kendali dimodifikasi se"elum
iterasi "erikutn!a dari perulangan.
'ontoh:
pu"li# #lass <or1
,
pu"li# stati# void main(String=> args
,
int i-
for (i 0 1-i411-i33
S!stem.out.println(i-
.
.
?asil (output dari #ontoh listing program di atas&
1
$
3
-
.
/
0
1
2
13
Pern"ataan for-loop !ersarang
Java memungkinkan loop !ang disarangkan di loop !ang lain. Satu loop "erada di
dalam loop !ang lainn!a.
'ontoh:
pu"li# #lass @oop"ersarang1,
pu"li# stati# void main(String=> args,
for(int i02-i412-i33,
for(int $0i-$412-$33,
S!stem.out.print(ABA-.
S!stem.out.println(-
.
.
.
?asil (output dari #ontoh listing program di atas&
4
44
3-(
4
44
4
44
4
P3.$ 'ontoh 5asus
Cuat program men#etak segitiga siku-siku menggunakan perulangan forD
Eutput !ang dihasilkan&
,angkah-langkah pengerjaan:
1. Jalankan Fet"eans %nda.
2. @alu "uat file pro$e#t "aru dengan memilih menu <ile G Few Pro$e#t, atau
dengan menggunakan hotke! /trl3Shift3F.
3. Pilih $enis pro$e#t !ang akan di"uat (Java G Java %ppli#ation
(. Hentukan nama pro$e#t dan lokasi pen!impanan pro$e#t. /ontoh& nama pro$e#t&
SegitigaSiku, dan nama kelas& SegitigaSiku
3-5
5. Ietikkan kode program di "awah ini pada #ode editor
pa#kage segitigasiku-
import $ava.io.B-
pu"li# #lass SegitigaSiku ,
pu"li# stati# void main(String=> args throws J+#eption,
'ataKnputStream masukan 0 new 'ataKnputStream(S!stem.in-

String strtinggi 0 null-

S!stem.out.println(ASegitiga SKku-SikuA-
S!stem.out.print(AMasukkan Hinggi & A-
strtinggi 0 masukan.read@ine(-

int tinggi, i, $, k-
tinggi 0 Knteger.parseKnt(strtinggi- )) mengu"ah inputan varia"el strtinggi dengan
)) tipe String ke varia"el tinggi dengan tipe data
integer

)B perulangan for i melakukan perulangan dari 1 sampai se"an!ak nilai varia"el tinggi
!ang
dimasukkan(perulangan "aris ) "an!akn!a "aris !ang akan di#etak B)
for(i01-i40tinggi-i33,

)B perulangan for $ melakukan perulangan spasi(A Ase"an!ak nilai varia"el tinggi dan
"erkurang
1 setiap perulangann!a("erpindah "aris sampai $umlah spasi(A A !ang di#etak pada "aris
!ang
"ersangkutan "er$umlah 1 B)
for($0tinggi-$10i-$--,
S!stem.out.print(A A-
.
)B perulangan for k melakukan perulangan "intang(ABAdari 1 sampai se"an!ak nilai varia"el
tinggi dan "ertam"ah 1 setiap perulangann!a sampai $umlah "intang(ABA !ang di#etak sama
dengan nilai varia"el tinggi !ang diinput B)
for(k01-k40i-k33,
S!stem.out.print(ABA-
.
)) perintah "erganti "aris ini dilakukan setiap selesai 1+ dalam melakukan perulangan $ dan
perulangan k
S!stem.out.print(ALnA-
.
.
.
3-6
6. Cuild pro$e#t terse"ut dengan memilih menu Mun 01 Cuild Main Pro$e#t, atau
dengan menggunakan hotke! <11.
7. Jika tidak ada kesalahan (CNK@' SN//JSS<N@, $alankan pro$e#t terse"ut
dengan memilh menu Mun 01 Mun Main Pro$e#t, atau dengan menggunakan
hotke! <6.
P3.3 ,atihan
Cuat program deret fi"ona#i. Eutput !ang dihasilkan adalah se"agai "erikut&
Jawa"an&
1. Jalankan Fet"eans %nda
2. @akukan langkah-langkah penger$aan seperti #ontoh kasus se"elumn!a.
3. Pada #ode editor Fet"eans, ketikkan program "erikut&
#pa#kage fi"ona#i-
)BB
B
B Oauthor Shinigami
B)
import $ava.io.B-
pu"li# #lass <i"ona#i ,
pu"li# stati# void main(String=> args throws J+#eption,
CufferedMeader masuk 0 new CufferedMeader(new KnputStreamMeader(S!stem.in-

String $umlahfi"o 0 null-
int a02, "01, #02, i01-
S!stem.out.print(AMasukkan $umlah deret fi"ona#i & A-
$umlahfi"o 0 masuk.read@ine(-

int $umlah-
$umlah 0 Knteger.parseKnt($umlahfi"o-

S!stem.out.println(a-
3-7
S!stem.out.println("-
do ,
# 0 a 3 "-
S!stem.out.println(#-
a 0 "-
" 0 #-
i33-
. while (i 4 ($umlah-1-
.
.
P3.- Daftar Pustaka
Faughton, Patri#k, "a#a $andboo%& 'onsep Dasar (emrograman "a#a, %ndi
Pog!akarta, 1996.
Qar! /ornell dan /a! S.?orstmann, Core "a#a edisi Indonesia, %ndi, Pog!akarta,
1997.
%Fuff, (enuntun (emrograman "a#a, %ndi Pog!akarta, 1997.
%"dul Iadir, Dasar (emrograman "a#a ), %ndi Pog!akarta, 2228.
3-8
Pertemuan 3
Struktur Perulangan pada J%R%
Objektif :
Mahasiswa dapat memahami konsep struktur kontrol perulangan dalam
pemrograman.
Mahasiswa dapat menggunakan struktur kontrol perulangan (while, do-while, for
!ang digunakan.
Mahasiswa dapat mem"uat program !ang "erisi alur program perulangan melalui
#ontoh kasus.
3-9
P.1.1 Teori
1. Perulangan
Struktur kontrol pengulangan adalah "erupa pern!ataan dari Java !ang
mengi$inkan kita untuk mengeksekusi "lok #ode "erulang-ulang sesuai dengan $umlah
tertentu !ang
diinginkan. %da tiga ma#am $enis dari struktur kontrol pengulangan !aitu &
While
Do-while
For loops
Pern!ataan-pern!ataan diatas men#iptakan loop. Loop se#ara "erulang
mengeksekusi se"arisan instruksi !ang sama sampai kondisi akhir ditemui. 'engan
kata lain, looping atau loop artin!a mengulangi eksekusi "lok program tertentu
sampai ter#apai kondisi untuk menghentikann!a (terminasi. Setiap perulangan
memiliki ( "agian !aitu &
inisialisasi (initialization,
"adan program (body) statement,
iterasi (iteration, dan
termination.
1.- Stateent While
Pern!ataan while loop adalah pern!ataan atau "lok pern!ataan !ang diulang-ulang
sampai men#apai kondisi !ang #o#ok.
!entuk pern"ataan while#
while( "oolean*e+pression ,
statement1-
statement2-
. . .
.
Pern!ataan di dalam while loop akan dieksekusi "erulang-ulang selama kondisi
boolean_expression "ernilai "enar (true.
/ontoh, pada kode di"awah ini,
int i 0 (-
while ( i 1 2 ,
S!stem.out.print(i-
i--- .
/ontoh diatas akan men#etak angka (321 pada la!ar. Perlu di#atat $ika "agian i---
dihilangkan, akan menghasilkan pengulangan !ang terus menerus (infinite loop.
Sehingga, ketika menggunakan while loop atau "entuk pengulangan !ang lain,
3-12
pastikan %nda mem"erikan pern!ataan !ang mem"uat pengulangan "erhenti pada
suatu kondisi.
1.. Stateent Do While
Do-while loop mirip dengan while-loop. Pern!ataan di dalam do-while loop akan
dieksekusi "e"erapa kali selama kondisi "ernilai "enar(true. Per"edaan antara while
dan do-while loop adalah dimana pern!ataan di dalam do-while loop akan dieksekusi
sedikitn!a satu kali.
!entuk pern"ataan %o-while#
do,
statement1-
statement2-
. . .
.while( "oolean*e+pression -
Pern!ataan di dalam do-while loop akan dieksekusi pertama kali, dan akan
dievaluasi kondisi dari boolean_expression. Jika nilai pada boolean_expression
terse"ut "ernilai true, pern!ataan di dalam do-while loop akan dieksekusi lagi.
!erikut ini beberapa &ontoh %o-while loop:
'ontoh 1:
int + 0 2-
do
,
S!stem.out.println(+-
+33-
.while (+412-
/ontoh ini akan mem"erikan output 2123(56789 pada la!ar.
'ontoh $:
))infinite loop
do,
S!stem.out.println(:hello;-
. while (true-
/ontoh di atas akan melakukan pengulangan terus menerus !ang menulis kata
:hello; pada la!ar.
'ontoh 3:
))one loop
)) statement is e+e#uted on#e
do
S!stem.out.println(:hello;-
while (false-
/ontoh di atas akan mem"erikan output hello pada la!ar.
1./ Stateent Perulangan For
Perulangan for men!ediakan sarana mengulang kode dalam $umlah !ang tertentu.
Pengulangan ini terstruktur untuk mengulangi kode sampai ter#apai "atas tertentu.
3-11
!erikut bentuk %asar perulangan for :
for(InitializationExpression; LoopCondition; tepExpression!
statement
(nitiali)ation*+pression, digunakan untuk inisialisasi varia"el kendali
perulangan.
,oop'on%ition, mem"andingkan varia"el kendali perulangan dengan suatu nilai
"atas.
Step*+pression, menspesifkasikan #ara varia"el kendali dimodifikasi se"elum
iterasi "erikutn!a dari perulangan.
'ontoh:
pu"li# #lass <or1
,
pu"li# stati# void main(String=> args
,
int i-
for (i 0 1-i411-i33
S!stem.out.println(i-
.
.
?asil (output dari #ontoh listing program diatas&
1
$
3
-
.
/
0
1
2
13
Pern"ataan for-loop !ersarang
Java memungkinkan loop !ang disarangkan di loop !ang lain. Satu loop "erada di
dalam loop !ang lainn!a.
'ontoh:
pu"li# #lass @oop"ersarang1,
pu"li# stati# void main(String=> args,
for(int i02-i412-i33,
for(int $0i-$412-$33,
S!stem.out.print(ABA-.
S!stem.out.println(-
.
.
.
?asil (output dari #ontoh listing program diatas&
3-12
4
44
4
44
4
44
4
P1.$ 'ontoh 5asus
Cerikut ini adalah #ontoh program men#etak segitiga siku-siku menggunakan
perulangan for.
Kkuti langkah-langkah "erikut &
Step 1
- Jalankan Fet"eans %nda.
- @alu "uat file pro$e#t "aru dengan memilih menu <ile 01 Few Pro$e#t, atau
dengan menggunakan hotke! /trl3Shift3F.
- Pilih $enis pro$e#t !ang akan di"uat(Java 01 Java %ppli#ation
- Hentukan nama pro$e#t dan lokasi pen!impanan pro$e#t(disini nama pro$e#tn!a
SegitigaSiku, dan untuk nama kelasn!a $uga SegitigaSiku
- Selan$utn!a ketikkan kode program di"awah ini pada #ode editor
pa#kage segitigasiku-
import $ava.io.B-
3-13
pu"li# #lass SegitigaSiku ,
pu"li# stati# void main(String=> args throws J+#eption,
'ataKnputStream masukan 0 new 'ataKnputStream(S!stem.in-

String strtinggi 0 null-

S!stem.out.println(ASegitiga SKku-SikuA-
S!stem.out.print(AMasukkan Hinggi & A-
strtinggi 0 masukan.read@ine(-

int tinggi, i, $, k-
tinggi 0 Knteger.parseKnt(strtinggi- )) mengu"ah inputan varia"el strtinggi dengan
)) tipe String ke varia"el tinggi dengan tipe data
integer

)B perulangan for i melakukan perulangan dari 1 sampai se"an!ak nilai varia"el tinggi
!ang
dimasukkan(perulangan "aris ) "an!akn!a "aris !ang akan di#etak B)
for(i01-i40tinggi-i33,

)B perulangan for $ melakukan perulangan spasi(A Ase"an!ak nilai varia"el tinggi dan
"erkurang
1 setiap perulangann!a("erpindah "aris sampai $umlah spasi(A A !ang di#etak pada "aris
!ang
"ersangkutan "er$umlah 1 B)
for($0tinggi-$10i-$--,
S!stem.out.print(A A-
.
)B perulangan for k melakukan perulangan "intang(ABAdari 1 sampai se"an!ak nilai varia"el
tinggi dan "ertam"ah 1 setiap perulangann!a sampai $umlah "intang(ABA !ang di#etak sama
dengan nilai varia"el tinggi !ang diinput B)
for(k01-k40i-k33,
S!stem.out.print(ABA-
.
)) perintah "erganti "aris ini dilakukan setiap selesai 1+ dalam melakukan perulangan $ dan
perulangan k
S!stem.out.print(ALnA-
.
.
.
Step $
- Cuild pro$e#t terse"ut dengan memilih menu Mun 01 Cuild Main Pro$e#t, atau
dengan menggunakan hotke! <11.
- Jika tidak ada kesalahan(CNK@' SN//JSS<N@, $alankan pro$e#t terse"ut
dengan memilh menu Mun 01 Mun Main Pro$e#t, atau dengan menggunakan
hotke! <6.
T67P(,68 O9TP9T
3-1(
P1.3 ,atihan
Cerikut ini adalah program untuk menginput nilai dan menampilkan hasiln!a
Step 1
- Jalankan Fet"eans %nda.
- @alu "uat file pro$e#t "aru dengan memilih menu <ile 01 Few Pro$e#t, atau
dengan menggunakan hotke! /trl3Shift3F.
- Pilih $enis pro$e#t !ang akan di"uat(Java 01 Java %ppli#ation
- Hentukan nama pro$e#t dan lokasi pen!impanan pro$e#t(disini nama pro$e#tn!a
<i"ona#i, dan untuk nama kelasn!a $uga <i"ona#i
- Pada #ode editor di net"eans, ketikkan program "erikut
(@engkapi kode program dengan mengisi titik-titik !ang "erwarna merah
pa#kage fi"ona#i-
import $ava.io.B-
pu"li# #lass <i"ona#i ,
pu"li# stati# void main(String=> args throws J+#eption,
:::::::.. )) deklarasi varia"el masuk se"agai inputan utama melalui
CufferedMeader

String $umlahfi"o 0 null-
int a02, "01, #02, i01-
S!stem.out.print(AMasukkan $umlah deret fi"ona#i & A-
$umlahfi"o 0 masuk.read@ine(-

:::::: )) deklarasikan varia"el $umlah dengan tipe data integer

:::::: )B u"ahlah input untuk varia"el $umlahfi"o tipe data String ke
varia"el $umlah dengan tipe data Knteger B)

:::::: )) #etak nilai awal dari varia"el a
3-15

:::::: )) #etak nilai awal dari varia"el "
do ,
# 0 a 3 "-
S!stem.out.println(#-
a 0 "-
" 0 #-
i33-
:::::: )) kondisi untuk perulangan do..while selama nilai i 4 (nilai $umlah-1
.
.
T67P(,68 O9TP9T ,6T(;68 P<O=<67
5O<*5S( ,6T(;68 P<O=<67
pa#kage fi"ona#i-
)BB
B
B Oauthor Shinigami
B)
import $ava.io.B-
pu"li# #lass <i"ona#i ,
pu"li# stati# void main(String=> args throws J+#eption,
CufferedMeader masuk 0 new CufferedMeader(new KnputStreamMeader(S!stem.in-

3-16
String $umlahfi"o 0 null-
int a02, "01, #02, i01-
S!stem.out.print(AMasukkan $umlah deret fi"ona#i & A-
$umlahfi"o 0 masuk.read@ine(-

int $umlah-
$umlah 0 Knteger.parseKnt($umlahfi"o-

S!stem.out.println(a-
S!stem.out.println("-
do ,
# 0 a 3 "-
S!stem.out.println(#-
a 0 "-
" 0 #-
i33-
. while (i 4 ($umlah-1-
.
.
P1.- Daftar Pustaka
Faughton, Patri#k, "a#a $andboo%& 'onsep Dasar (emrograman "a#a,
%ndi, Pog!akarta, 1996
Qar! /ornell dan /a! S.?orstmann, Core "a#a edisi Indonesia, %ndi
Pog!akarta, 1997
%Fuff, Penuntun Pemrograman Java, %ndi Pog!akarta, 1997
Iadir, %"dul. 'asar Pemrograman Java 2. %ndi. Pog!akarta, 2228
3-17

Anda mungkin juga menyukai