HENDRI ARDIANSYAH
initialization 1
init; 1
do
{
- Loop 2 2 Kerjakan
- loop
chng of cond 3
} while ( cond ); 4 Change
- condition 3
Next Intruction 5
-
1. Inizialization false
Lakukan inisialisasi kondisi, atau memberi nilai awal kondisi cond
4
2. Lalu kerjakan loop True
Kerjakan loop no. 2, yang dilanjutkan dengan intruksi no. 3 yang mempengaruhi
nilai kondisi
False False
I <= 5 I <= 5
cout “Pamulang”
False
False
I=1
#include<iostream>
using namespace std;
main()
{ Nilai Tercetak Kondisi
i++
int i=1; i “Unpam” (i <= 5)
cout “Unpam”
do 1 Unpam 2 True
{
2 Unpam 3 True
cout << endl<<“Unpam";
I=I+1
i = i+1; 3 Unpam 4 True
} while( i<=5 ); 4 Unpam 5 True
#include<iostream> start
using namespace std;
main() Tercetak : i=1
{
int i; 1 i++
for(i=1; i<=10; i++) 2
{ 3
if(i==5) 4 true False
i<=10 i==5
Cetak
break; Keluar dari loop i
cout << "\n“ << i ;
} False break true
cout<<“Keluar dari loop” ;
}
Pada saat i=5 maka eksekusi langsung keluar Cetak Keluar dari loop
dari loop , akibatnya pernyataan :
cout<<i<<endl;
i++;
tidak dijalankan saat i = 5 end
Dalam lembar dokumen ada 10 buah bilangan integer, susun program untuk menginput
CONTOH bilangan-bilangan tersebut dan mencetak totalnya. Yang di input belum tentu
SOAL semua(10) bilangan. Walaupun belum sepuluh buah bilangan tapi totalya sudah > 1000
maka berhenti menginput, langsung mencetak total dan proses selesai. Tetapi bila
totalnya belum >1000, barulah menginput semua (10) bilangan.
#include<iostream> #include<iostream>
using namespace std; using namespace std;
main() main()
{ {
int i, N, T; int i, N, T;
T=0; i=1; T=0; i=1;
for(i=1; i<=10; i++) while(i<=10)
{ {
cout<<“Masukkan Nilai : ”; cin>>N;
cin>>N; T = T + N;
T = T + N; if(T>1000)
if(T>1000) break;
break; i++;
}
} cout<<“Total :”<<T ;
cout<<“Total : ”<<T; }
}
T=0 ATAU T=0
i=1 i=1
False break
i++
true
i <=10
cetak T cetak T
Pernyataan continue dimaksudkan untuk memaksa melanjutkan loop (for, while, do-while)
for()
#include<iostream> start
Tercetak :
using namespace std;
main() 1 i=1
{ 2
int i; 3 i++
for(i=1; i<=10; i++) 4
{ continue
6
if(i==5) 7 true
i<=10 i==5
Cetak
continue; 8 False i
cout << "\n“ << i ; 9
} False
10
cout<<“penggunaan
\“continue\” melewatkan cetak 5” ;
}
end
Pada saat i=5 maka i dinaikan 1 dan loop for diulangi lagi ,
akibatnya pernyataan :
cout<<i<<endl; dilewatkan
start
while()
Tercetak :
#include<iostream> i=1
using namespace std; 1
main() i++
2
{ 3 continue
int i=1; 4
while(i<=10) true Cetak
6 i<=10 i==5
{ 7 False i
if(i==5) 8 False
{ 9
i++ 10
continue;
} end
cout << "\n“ << i ;
i++ Pada saat i=5 maka i dinaikan 1 dan kondisi while diuji lagi ,
} akibatnya pernyataan :
cout<<endl<<“penggunaan cout<<i<<endl;
\“continue\” melewatkan cetak 5” ; i++;
} tidak dijalankan saat i sama dengan 5
Program A
Dalam Program A ada loop yang di kerjakan sebanyak 3 kali, dan penggalan program B
#include<iostream> sendiri adalah loop yang dikerjakan sebanyak 5 kali.
using namespace std; Bila penggalan program B “dimasukkan” ke dalam program A menggantikan kotak 1,
main() maka terbentuk suatu loop didalam loop yang biasa disebut NESTED LOOP atau loop
{ tersarang
int i, j;
for(i=1; i<=3; i++) #include<iostream>
{ using namespace std;
main()
- {
- 1 int i, j;
- for(i=1; i<=3; i++)
} {
}
for(j=1; j<=5; j++) Outer Loop
{ (loop Bagian Luar)
Program B
-
for(j=1; j<=5; j++) Inner Loop
-
{ (loop Bagian dalam)
-
-
} Intruksi-intruksi yang ada
- 2 dalam loop ini akan
- dilaksanakan 3x5 kali = 15
} }
kali
}
#include<iostream>
using namespace std;
Dalam bentuk while()
main()
{ #include<iostream>
int i; using namespace std;
i =1; main()
while(i <=3 ) {
{ int i, j;
i =1;
- while(i<=3)
- {
i++;
int j=1
} Outer Loop
while(j<=5)
} (loop Bagian Luar)
{
-
- Inner Loop
int j = 1; j++; (loop Bagian dalam)
while( j<=5 ) }
{ i++;
- }
- }
j++;
}
Nested Loop gabungan for() dan while()
#include<iostream> #include<iostream>
using namespace std; using namespace std;
main() main()
{ {
int i, j; int i, j;
i =1; for(i=1; i<=3; i++)
while(i<=3) {
{ Outer Loop
j=1;
(loop Bagian
for(j=1; j>=5;j++) Outer Loop while(j<=5)
Luar)
{ (loop Bagian Luar) {
- -
- Inner Loop
-
Inner Loop j++; (loop Bagian
-
(loop Bagian dalam) } dalam)
}
i++; }
} }
}
Outer Loop menggunakan for()
Outer Loop menggunakan while() inner loop mennfunakan while()
inner loop menggunakan for()
i=1 Flowchart nested loop
False
i <=3 i=1
True
j=1
True
i <=3 j=1
False
j <= 5
Outer loop
False
True
Outer loop
Inner True Inner
Loop J<=5
Loop
False
j++
j++
i++
i++
Keluar
Keluar
Contoh Penggunaan Nested Loop
Tercetak ”Unpam” Nilai i Nilai J
sebanyak 15 kali : 1 (unpam)
Contoh 1 Unpam 2 (unpam)
Unpam 1 3 (unpam)
#include<iostream> Unpam 4 (unpam)
using namespace std; Unpam 5 (unpam), j = 6, keluar dari
main() Unpam 1 (unpam) inner loop
{ int i, j; Unpam 2 (unpam)
for(i=1;i<=3;i++) Unpam 2 3 (unpam)
{ for(j=1; j<=5;j++) Unpam 4 (unpam)
{ Unpam 5 (unpam), j = 6, keluar dari
cout<<“\nUnpam”; Unpam inner loop
1 (unpam)
} Unpam
2 (unpam)
} Unpam
3 3 (unpam)
} Unpam
Unpam 4 (unpam)
Unpam 5 (unpam) j = 6, keluar dari
inner loop
i = 4, keluar dari outer loop
Contoh Penggunaan Nested Loop
Contoh 2 Contoh 3 Tercetak : Contoh 4
#include<iostream> #include<iostream>
using namespace std; using namespace std;
main() 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++) { for(j=1; j<=5;j++)
{ {
cout<<i; Yang di cetak cout<<i;
nilai i Yang di cetak
} } nilai i
} cout<<“\n”;
} }
}
Tercetak :
Tercetak :
111112222233333
11111
22222
33333
Contoh Penggunaan Nested Loop
Contoh 7 Contoh 8
i j
#include<iostream> #include<iostream>
using namespace std; using namespace std; 1 1
main() main() 2
{ int i, j; { int i, j; 3
for(i=1;i<=3;i++) for(i=1;i<=3;i++) 4
{ for(j=i; j<=5;j++) Nilai { for(j=i; j<=5;j++) Nilai 5,
{ awal j=i { awal j=i 2 2 Nilai awal j
cout<<j; cout<<j; 3 Dibuat =
} } 4 nilai i
} cout<<“\n”; 5,
} } 3 3
} 4
Tercetak : 5
Tercetak :
123452345345
12345
2345
345
Outer LOOP
Inner LOOP
a. b. c.
5 4 3 2 1 1 2 3 4 5 00 01 02 03 04 05
4 3 2 1 6 7 8 9 10 11 12 13 14 15
22 23 24 25
3 2 1 11 12 13 14 15
33 34 35
2 1
44 45
1
55
2. Apa yang tecetak jika program di bawah di jalankan, dan buat flowchar dari masing-
masing program. jelaskan
a. b. c.
main() main() main()
{ { {
int I, J, N, X, T; int I, J, N, X, T; int I, J, N, X, T;
T=0; T=0; T=0;
N=5; N=5; N=5;
X=2; X=2; X=2;
for(I=1; I<=5; I+=2) for(I=1; I<=5; I+=2) for(I=1; I<=5; I+=2)
{for(J=I; J<=9; J+=3) {for(J=I; J<=9; J+=3) {for(J=I; J<=9; J+=3)
{ { {
T = T + N; T = T + N; T = T + N;
N = N + X; N = N + X; N = N + X;
X = X + 2; X = X + 2; X = X + 2;
cout<<T; } }
} cout<<endl<<T; }
cout<<endl; } cout<<endl<<T;
} } }
}