Anda di halaman 1dari 20

{Pertemuan 7

Struktur Perulangan Lanjutan}


ANALISIS DAN DESAIN ALGORITMA (PG157)
Outline
 Nested Loop
 Contoh dan Latihan yang melibatkan Struktur Perulangan
NESTED LOOP

255
Pendahuluan

#include<stdio.h>
?
J
void main()
{ int J; 1
2
for ( J=1; J<=5; J++ ) 3
{ 4

- 5

-
6

-
Loop

-
}
}
Berapa kali
loop dikerjakan ?
255
Pendahuluan
J=1 J=1
int J;
for ( J=1; J<=5; J++)
false true
{ J<=5 J<=5
- -
- --
true

- - -
false
Loop
--
- -
} J++
J++

atau J=1

J++

-
--
-
true
J<=5

false
Pendahuluan
J=1
#include<stdio.h>
main()
false
{ int J; J<=5

J = 1; true
--
while ( J<=5 ) --
{ atau
J=J+1
- -
- -
- - J=1
- -
J++;
J=J+1
}
--
} --
Loop
true
J<=5

false
Pendahuluan

#include<stdio.h> #include<stdio.h>
void main() void main()
{ int J; { int J;
for ( J=1; J<=5; J++) J = 1;
{ while ( J<=5 )
- {
- -
- -
- -
} J++;
} }
}
Nested Loop dengan for( )
Pemahaman Nested Loop

(A) #include<stdio.h> #include<stdio.h>


void main() void main()
{ int I, J; { int I, J;
for ( I=1; I<=3; I++) for ( I=1; I<=3; I++)
{ {

for ( J=1; J<=5; J++)


} {
} --
--
-
(B) for ( J=1; J<=5; J++)
}
{ }
--
-- }
-
}
for ( J=1; J<=5; J++) #include<stdio.h>
{ main()
{ int I, J;
printf(“\nJakarta”) for ( I=1; I<=3; I++)
} {
for ( J=1; J<=5; J++)
Tercetak : Jakarta {
Jakarta
Jakarta printf(“\nJakarta”)
Jakarta }
Jakarta }
}

Tercetak : Jakarta
Jakarta
-
- 15 kali
-
-
Jakarta
Jakarta
Perhatikan kembali Nested Loop sebelumnya
sebagai berikut ini :

I=1
#include<stdio.h>
void main() false
I<=3
{ int I, J;
true
for ( I=1; I<=3; I++) J=1
{
for ( J=1; J<=5; J++) false
Outer J<=5
{ loop
true
-- Inner
Outer
-- Inner loop
loop

- loop
} J++
}
}
I++

keluar 258
I=1
#include<stdio.h>
void main()
true
{ int I, J; I<=3
for ( I=1; I<=3; I++) J=1
{

false
true
for ( J=1; J<=5; J++)

Outer loop
J<=5
{ --
-- Inner

false
- loop
}
}
J++
}
I++

258
keluar
Latihan di Kelas
Buatlah Flowchart untuk mencetak beberapa deret berikut ini:
1. 10 20 30 40 50 60 70 80 90 100
2. 100 95 90 85 80 75 70 65 60 55
3. 1 2 4 8 16 32 64 128 256 512 1024
4. 5 8 12 17 23 30 38 47 57 68
5. 1 1 2 3 5 8 13 21 34 55
Latihan di Kelas
1. Seseorang mengendarai sepeda dengan kecepatan tetap 2 meter/detik.
Susun program untuk mencetak berapa meter yang dia tempuh setelah
bersepeda selama 100 detik.
2. Seseorang menyimpan uang Rp. 1.000.000 di bank dengan bunga ber-bunga
2% perbulan. Jadi setelah satu bulan uangnya menjadi Rp. 1.020.000. Satu
bulan berikutnya uang Rp. 1.020.000 ini mendapat bunga lagi 2%, yaitu
Rp.20.400 sehingga setelah 2 bulan uangnya menjadi Rp. 1.020.000 + Rp.
20.400 = Rp. 1.040.400. Demikian seterusnya (bunga bulan ini ditambahkan
ke saldo uangnya dan mendapatkan bunga lagi pada bulan berikutnya) .
Susun program untuk menghitung dan mencetak jumlah uangnya setelah 10
bulan.
Susun program untuk mencetak nilai-
nilai ( 1- 15) sehingga tercetak sebagai berikut :

a. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

b. 1
2 c. 1 2 3 4 5
3 6 7 8 9 10
4
5 11 12 13 14 15
6
7
8 d. 1 2 3
9 4 5 6
10
11
7 8 9
12 10 11 12
13 13 14 15
14
15
SOAL :

Susun program untuk mencetak nilai 1-15,


sehingga tercetak sebagai berikut :

a. 1 b. 1 2 3 4 5
2 3 6 7 8 9
4 5 6 10 11 12
7 8 9 10 13 14
11 12 13 14 15 15

c. 1 d. 1 2 3 4 5
2 3 6 7 8 9
4 5 6 10 11 12
7 8 9 10 13 14
11 12 13 14 15 15
SOAL : Apa yang tercetak bila program berikut ini
dijalankan :

a. b.
#include<stdio.h> #include<stdio.h>
void main() void main()
{ int I, J, T; { int I, J, T;
T = 0; T = 0;
for ( I=1; I<=3; I++) for ( I=1; I<=3; I++)
{ for(J = I; J<=5; J++) { for(J = I; J<=5; J++)
{ T = T + J; { T = T + J;
printf(“%3i”, T ); }
} printf(“%3i”, T );
printf(“\n); printf(“\n);
} }
} }
SOAL : Apa yang tercetak bila program berikut ini
dijalankan :

a.
#include<stdio.h>
void main()
{ int I, J, T;
T = 0;
for ( I=1; I<=3; I++)
{ for(J = I; J<=5; J++)
{ T = T + J;
}
}
printf(“%3i”, T );
}
SOAL : Apa yang tercetak bila program berikut ini
dijalankan :

a. b.
#include<stdio.h> #include<stdio.h>
void main() void main()
{ int I, J, T; { int I, J, T;
T = 0; T = 0;
for ( I=1; I<=3; I++) for ( I=1; I<=3; I++)
{ for(J = I; J<=5; J++) { for(J = I; J<=5; J++)
{ T = T + J; { T = T + J;
printf(“%3i”, T ); }
} printf(“%3i”, T );
printf(“\n); printf(“\n);
} }
} }
c.
#include<stdio.h>
main()
{ int I, J, T;
T = 0;
for ( I=1; I<=3; I++)
{ for(J = I; J<=5; J++)
{ T = T + J;
}
}
printf(“%3i”, T );
}
Terima kasih…

Anda mungkin juga menyukai