Anda di halaman 1dari 57

adalah sekelompok instruksi yang dikerjakan secara berulang-ulang adalah suatu proses yang terjadi secara berulangulang

Syntax

apapun yang ditulis disini oleh komputer dianggap sebagai suatu

kondisi

for( .. ; ... ; .. ) {
loop

while( ... ) {
loop

do {
loop

} while( ... ) ;

Ada 3 macam instruksi pembentuk Loop

condition

Adalah suatu pernyataan yang mengandung nilai benar (TRUE) atau salah (FALSE)

Contoh Condition
memeriksa hubungan 2 buah nilai
Memeriksa nilai nol atau bukan nol

A == B

A >= B
Flag == 0

Nilai = 0 FALSE Nilai Bukan 0 TRUE

0
1 A+B -1

Contoh-1 :
#include<stdio.h> void main() {int I; for(I=1; I<=5; I=I+1) { printf( "\nJakarta" ); } printf( "\nSelesai" ); }

#include<stdio.h> void main() {int I; I=1; while( I<=5 ) { printf( "\nJakarta " ); I = I + 1; } printf( "\nSelesai" ); } Jakarta Jakarta Jakarta Jakarta Jakarta Selesai

Bila kedua program diatas dijalankan, (diRUN) maka keduanya akan mencetak:

for(I=1; I<=5; I=I+1) { printf( "\nJakarta" ); }


Tercetak :

I=1; while( I<=5 ) { printf( "\nJakarta " ); I = I + 1; }


Tercetak :

Jakarta Jakarta Jakarta Jakarta Jakarta

Jakarta Jakarta Jakarta Jakarta Jakarta

Mencetak perkataan : Jakarta 5 kali

Mencetak perkataan : Jakarta 5 kali

for(I=1; I<=5; I=I+1) { printf( "\nJakarta" ); }


Mencetak perkataan : Jakarta 5 kali

I=1; while( I<=5 ) { printf( "\nJakarta " ); I = I + 1; }


Mencetak perkataan : Jakarta 5 kali

10

10
I=1; while( I<=10 ) { printf( "\nJakarta " ); I = I + 1; }
Mencetak perkataan : Jakarta 10 kali

for(I=1; I<=10; I=I+1) { printf( "\nJakarta" ); }


Mencetak perkataan : Jakarta 10 kali

10

10

100

100
I=1; while( I<=100 ) { printf( "\nJakarta " ); I = I + 1; }
Mencetak perkataan : Jakarta 100 kali

for(I=1; I<=100; I=I+1) { printf( "\nJakarta" ); }


Mencetak perkataan : Jakarta 100 kali

100

100

while()

for()

#include<stdio.h>
void main() { int I; for(I=1; I<=5; I=I+1)

#include<stdio.h> void main() { int I; I = 1; while(I<=5) {


loop

{
loop

} } }

I=I+1; }

Berapa Kali Loop Dikerjakan ?

while()

for()

#include<stdio.h>
void main() { int I; for(I=1; I<=5; I=I+1)

#include<stdio.h> void main() { int I; I = 1; while(I<=5) {


loop

{
loop

} } }

I=I+1; }

Jawab : 5 kali

Bentuk Umum
for ( init; cond; chng of cond ) { - loop }
Loop adalah sekumpulan instruksi yang rencananya akan dikerjakan secara berulang-ulang

cond = condition
Suatu pernyataan yang mengandung nilai BENAR (true) atau SALAH (False)

init; while ( cond ) { - loop chng of cond }


Chng of cond = Change of condition
Suatu instruksi yang dapat mempengaruhi nilai condition. Pada proses yang normal, perubahan nilai disini suatu saat akan membuat nilai condition = false

init = inisialisai
Instruksi pemberian suatu nilai yang mempengaruhi nilai condition. Pada proses yang normal, pemberian nilai awal ini akan menyebabkan condition bernilai true. Instruksi ini hanya pernah satu kali dilaksanakan, yaitu hanya pada saat awal

Bentuk Umum
initialization

for ( init; cond; chng of cond ) { - loop }

condition true Change Condition

false

Kerjakan loop

init; while ( cond ) { - loop chng of cond }

for & while


alur algoritmanya sama

Next instruction

for ( init; cond; chng of cond ) { - loop }

initialization

init; while ( cond ) { - loop chng of cond }

cond

true Kerjakan loop

false

Chg of cond

208

for ( init; cond; chng of cond ) { - loop }

init

Chg of conf

init; while ( cond ) { - loop chng of cond }

Kerjakan loop cond false true

208

while()

for()

#include<stdio.h>

void main()
{ int I; for(I=1; I<=5; I=I+1) {
loop

#include<stdio.h> void main() { int I; I = 1; while(I<=5) { loop

}
}
}

I=I+1; }

Berapa Kali Loop Dikerjakan ?

while()

for()

#include<stdio.h>

void main()
{ int I; for(I=1; I<=5; I=I+1) {
loop

#include<stdio.h> void main() { int I; I = 1; while(I<=5) { loop

}
}
}

I=I+1; }

Jawab : 5 kali

Contoh-2 : Apa yang tercetak bila program berikut dijalankan


while() for() #include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1) { printf(\nJakarta); } } #include<stdio.h> void main() { int I; I = 1; while(I<=5)

{ printf(\nJakarta); I=I+1; }
}

211

Contoh-2 :
for()

while()
#include<stdio.h> void main() { int I; I = 1; while(I<=5) { printf(\nJakarta); I=I+1; } }

#include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1) { printf(\nJakarta); } }


Tercetak : Jakarta Jakarta Jakarta Jakarta Jakarta

Tercetak :

Jakarta Jakarta Jakarta Jakarta Jakarta 211

Contoh-3 : Apa yang tercetak bila program berikut dijalankan

while() for()
#include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1) {

#include<stdio.h>
void main() { int I; I = 1; while(I<=5) {

printf("\n %i", I);


} } } }

printf("\n %i",I);
I=I+1;

211

Selalu memperhatikan perkembangan nilai I Contoh-3 :


for()
#include<stdio.h>

while()
#include<stdio.h> void main() { int I; I = 1; while(I<=5) { printf("\n %i",I); I=I+1; } }

I 1 2 3

Tercetak

1 2 3

void main()
{ int I; for(I=1; I<=5; I=I+1) { printf("\n %i", I); } }

4
5 6

4
5

Keluar dari loop nilai I = 6


211

for() #include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1)


I = 1

{
printf("\n %i",I); } }
Tercetak : 1 I<=5 true printf I

false

2 3 4 5

I = I+1

while() #include<stdio.h> void main() { int I; I=1; while( I<=5 ) { printf("\n %i",I); I=I+1; } }
Tercetak :

I = 1

I<=5 true printf

false

1 2 3 4 5

for & while


alur

I = I+1

algoritmanya
sama

for() #include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1) {printf("\n %i", I ); } } Perkembangan nilai I nilai I
1 2 3 4 5 6 Kondisi I <= 5 True True True True True False

Tercetak : 1 2 3 4 5

I = 1

I<=5
true

false

print I = I+1

Tercetak oleh printf I

Oleh I=I+1 nilai I menjadi: 2 3

1
2 3 4

4
5 6

5
Keluar dari loop

211

while()

#include<stdio.h> void main() { int I; I = 1; while(I<=5) {printf("\n %i", I); I=I+1; } } Perkembangan nilai I nilai I
1 2 3 4 5 6 Kondisi I <= 5 True True True True True False

Tercetak : 1 2 3 4 5

I = 1

I<=5
true

false

print I = I+1

Tercetak oleh printf I

Oleh I=I+1 nilai I menjadi: 2 3

1
2 3 4

4
5 6

5
Keluar dari loop

211

for()

for & while alur algoritmanya sama


I = 1

#include<stdio.h> void main()

{ int I;
for(I=1; I<=5; I=I+1) { printf("\n %i", I ); }

}
while()

I<=5
true

false

#include<iostream.h> void main() { int I; I = 1; while(I<=5) { printf("\n, %i", I ); I=I+1; } }

print

I=I+1

211

cara menggambar

flowchart bebas
I = 1 I = 1

I<=5

false

I=I+1 I = 1 print I

true

print I

I<=5
I=I+1 I<=5
false true

true

false

print I

I=I+1

Perhatikan kembali Contoh-3 sebelumnya sebagai berikut :

for() #include<stdio.h> void main() { int I; for ( I=1; I<=5; I=I+1 ) { printf("\n %i", I ); } }

Buku literatur selalu menggunakan untuk

I++

I = I+1

for() #include<iostream.h> void main() { int I; for ( I=1; I<=5; I++ ) { printf("\n %i", I ); } }

212

Beberapa Cara penulisan loop dengan for( ) untuk Contoh-1 diatas, yang menghasilkan efek yang sama :

#include<stdio.h> void main() { int I; for( I=1; I<=5; I++ ) { printf("\n %i", I); } }
{ int I;

{ int I; for( I=1; I<=5; I++ ) printf("\n %i", I ); }


Bila instruksi dalam loop hanya ada 1 instruksi, maka boleh tidak diapit oleh tanda kurung.

for(I=1; I<=5; I++) printf("\n %i", I ); }


Loop boleh langsung ditulis pada baris yang sama dengan for().

212

Perhatikan kembali loop dengan while sebagai berikut:


while()

dapat ditulis menjadi:

#include<stdio.h> void main() { int I; I = 1; while(I<=5) {printf("\n %i", I ); I++; } }

#include<stdio.h> void main() { int I; I = 1; while(I<=5) {printf("\n %i", I++ ); } }

Cetak dulu nilai I, Kemudian I ditambah 1. 213

Contoh-4 :
for()

Apa yang tercetak bila program-program berikut ini dijalankan while()

#include<stdio.h> void main() { int I; for( I=1; I<=5; I=I+1 ) { printf( "\n %i", I*2 ); } }

#include<stdio.h> void main() { int I; I = 1; while( I<=5 ) { printf( "\n %i", I*2 ); I=I+1; } }

for()

while()

#include<stdio.h> void main() { int I; for( I=1; I<=5; I=I+1 ) { printf( "\n %i", I*2 ); } }
Tercetak :

2 4 6 8 10

#include<stdio.h> void main() { int I; I = 1; while( I<=5 ) { printf( "\n %i", I*2 ); I=I+1; } }
Tercetak :

2 4 6 8 10

for()

while()

#include<stdio.h> void main() { int I; for(I=1; I<=5; I=I+1) { printf("\n %i", I*2 ); } }
Perkembangan nilai I

#include<stdio.h> void main() { int I; I = 1; while(I<=5) { printf("\n %i ", I*2 ); I=I+1; } }


Oleh I=I+1 nilai I menjadi:

nilai I
1 2 3

Kondisi Tercetak oleh I <= 5 True True True


printf I*2

2 4

2
3 4 5

6
8 10 Keluar dari loop

4
5 6

True
True False

Perhatikan :

15

printf(%i, A+2);
Akan mencetak : 17 Tapi isi variabel A tidak berubah

Contoh-5 :

Apa yang tercetak bila program-program berikut ini dijalankan

for()
#include<stdio.h> void main( ) { int I, N; N = 8; for(I=1; I<=5; I=I+1) { printf( "\n %i",N ); N = N + 2; } }

while() #include<stdio.h> void main( ) { int I, N; N = 8; I = 1; while(I<=5) { printf( "\n %i",N ); N = N + 2; I=I+1; } }

for() #include<stdio.h> void main() { int I, N; N = 8; for( I=1; I<=5; I=I+1 ) { printf( "\n %i",N ); N = N + 2; } }
Tercetak : 8

while()
#include<stdio.h> void main() { int I, N; N = 8; I = 1; while( I<=5 ) { printf( "\n %i",N ); N = N + 2; I=I+1; } }
Tercetak : 8

10 12 14 16

10 12 14 16

for()
#include<stdio.h> void main() { int I, N; N = 8; for(I=1; I<=5; I=I+1) { printf( "\n %i",N ); N = N + 2; } }
Tercetak : 8

while()
#include<stdio.h> void main() { int I, N; N = 8; I = 1; while(I<=5) { printf( "\n %i",N ); N = N + 2; I=I+1; } }
Tercetak : 8

10 12 14 16

10 12 14 16

for()

while()

#include<stdio.h> void main() { int I, N; N = 8; for(I=1; I<=5; I=I+1) { printf("\n %i", N ); N = N + 2; } }


Perkembangan nilai I

#include<stdio.h> void main() { int I, N; N = 8; I = 1; while(I<=5) {

printf("\n %i", N );
N = N + 2; I=I+1; } }
Oleh N=N+2 nilai N menjadi: 10 12 14 16 18 Oleh I=I+1 nilai I menjadi: 2 3 4 5 6

nilai
N 8 10 12 14 16 18

Kondisi I <= 5 True True True True True False

Tercetak oleh printf N 8 10 12 14 16 Keluar dari loop

I
1 2 3 4 5 6

Soal 14a:
Susun program dalam Bahasa C untuk mencetak :

1 2 3 4 5 6 7 8 9 10

Soal Ujian :
Susun program untuk mencetak 10 suku pertama deret berikut ini :

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

256

Soal

Susun Algoritma yang ditulis dalam Bahasa C++ untuk mencetak 10 suku pertama deret berikut ini :

1, 2, 3, 4, 5, . . . . . . . . .
Bila algoritma benar, maka tercetak :

Cara-1

I
1 2 3 4 5 6 7 8 9 10 11

Tercetak :

1 2 3 4 5 6 7 8 10

#include<stdio.h> void main() { int I; for( I=1; I<=10; I=I+1 ) { printf(\n %i,I ); } }

1 2 3 4 5 6 7 8 9 10

Cara-2

#include<stdio.h> void main() { int I, N; for( I=1; I<=10; I=I+1 ) { N = I; printf(\n %i, N ); 11 } Nilai N } terakhir = 10

I 1 2 3 4 5 6 7 8 9 10

N 1 2 3 4 5 6 7 8 9 10

Cara-3

#include<stdio.h> void main() { int I, N; N= 1; for( I=1; I<=10; I=I+1 ) { printf(\n %i, N ); N = N + 1; } Nilai N } terakhir pernah = 11
Tapi tidak ikut dicetak Karena sudah keluar dari loop

I 1 2 3 4 5 6 7 8 9 10

N 1 2 3 4 5 6 7 8 9 10 11 11

Soal

Susun Algoritma yang ditulis dalam Bahasa C untuk mencetak 10 suku pertama deret berikut ini : 1, 2, 3, 4, 5, . . . . . . . . .

Bila algoritma benar, maka tercetak :

Cara-1 #include<stdio.h> void main() { int I; for( I=1; I<=10; I=I+1 ) { printf(" \n %i" I ); } }

I 1 2 3 4 5 6 7 8 9 10 11

Tercetak :

1 2 3 4 5 6 7 8 9 10

1 2 3 4 5 6 7 8 9 10

I terakhir nilainya = 11,


Tapi tidak ikut dicetak Karena sudah keluar dari loop

Cara-2 #include<stdio.h> void main()


I 1 2 3 4 5 6 7 8 9 10 11 N 1 2 3 4 5 6 7 8 9 10

Cara-3 #include<stdio.h> void main() { int I,N; N = 1; for( I=1; I<=10; I=I+1 ) { printf(\n %i,N ); N = N + 1; } }
N awalnya =1 dan selalu ditambah 1

I 1 2 3 4 5 6 7 8 9 10 11

N 1 2 3 4 5 6 7 8 9 12 11

{ int I,N;
for( I=1; I<=10; I=I+1 ) { N = I; printf(\n %i, N );

}
}

Nilai N pernah = 11 tapi tidak ikut dicetak karena sudah keluar dari loop

Perkembangan nilai I
nilai
N Kondisi I <= 10 True

Tercetak oleh
Print N 1 2 3 4 5 6 7 8 9 10 Keluar dari loop

Oleh N=N+1 nilai N menjadi: 2 3 4 5 6 7 8 9 10 11

Oleh I=I+1
nilai I menjadi: 2 3 4 5 6 7 8 9 10 11

I
1

1
2 3 4

2
3 4 5 6 7 8 9 10 11

True
True True True True True True True True False

5
6 7 8

9
10 11

Cara-1 #include<stdio.h> void main() { int I;

Cara-2
#include<stdio.h> void main() { int I,N; for( I=1; I<=10; I=I+1 ) { N = I; printf(\n %i, N ); }

Cara-3
#include<stdio.h> void main() { int I,N; N = 1; for( I=1; I<=10; I=I+1 ) { printf(\n %i,N ); N = N + 1;

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


{ printf("\n %i" I ); } }

}
}

Dalam ujian cukup ditulis :


for( I=1; I<=10; I=I+1 )
{ printf("\n %i" I ); } } } for( I=1; I<=10; I=I+1 ) { N = I; printf(\n %i, N ); N = 1; for( I=1; I<=10; I=I+1 ) { printf(\n %i,N );

N = N + 1;

Soal-14b :
Susun program dalam Bahasa C untuk mencetak :

1 3 5 7 9 11 13 15 17 19

Soal Ujian :
Susun program untuk mencetak 10 suku pertama deret berikut ini :

1, 3, 5, 7, 9, .., .., ..

213 & 237

Anda mungkin juga menyukai