Anda di halaman 1dari 42

Pertemuan 06

Pengulangan

Pemrograman Dasar [PTI15001]


2012

1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
 Memahami struktur kendali pengulangan (looping) dan
memanfaatkannya dalam pembuatan aplikasi program
komputer dengan bahasa pemrograman Java.

2
Outline Materi
Struktur Pengulangan (looping)
 Konstruksi for, while dan do-while
 Nested dan infinite loop
 Compound atau Block statement
 Break dan Continue

3
Struktur Pengulangan
 Struktur pengulangan dimaksudkan untuk melakukan
proses pengulangan dari beberapa instruksi dalam
sejumlah pengulangan tertentu
 Jumlah pengulangan dapat ditentukan sebelumnya atau
ditentukan dalam proses pelaksanaan pengulangan.
 Tiga macam struktur pengulangan dalam pemrograman
terstruktur, yaitu:
 Struktur for
 Struktur while
 Struktur do-while

4
Struktur Pengulangan for
 Konstruksi for
for ([exp1]; [exp2]; [exp3]) statement;
atau:
for ([exp1]; [exp2]; [exp3]){
statement1;
statement2;
…….
}
exp1 : adalah ekspresi untuk inisialisasi,
exp2 : adalah ekspresi conditional (batas pengulangan)
exp3 : adalah ekspresi increment atau decrement

exp1, exp2 dan exp3 adalah sifatnya optional (boleh ada boleh tidak ada).
5
Struktur Pengulangan for
 Struktur logika pengulangan for

exp1

exp3

statements

true
exp2

false

6
Struktur Pengulangan for
 Contoh :
 for (x=1; x <= 10; x++) System.out.printf(“%d\n”,x);

x=1

x++

System.out.printf(“%d\n”,x)

true
x<=10

false

7
Struktur Pengulangan for
 exp1 dan exp3 boleh terdiri dari beberapa ekspresi yang
dipisahkan dengan koma.
 Contoh:

8
Struktur Pengulangan for
 Contoh :
• Program mencetak angka dari 1 sampai 10

• Program mencetak angka dari 10 sampai 1

9
Struktur Pengulangan for
 Contoh penggunaan for untuk menghitung rata-rata
pengeluaran uang bensin selama satu bulan, dengan data sbb :
Minggu Pengeluaran
1 Rp. 32.000,-
2 Rp. 29.000,-
3 Rp. 33.000,-
4 Rp. 24.000,-

Algoritma :
1. Variabel jumlah diberi nilai nol
2. Baca data pengeluaran bensin dari keyboard dan simpan ke variabel data
3. Tambahkan data ke jumlah
4. Ulangi 2 dan 3 sebanyak 4 kali
5. Rerata = Jumlah / 4

10
Struktur Pengulangan for
 Program dalam C:

11
Struktur Pengulangan for
 Infinite Loop
Untuk membuat infinite loop dapat dilakukan dengan
menggunakan “for-loop”, dengan menghilangkan ketiga parameter
(exp1, exp2, exp3) yang ada pada for loop. Untuk keluar dari loop
dapat digunakan statement break.
 Contoh:

12
Struktur Pengulangan for
 Nested Loop
Jika di dalam sebuah pengulangan terdapat statement
pengulangan. Pengulangan akan dijalankan dimulai dari
pengulangan terdalam.
int x, y;
for (x=1;x<=5;x++)
for (y=5; y>=1; y--)
System.out.printf(”%d %d ”,x,y);
atau Output :
for (int x=1;x<=5;x++) 1 5 1 4 1 3 .. 2 5 2 4 .. 5 1
for (int y=5; y>=1; y--)
System.out.printf(”%d %d ”,x,y);

13
Struktur Pengulangan for
 Contoh :

14
Struktur Pengulangan while
 Sintaks :
while (eks.boolean) statements;
atau :
while(eks.boolean){
statement1;
statement2; statements
…..
} true
eks. boolean

false

15
Struktur Pengulangan while
 Contoh :
 while(product <= 1000) product = 2*product;

product=2*product;

tru
product <= 1000 e

false

16
Struktur Pengulangan while
 Contoh program:

17
Struktur Pengulangan while
 Kesetaraan for dengan while sbb:
exp1;
while ( exp2 ) { for (exp1; exp2; exp3 ) {
statement1; statement1;
statement2; statement2;
setara
…. ….
exp3 }
}

 Contoh:
int x = 1;
while (x<=10) { int x;
--- for( x = 1 ; x <= 10 ; x++ )
--- serupa dg ---
x++; ---
} }

18
Struktur Pengulangan do - while
 Sintaks :
do statement while (eks.boolean);
atau : statements
do {
statement1; true
eks. boolean
statement2;
….. false
} while(eks.boolean)

 Selama eks.boolean bernilai true maka statements dieksekusi lagi.


 Pengetesan eks.boolean dilakukan setelah meng-eksekusi statements.

19
Struktur Pengulangan do - while
 Contoh:
int i = 0;
do { I=0
System.out.printf(”%d\n”, i);
} while(++i <=10);

Cetak
i

true
++i <= 10

false

20
Pengulangan
 Pada pengulangan while, statement atau blok statement
mungkin tidak akan pernah dilaksanakan, bila nilai ekspresi
boolen bernilai false, karena operasi pengulangan diawali
dengan mengeksekusi ekspresi boolean terlebih dahulu.
 Pada pengulangan do-while statement atau blok statement pasti
dikerjakan paling sedikit satu kali, karena ekspresi boolean
baru diuji pada akhir blok pengulangan.

21
Pengulangan
 Beberapa cara untuk menghentikan pengulangan untuk
program interaktif, di antaranya dapat dilakukan dengan
menambah:
• Sentinel atau Pembatas dengan kode khusus.
• Pertanyaan, misalkan: “Apakah pengulangan akan
dilanjutkan?”.

22
Pengulangan
 Contoh : Cara ‘sentinel’ pada konstruksi do-while dengan memakai nilai
0 pada variabel panjang dan variabel lebar.

23
Pengulangan
 Contoh : Cara ‘Pertanyaan’ pada konstruksi While

24
Statement break dan continue
 break
• Digunakan untuk keluar dari loop (for, while dan do-while)
• Digunakan untuk keluar dari switch

 continue
• skip sisa instruksi dalam loop, dan eksekusi loop berjalan ke
tahap selanjutnya

25
Break
 Contoh penggunaan statement break pada loop yang
menyebabkan program keluar dari loop tersebut

int x = 1;
while (x<=10) {
Syatem.out.printf( "%d\n", x );
x++;
if (x>5) break;
}

Keluar dari loop

26
continue
 Contoh:

int x;
for(x=1; x<=10; x++) {
if (x == 5) continue;
System.out.printf("%d ", x);
}

Output : 1 2 3 4 6 7 8 9 10

27
break vs continue

do { do {
scanf(“%f”, &x); scanf(“%f”, &x);
if(x<0) { if(x<0) {
System.out.printf( System.out.printf(
“\nEror. Negatif”); “\nEror. Negatif”);
break; continue;
} }
/*Proses nonnegatif */ /*Proses nonnegatif */
… …
} while(exp); } while(exp);

28
Latihan
for (i=k; i < n; i++)
System.out. printf(”TIF-FTUB\n”);

1. Jika k < n maka berapa kali kata TIF-FTUB di cetak dilayar


monitor?
2. Jika k=n maka berapa kali kata TIF-FTUB di cetak dilayar
monitor ?
3. Jika k > n maka berapa kali kata TIF-FTUB di cetak dilayar
monitor ?

29
Latihan
for (i=k; i >= n; i--) printf(” TIF-FTUB \n”);
1. Jika k < n maka berapa kali kata TIF-FTUB di cetak
dilayar monitor ?
2. Jika k=n maka berapa kali kata TIF-FTUB di cetak
dilayar monitor ?
3. Jika k > n maka berapa kali kata TIF-FTUB di cetak
dilayar monitor ?

30
Latihan
 Dapatkah infinite/forever loop ditulis menggunakan for loop,
while loop dan do-while loop ?
 Jika p = pernyataan dan e = ekspresi, ubahlah loop for berikut
menjadi loop while.
a. for(; e ;) p;
b. for(; ; e) p;

31
Latihan
 Bandingkan dua buah sintaks for berikut ini :
for (i=0, j=1; i<8; i++, j++) printf("%d + %d = %d\n", i, j, i+j);

for (i=0, j=1; i<8; ++i, ++j); printf("%d + %d = %d\n", i, j, i+j);

Jelaskan outputnya dan perbedaannya dari dua potongan


program di atas!

32
Latihan
APA OUTPUT POTONGAN PROGRAM BERIKUT ??

int x,y;
for(x=1;x<=3;x++) awas! Ada titik koma
for (y=3;y>=1;y--)
System.out.printf( int x,y;
"%d %d ",x,y); for(x=1;x<=3;x++);
for (y=3;y>=1;y--)
System.out.printf(
"%d %d ",x,y);

33
Latihan
APA OUTPUT PROGRAM BERIKUT ??

int x,y; awas! ada titik koma


for(x=1;x<=3;x++)
for (y=3;y>=1;y--); int x,y;
System.out.printf( for (x=1;x<=3;x++);
"%d %d ",x,y);
for (y=3;y>=1;y--);
System.out.printf(
"%d %d ",x,y);

Awas! ada titik koma


34
Latihan
Jelaskan output potongan program berikut ini :

int nilai = 0, jumlah = 0;


while(nilai < 10) {
jumlah += nilai;
System.out.printf(”\nNilai =%d, Jumlah =%d”,
nilai++, jumlah);
}

35
Latihan
 Jelaskan output dari potongan program berikut ini :
long bil, tmp, x=1;
Scanner input = new Scanner(System.in);
printf(”\nInput bil:”);
bil = input.nextLong();
tmp=bil;
while(bil >= 1) x*=bil--;
System.out.printf(”\n%ld ! = %ld”,tmp, x);

36
Latihan
 Buat program untuk menampilkan bilangan ganjil dari 11 s/d
188, dengan menggunakan :
• for
• while
• do - while

37
Latihan
 Diasumsikan hari 1 menyatakan senin, 2 - selasa, 3 - rabu,…, 7 –
minggu. Buatlah sebuah program untuk menampilkan angka hari
sebanyak n yang diinput dari keyboard. Perhatikan pola berikut :
n=3
1 2 3

n=7
2 2 3 4 5 6 7

n = 10
1 2 3 4 5 6 7 1 2 3

38
Latihan
 Berapa kali kata Hello dicetak di layar monitor oleh
setiap potongan program di bawah ini?

int x ;
for(x=0 ; x<10 ; x++) int x=0;
System.out.printf("Hello\n"); for( ; ; ){
if(x<10)
int x=0; System.out.printf("Hello\n");
for( ; x<10 ; x++) else break;
System.out.printf("Hello\n"); x++;
}

int x=0;
for( ; ; x++){
if(x<10) System.out.printf("Hello\n");
else break;
}
39
Latihan
 Buatlah program untuk menampilkan gambar seperti contoh
dibawah, dimana n variabel integer yg nilainya di-input dari
keyboard (dengan for, while atau do-while loop).

*
**
***
**** n
*****

40
Latihan
 Buatlah program untuk menampilkan gambar seperti contoh
dibawah, dimana n variabel integer yg nilainya di-input dari
keyboard (dengan for, while atau do-while loop).

*****
****
***
** n
*

41
Latihan
Apa Output dari potongan program di bawah ini, serta jelaskan?

int x,y,z;
for (x=0; x<4; x++) {
for (y=0; y<3; y++) {
for (z=0; z<3; z++) {
if (z==2) break;
}
System.out.printf("Selamat\n");
}
System.out.printf("Datang\n”
}
System.out.printf("di TIF-FTUB\n");

42

Anda mungkin juga menyukai