Top Banner
1
39

Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Mar 23, 2019

Download

Documents

truongkien
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

1

Page 2: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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

Page 3: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Struktur Pengulangan (looping)

Konstruksi for, while dan do-while

Nested dan infinite loop

Compound atau Block statement

Break dan Continue

3

Page 4: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Struktur pengulangan dimaksudkan untukmelakukan proses pengulangan dari beberapainstruksi dalam sejumlah pengulangan tertentu

Jumlah pengulangan dapat ditentukansebelumnya atau ditentukan dalam prosespelaksanaan pengulangan.

Tiga macam struktur pengulangan dalam pemrograman terstruktur, yaitu: Struktur for Struktur while Struktur do-while

4

Page 5: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Konstruksi for

for (exp1; exp2; exp3) statement;atau:

for (exp1; exp2; exp3){statement1;statement2;…….

}

exp1 : adalah ekspresi untuk inisialisasi,exp2 : adalah ekspresi conditional exp3 : adalah ekspresi increment atau decrement

exp1, exp2 dan exp3 adalah sifatnya optional (boleh ada bolehtidak ada).

5

Page 6: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

6

Struktur logika pengulangan for

exp1

exp3

statements

exp2true

false

exp1

exp3

statements

exp2true

false

Page 7: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

7

Contoh :

for (x=1; x <= 10; x++) sout(x);

x = 1

x++

Sout(x)

x<=10true

false

Page 8: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh :• Program mencetak angka dari 1 sampai 10

• Program mencetak angka dari 10 sampai 1

8

int x;

for( x = 1 ; x <= 10 ; x++ ) sout(x );

int x;

for( x = 10 ; x >= 1 ; x-- ) sout(x );

Page 9: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh penggunaan for untuk menghitung rata-rata pengeluaran uang bensin selama satu bulan, dengandata sbb :

Minggu Pengeluaran

1 Rp. 32.000,-

2 Rp. 29.000,-

3 Rp. 33.000,-

4 Rp. 24.000,-

9

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

Page 10: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Infinite LoopUntuk 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:

10

int i = 0;

for(;;) {

i++;

sout(i);

if (i>=10) break;

}

Page 11: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Nested Loop

Jika di dalam sebuah pengulangan terdapat

statement pengulangan. Pengulangan akan

dijalankan dimulai dari pengulangan terdalam.

11

Output :

1 5 1 4 1 3 .. 2 5 2 4 .. 5 1

int x, y;

for (x=1;x<=5;x++){

for (y=5; y>=1; y--){

sout(x +” ”+ y);

}

}

Bahasa C

Page 12: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Sintaks :

while (eks.boolean) statements;

atau :

while(eks.boolean){

statement1;

statement2;

…..

}

12

eks. boolean

statements

true

false

Page 13: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh :

while(product <= 1000) product = 2*product;

product <= 1000

product=2*product;

false

true

Page 14: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Kesetaraan for dengan while sbb:

Contoh:

14

int x;

for( x = 1 ; x <= 10 ; x++ )

Sout(x );

int x = 1;

while (x<=10) {

Sout(x );

x++;

}

exp1;

while ( exp2 ) {

statement1;

statement2;

….

exp3

}

for (exp1; exp2; exp3 ) {

statement1;

statement2;

….

}

setara

serupa dg

Page 15: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Sintaks :

do statement while (eks.boolean);

atau :

do {

statement1;

statement2;

…..

} while(eks.boolean)

Selama eks.boolean bernilai true maka statements dieksekusi berulang-ulang.

Pengetesan eks.boolean dilakukan setelah meng-eksekusistatements.

15

eks. booleantrue

false

statements

Page 16: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh:

int i = 0;do {

sout(i);} while(++i <=10);

16

++i <= 10true

false

I = 0

Cetak

i

Page 17: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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.

17

Page 18: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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?”.

18

Page 19: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh : Cara „sentinel‟ pada konstruksi do-while dengan

memakai nilai 0 pada variabel panjang dan variabel lebar.

19

int panjang,lebar,luas; char ulang;

do{ cetak(“Panjang [0=selesai] : “);

baca(panjang);

cetak(“Lebar [0=selesai] : “);

baca(lebar);

luas = panjang * lebar;

cetak (“Luas = “+luas);

} while((panjang != 0) && (lebar != 0));

Page 20: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh : Cara „Pertanyaan‟ pada konstruksi While

20

int panjang, lebar, luar; char ulang;

cetak(”Teruskan Perhitungan ? (Y/T) :”);

baca(ulang);

while((toupper(ulang)) == ’Y’) {

cetak(”Panjang : ”); baca (panjang);

cetak(”Lebar : ”); baca(lebar);

luas = panjang * lebar;

cetak(”Luas =”,luas);

cetak(”Teruskan Perhitungan?(Y/T):”);

baca(ulang);

}

Page 21: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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

21

Page 22: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

int x = 1;while (x<=10) {

sout(x );x++;if (x>5) break;

}

22

Contoh penggunaan statement break pada loop yangmenyebabkan program keluar dari loop tersebut

Keluar dari loop

Page 23: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Contoh:

23

int x;

for(x=1; x<=10; x++) {

if (x == 5) continue;

sout(x);

}

Output : 1 2 3 4 6 7 8 9 10

Page 24: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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 ?

24

Page 25: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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 ?

25

Page 26: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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;

26

Page 27: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Bandingkan dua buah sintaks for berikut ini :

Jelaskan outputnya dan perbedaannya dari dua

potongan program di atas!

27

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);

Page 28: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

#include <stdio.h>int main(){

int x,y;for(x=1;x<=3;x++)for (y=3;y>=1;y--)

printf("%d %d ",x,y);return 0;

}

28

#include <stdio.h>

int main()

{

int x,y;

for(x=1;x<=3;x++);

for (y=3;y>=1;y--)

printf("%d %d ",x,y);

return 0;

}

APA OUTPUT PROGRAM BERIKUT ??

awas! Ada titik koma

Page 29: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

#include <stdio.h>int main(){

int x,y;for(x=1;x<=3;x++)for (y=3;y>=1;y--);

printf("%d %d ",x,y);return 0;

}

29

#include <stdio.h>

int main()

{

int x,y;

for (x=1;x<=3;x++);

for (y=3;y>=1;y--);

printf("%d %d ",x,y);

return 0;

}

APA OUTPUT PROGRAM BERIKUT ??

awas! ada titik koma

Awas! ada titik koma

Page 30: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Jelaskan output program berikut ini :

30

#include<stdio.h>

int main() {

int nilai = 0, jumlah = 0;

while(nilai < 10) {

jumlah += nilai;

printf(”\nNilai =%d, Jumlah =%d”, nilai++, jumlah);

}

return 0;

}

Page 31: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Jelaskan output program berikut ini :

31

#include<stdio.h>

int main() {

long bil, tmp, x=1;

printf(”\nInput bil:”); scanf(”%d”, &bil);

tmp=bil;

while(bil >= 1) x*=bil--;

printf(”\n%ld ! = %ld”,tmp, x);

return 0;

}

Page 32: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Buat program untuk menampilkan bilangan ganjil dari

11 s/d 188, dengan menggunakan :

• for

• while

• do - while

32

Page 33: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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 = 71 2 3 4 5 6 7

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

33

Page 34: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

int x ;for(x=0 ; x<10 ; x++) printf("Hello\n");

34

Berapa kali kata Hello dicetak di layar monitor oleh

setiap potongan program di bawah ini?

int x=0;

for( ; x<10 ; x++) printf("Hello\n");

int x=0;

for( ; ; x++){

if(x<10) printf("Hello\n");

else break;

}

int x=0;

for( ; ; ){

if(x<10) printf("Hello\n");

else break;

x++;

}

Page 35: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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).

*

* *

* * *

* * * *

* * * * *

35

n

n

Page 36: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

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).

* * * * *

* * * *

* * *

* *

*

36

n

n

Page 37: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

Apa Output dari program di bawah ini?

37

#include <stdio.h>int main(){ 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;

}printf("Selamat\n");

}printf("Datang\n");

}printf("di TIF-FTUB\n");getch();return(0);

}

Page 38: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

38

Struktur logika pengulangan for

exp1

exp3

statements

exp2true

false

Page 39: Pada akhir pertemuan ini, diharapkan mahasiswa · Struktur Pengulangan (looping) Konstruksi for, while dan do-while Nested dan infinite loop Compound atau Block statement Break dan

39

exp1

exp3

statements

exp2true

false

Struktur logika pengulangan for