Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
STRUKTUR KENDALI PROSES
2
STRUKTUR KENDALI PENGULANGAN
Mengulang satu atau lebih instruksi untuk jumlah pengulangan tertentu. Jumlah pengulangan ada dua jenis : Jumlah pengulangan diketahui sebelum proses Jumlah pengulangan tidak diketahui sebelum proses Struktur pengulangan terdiri atas dua bagian : 1. Kondisi pengulangan yaitu ekspresi boolean yang harus dipenuhi untuk melaksanakan pengulangan 2. Isi atau badan pengulangan yaitu satu atau lebih instruksi yang akan diulang. Perintah atau notasi dalam struktur pengulangan adalah : 1. Pernyataan for 2. Pernyataan while 3. Pernyataan do .. while 4. Pernyataan continue dan break 5. Pernyataan go to
3
STRUKTUR KENDALI PENGULANGAN
Instruksi for Instruksi for digunakan untuk menghasilkan pengulangan(looping) beberapa kali. Pada umumnya jumlah pengulangan yang dilakukan oleh for telah diketahui awal, kondisi pengulangan dan perubahannya. Selama kondisi terpenuhi, maka statement akan terus dieksekusi. Syntax : for ([expr1];[expr2];[expr3]) statement; Expr1 untuk inisialisasi, berupa satu atau beberapa instruksi yang dipisahkan koma. Expr2 berupa ekspresi kondisional untuk menentukan kondisi pengulangan. Selama menghasilkan nilai true, maka statement dikerjakan Expr3 untuk menaikkan atau menurunkan nilai pengendali
4
STRUKTUR KENDALI PENGULANGAN
for(expr1;expr2;expr3) { statement; } Expr1 dikerjakan hanya sekali (nilai awal) Expr2 diperiksa, jika true, kerjakan statement Expr3 dikerjakan Proses berulang hingga expr2 bernilai false expr1 expr2 statement expr3 True next statements False
5
STRUKTUR KENDALI PENGULANGAN
while (kondisi) { statement; } while biasa digunakan untuk pengulangan statement dimana jumlah pengulangan tidak diketahui. Statement yang ada didalam while bisa diabaikan sama sekali (tidak dikerjakan) apabila di saat awal, kondisi sudah bernilai false. Statement akan terus dikerjakan selama kondisi masih bernilai true. kondisi statement true false
6
STRUKTUR KENDALI PENGULANGAN
kondisi statement true false do { statement; } while (kondisi); Sama seperti while, do…while biasa digunakan untuk pengulangan statement dimana jumlah pengulangan tidak diketahui. Perbedaannya, statement didalam do .. while dikerjakan minimal satu kali. Statement akan terus dikerjakan selama kondisi masih bernilai true.
7
CONTOH PEMAKAIAN FOR # include <stdio.h>
# include <conio.h> int main() { int i, j, tripel; for(i = 1; i <= 6; i++) tripel = 3 * i; printf("3 *%2d =%3d ", i, tripel); for(j = 0; j < tripel; j++) putch('*'); printf("\n"); } system(“pause”); return 0; 3 * 1 = 3 *** 3 * 2 = 6 ****** 3 * 3 = 9 ********* 3 * 4 = 12 ************ 3 * 5 = 15 *************** 3 * 6 = 18 ****************** Thompson S.Ngoen
8
LATIHAN FOR Apa yang terjadi dengan instruksi for berikut?
for ( a = 0; a < 10; a++ ) printf(“%d ”, a); for ( b = 10; b < 0; b++ ) printf(“%d ”, b); for ( c = 1; c < 15; c += 2 ) printf(“%d ”, c); for ( d = 3; d < 10; ) printf(“%d ”, d*d); for ( e = 1; e < 10; e++ ) { printf(“%d ”, e); e = e + 1; } g = 100; for (f = 0; f < 100; f++) g++; printf(“%d ”, g); Thompson S.Ngoen
9
NESTED FOR for ( i = 2; i < 4; i++ ) for (j = 5; j < 8; j++) printf(”%d * %d = %d\n”, i, j, i * j ); i j Tercetak 2 5 2 * 5 = 10 6 2 * 6 = 12 7 2 * 7 = 14 8 3 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 4 2 * 5 = 10 2 * 6 = 12 2 * 7 = 14 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 Thompson S.Ngoen
10
CONTOH PEMAKAIAN WHILE
# include <stdio.h> # include <conio.h> int main() { int bil = 1, sum = 0, ctr = 0; float avg; printf("Ketik sejumlah bilangan, diakhiri 0 \n"); while(bil != 0) scanf("%d", &bil); sum += bil; ctr++; } avg = (float) sum / (ctr - 1); printf("jumlah nilai = %d \n", sum); printf("rerata = %.2f ", avg); system(“pause”); return 0; Ketik sejumlah bilangan, diakhiri 0 jumlah nilai = 267 rerata = 44.50 Thompson S.Ngoen
11
LATIHAN WHILE Apa yang terjadi dengan instruksi while berikut? A B C D
while (a < 10) printf(“%d ”, a); b = 10; while (b < 20) { printf(“%d ”, b); b += 2; } jawab = ‘ ‘; while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); while (jawab != ‘Y’ || jawab != ‘T’) Thompson S.Ngoen
12
CONTOH PEMAKAIAN DO WHILE
Tebak angka 0 s/d 100 bilangan ? 50 terlalu kecil ... bilangan ? 75 terlalu besar ... bilangan ? 60 bilangan ? 67 bilangan ? 65 bilangan ? 66 TEPAT ... CONTOH PEMAKAIAN DO WHILE # include <stdio.h> # include <stdlib.h> int main() { int tebak, jawab; randomize(); jawab = random(101); printf("Tebak angka 0 s/d 100\n\n"); do { printf("bilangan ? "); scanf("%d", &tebak); if (tebak == jawab) printf("TEPAT ..."); else if (tebak < jawab) printf("terlalu kecil ...\n"); printf("terlalu besar ...\n"); } while (tebak != jawab); system(“pause”); return 0; } Tebak angka 0 s/d 100 bilangan ? 50 terlalu besar ... bilangan ? 35 bilangan ? 15 terlalu kecil ... bilangan ? 25 bilangan ? 30 bilangan ? 27 TEPAT ... Thompson S.Ngoen
13
LATIHAN DO WHILE Apa yang terjadi dengan instruksi do while berikut? A
C a = 10; do { printf(“%d ”, a); } while (a < 100); scanf(“%d”, &b); } while (b < 0); jawab = getchar(); } while (jawab != ‘Y’ && jawab != ‘T’) Thompson S.Ngoen
14
INFINITE LOOP Infinite loop adalah pengulangan tanpa akhir. Jika kondisi pengulangan selalu true maka pengulangan akan terjadi terus menerus. for (... ; 1 ; ...) { ... } do { } while (1); while (1) Thompson S.Ngoen
15
break dan continue break digunakan untuk menghentikan sebuah pengulangan, walaupun sebenarnya kondisi masih mungkin bernilai true. Selain untuk pengulangan, break juga digunakan untuk switch Contoh : #include <stdio.h> #include <stdlib.h> int main() { int a; for(a=1;a < 5;a ++) printf(“a = %d\n”,a); if(a==3) break; } system(“PAUSE”); return 0;
16
break dan continue continue digunakan untuk melanjutkan ke pengulangan berikutnya dengan mengabaikan semua statement yang ada setelah statement continue tersebut. Contoh : #include <stdio.h> #include <stdlib.h> int main() { int i; for(i=0;i<=100;i++) if(i % 2 == 0) continue; printf(“%3d”,i); } system(“pause”); return 0;
17
CONTOH PEMAKAIAN BREAK
# include <stdio.h> # include <conio.h> int main() { float pj, lb, ls; printf("PERSEGI PANJANG \n"); do { printf("\nPanjang ? "); scanf("%f", &pj); if (pj <= 0.0) break; printf("Lebar ? "); scanf("%f", &lb); ls = pj * lb; printf("Luas = %.2f\n", ls); } while(1); system(“pause”); return 0; } PERSEGI PANJANG Panjang ? 10 Lebar ? 3.5 Luas = 35.00 Panjang ? 12.45 Lebar ? 6.8 Luas = 84.66 Panjang ? 0 Thompson S.Ngoen
18
CONTOH PEMAKAIAN CONTINUE
# include <stdio.h> # include <conio.h> int main() { int i, j; for (i = 1; i <= 10; i++) if (i % 3 == 0) continue; printf("%2d ", i); for (j = 0; j < i; j++) putchar('*'); printf("\n"); } system(“pause”); return 0; 1 * 2 ** 4 **** 5 ***** 7 ******* 8 ******** 10 ********** Thompson S.Ngoen
19
References : Thompson SN, 2009, Algoritma dan Struktur Data dengan C.
Deitel, PJ, HM.Deitel, 2007, C How to Program, 5th Edition.
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.