adalah sekelompok instruksi yang dikerjakan secara berulangulang adalah
adalah sekelompok instruksi yang dikerjakan secara berulang-ulang adalah suatu proses yang terjadi secara berulang
Syntax apapun yang ditulis disini oleh komputer dianggap sebagai suatu kondisi for(. . ; . . ) { } - while(. . . ) { loop } - 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 A == B Memeriksa nilai nol atau bukan nol A A >= B 0 Flag == 0 1 A+B -1 Nilai = 0 FALSE Nilai Bukan 0 TRUE
Bentuk Umum for ( init; cond; chng of cond ) { -- loop -} cond = condition Loop adalah sekumpulan instruksi yang rencananya akan dikerjakan secara berulang-ulang 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 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
Bentuk Umum initialization for ( init; cond; chng of cond ) { -- loop -} init; while ( cond ) { -- loop -chng of cond } condition false true - Kerjakan loop Change Condition for & while alur algoritmanya sama ---- Next instruction
for ( init; cond; chng of cond ) { -- loop -} init; while ( cond ) { -- loop -chng of cond } initialization cond false true Kerjakan loop 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 true false 208
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 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 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(“n. Jakarta”); } } #include<stdio. h> void main() { int I; I = 1; while(I<=5) { printf(“n. Jakarta”); I=I+1; } } 211
Contoh-2 : for() #include<stdio. h> void main() { int I; for(I=1; I<=5; I=I+1) { printf(“n. Jakarta”); } } Tercetak : Jakarta Jakarta while() #include<stdio. h> void main() { int I; I = 1; while(I<=5) { printf(“n. Jakarta”); I=I+1; } } Tercetak : Jakarta Jakarta 211
Contoh-3 : Apa yang tercetak bila program berikut dijalankan while() for() #include<stdio. h> void main() { int I; I = 1; while(I<=5) { void main() { int I; for(I=1; I<=5; I=I+1) { printf("n %i", I); I=I+1; } } 211
Selalu memperhatikan perkembangan nilai I Contoh-3 : for() #include<stdio. h> void main() { int I; for(I=1; I<=5; I=I+1) { printf("n %i", I); } } while() #include<stdio. h> void main() { int I; I = 1; while(I<=5) { printf("n %i", I); I=I+1; } } I Tercetak 1 1 2 2 3 3 4 4 5 5 6 Keluar dari loop nilai I = 6 211
for() #include<stdio. h> void main() { int I; I=1 for(I=1; I<=5; I=I+1) { printf("n %i", I); } } Tercetak : 1 2 3 4 5 I<=5 false true printf I = I+1 I
while() #include<stdio. h> void main() { int I; I=1; while( I<=5 ) { printf("n %i", I); I=I+1; } } Tercetak : 1 2 3 4 5 for & while alur algoritmanya sama I=1 I<=5 false true printf I = I+1 I
for() I=1 Tercetak : 1 2 3 4 5 #include<stdio. h> void main() { int I; for(I=1; I<=5; I=I+1) I<=5 false true {printf("n %i", I ); print } } I I = I+1 Perkembangan nilai I Kondisi I <= 5 Tercetak oleh printf I Oleh I=I+1 nilai I menjadi: 1 True 1 2 2 True 2 3 3 True 3 4 4 True 4 5 5 True 5 6 6 False Keluar dari loop 211
while() #include<stdio. h> void main() { int I; I = 1; while(I<=5) {printf("n %i", I); I=I+1; } } I=1 Tercetak : 1 2 3 4 5 I<=5 false true print I I = I+1 Perkembangan nilai I Kondisi Tercetak oleh Oleh I=I+1 I <= 5 printf I nilai I menjadi: 1 True 1 2 2 True 2 3 3 True 3 4 4 True 4 5 5 True 5 6 6 False Keluar dari loop 211
for & while alur algoritmanya sama for() #include<stdio. h> void main() { int I; for(I=1; I<=5; I=I+1) I=1 { printf("n %i", I ); } } I<=5 while() #include<iostream. h> void main() { int I; I = 1; while(I<=5) { printf("n, %i", I ); false true print I I=I+1; } } 211
cara menggambar flowchart bebas I=1 I<=5 I=1 false I=1 true print I=I+1 print I I<=5 I=I+1 I<=5 true false print I=I+1 I I
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
Contoh-4 : Apa yang tercetak bila program-program berikut ini dijalankan for() #include<stdio. h> void main() { int I; for( I=1; I<=5; I=I+1 ) { printf( "n %i", I*2 ); } } while() #include<stdio. h> void main() { int I; I = 1; while( I<=5 ) { printf( "n %i", I*2 ); I=I+1; } }
while() for() #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) { #include<stdio. h> void main() { int I; I = 1; while(I<=5) { printf("n %i ", I*2 ); I=I+1; } } printf("n %i", I*2 ); } } Perkembangan nilai I nilai Kondisi Tercetak oleh printf I*2 Oleh I=I+1 nilai I menjadi: I I <= 5 1 True 2 2 2 True 4 3 3 True 6 4 4 True 8 5 5 True 10 6 6 False Keluar dari loop
Perhatikan : 15 A 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 10 12 14 16 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
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; } } #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; Perkembangan nilai I nilai Kondisi Tercetak oleh Oleh N=N+2 Oleh I=I+1 printf N nilai N menjadi: nilai I menjadi: N I I <= 5 8 1 True 8 10 2 True 10 12 3 True 12 14 4 True 14 16 5 True 16 18 6 False Keluar dari loop
Soal 14 a: 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 : 1 2 3 4 5 6 7 8 10 Cara-1 I #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 11 Tercetak : 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 ); } } I 1 2 3 4 5 6 7 8 9 10 11 Nilai N terakhir = 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; } } I 1 2 3 4 5 6 7 8 9 10 N 1 2 3 4 5 6 7 8 9 10 11 11 Nilai N terakhir pernah = 11 Tapi tidak ikut dicetak Karena sudah keluar dari loop
Perkembangan nilai I nilai Kondisi N I I <= 10 Print N 1 1 True 1 2 2 True 2 3 3 True 3 4 4 True 4 5 5 True 5 6 6 True 6 7 7 True 7 8 8 True 8 9 9 True 9 10 10 True 10 11 11 False Tercetak oleh Keluar dari loop Oleh N=N+1 Oleh I=I+1 nilai N menjadi: nilai I menjadi:
Soal-14 b : 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
Soal Susun Algoritma yang ditulis dalam Bahasa C++ untuk mencetak 10 suku pertama deret berikut ini : 1, 3, 5, 7, 9, . . Bila algoritma benar, maka tercetak : 1 3 5 7 9 11 13 15 17 19 Cara-1 I #include<stdio. h> void main() { int I; for( I=1; I<=19; I=I+2 ) { printf(“n %i”, I ); } } 1 3 5 7 9 11 13 15 17 19 Mencari nilai akhir (19) tidak selalu mudah Tercetak : 1 3 5 7 9 11 13 15 17 19 21 Nilai I terakhir pernah = 21 Tapi tidak ikut dicetak Karena sudah keluar dari loop
Cara-2 #include<stdio. h> void main() { int I, N; for( I=1; I<=10; I=I+1 ) { N = I*2 - 1; printf(“n %i”, N ); } } Membuat rumus Tidak selalu mudah I 1 2 3 4 5 6 7 8 9 10 11 Nilai N terakhir = 19 N 1 3 5 7 9 11 13 15 17 19
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 + 2; } N awalnya =1 } dan selalu ditambah 2 ini yang paling mudah I 1 2 3 4 5 6 7 8 9 10 N 1 3 5 7 9 11 13 15 17 19 11 21 Nilai N terakhir pernah = 21 Tapi tidak ikut dicetak Karena sudah keluar dari loop
Terimakasih! Wassalam…
- Slides: 41