Syntax
kondisi
for( .. ; ... ; .. ) {
loop
while( ... ) {
loop
do {
loop
} while( ... ) ;
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
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:
10
10
I=1; while( I<=10 ) { printf( "\nJakarta " ); I = I + 1; }
Mencetak perkataan : Jakarta 10 kali
10
10
100
100
I=1; while( I<=100 ) { printf( "\nJakarta " ); I = I + 1; }
Mencetak perkataan : Jakarta 100 kali
100
100
while()
for()
#include<stdio.h>
void main() { int I; for(I=1; I<=5; I=I+1)
{
loop
} } }
I=I+1; }
while()
for()
#include<stdio.h>
void main() { int I; for(I=1; I<=5; I=I+1)
{
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 = 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
false
Kerjakan loop
Next instruction
initialization
cond
false
Chg of cond
208
init
Chg of conf
208
while()
for()
#include<stdio.h>
void main()
{ int I; for(I=1; I<=5; I=I+1) {
loop
}
}
}
I=I+1; }
while()
for()
#include<stdio.h>
void main()
{ int I; for(I=1; I<=5; I=I+1) {
loop
}
}
}
I=I+1; }
Jawab : 5 kali
{ 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; } }
Tercetak :
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);
I=I+1;
211
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
{
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
false
1 2 3 4 5
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
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
1
2 3 4
4
5 6
5
Keluar dari loop
211
for()
{ int I;
for(I=1; I<=5; I=I+1) { printf("\n %i", I ); }
}
while()
I<=5
true
false
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
for() #include<stdio.h> void main() { int I; for ( I=1; I<=5; I=I+1 ) { printf("\n %i", I ); } }
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;
212
Contoh-4 :
for()
#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
nilai I
1 2 3
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 :
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()
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
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, . . . . . . . . .
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
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 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-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;
}
}
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, .., .., ..