Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

STRUKTUR KENDALI PROSES

Presentasi serupa


Presentasi berjudul: "STRUKTUR KENDALI PROSES"— Transcript presentasi:

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.


Download ppt "STRUKTUR KENDALI PROSES"

Presentasi serupa


Iklan oleh Google