STRUKTUR KENDALI
PROSES
STRUKTUR KENDALI
PEMILIHAN
Suatu Struktur dasar algoritma yang memiliki satu atau
lebih kondisi tertentu dimana sebuah ins...
PEMILIHAN (SELECTION)
if (kondisi) pernyataan;
Pernyataan dilaksanakan jika dan
hanya jika kondisi yang diinginkan
terpenu...
PEMILIHAN (SELECTION)
if(kondisi) pernyataan1; else pernyataan2;
•Pernyataan1 dilaksanakan jika dan hanya jika
kondisi yan...
PEMILIHAN (SELECTION)
 Instruksi switch
 Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan
salah satu ...
PEMILIHAN (SELECTION)
//contoh : Switch : 1 = senin, 2= selasa dst.
#include <stdio.h>
#include <stdlib.h>
int main() {
in...
PEMILIHAN (SELECTION)
//contoh : Switch
#include <stdio.h>
#include <stdlib.h>
int main() {
int nilai;
printf(“input nilai...
STRUKTUR KENDALI PENGULANGAN
 Sebuah / kelompok instruksi diulang untuk jumlah
pengulangan tertentu. Baik yang terdifinis...
STRUKTUR KENDALI PENGULANGAN
 Instruksi for
 Instruksi for digunakan untuk menghasilkan pengulangan(looping)
beberapa ka...
STRUKTUR KENDALI PENGULANGAN
for(expr1;expr2;expr3) statement;
expr1
expr2 statement expr3
true
false
Expr1 dikerjakan han...
Statement for : contoh 1
int main() {
int i;
printf("percobaan 1:n");
for (i = 0; i < 10; i++) printf("%d ", i);
printf("n...
Statement for : contoh 2
int main() {
...
printf("npercobaan 4:n");
for (i = 9; i >= 0; i--) printf("%d ", i);
printf("npe...
Statement for : contoh 3
int main() {
int i, batas;
printf("Tabel Perkalian Liman");
printf("sampai dengan ? ");
scanf("%d...
Statement for : contoh 3
for (i = 1; i <= batas; i++)
printf("5 * %d = %dn", i, 5 * i);
for (i = 1; i <= batas; i++)
print...
Statement for : contoh 3
Langkah Instruksi i batas i <= batas Keluaran
9 i <= batas 3 3 true
10 printf("...", i, 5*i) 3 3 ...
Statement for : contoh 4
Tulis program untuk
menampilkan bilangan-
bilangan genap antara
dua bilangan. Kedua
bilangan bata...
Statement for : contoh 4
int main() {
int bil1, bil2, cacah;
scanf("%d %d", &bil1, &bil2);
if (bil1 <= bil2) {
for (cacah ...
STRUKTUR KENDALI PENGULANGAN
while (kondisi) statement;
 while biasanya digunakan untuk
perulangan stetment yang
jumlah p...
STRUKTUR KENDALI PENGULANGAN
do statement while (kondisi);
 Sama seperti while, do..
while biasanya digunakan
untuk perul...
break dan continue
 break digunakan untuk menghentikan sebuah loop, walaupun
sebenarnya kondisi dalam loop tersebut masih...
break dan continue
 continue digunakan untuk melanjutkan loop ke nilai
counter berikutnya dengan mengabaikan semua
statem...
Infinite Loop: Pengulangan tanpa akhir
Infinite loop
Pengulangan tanpa akhir
for ( ; ; )
for ( ; 1 ;)
while (1)
do while (...
Statement while: contoh 1
int main() {
unsigned n;
scanf("%u", &n);
while (n > 3) {
printf("%u ", n);
n--;
}
return 0;
}
i...
Statement while: contoh 2
 Apa hasil dari potongan program dibawah ini
a) While (a < 10) printf(“%d”,a);
b) b = 10;
while...
Statement while: contoh 3
Ketik sejumlah bilangan, diakhiri 0
45 37 29 66 83 7 0
Jumlah Nilai = 267
Rerata = 44.5
Ketik se...
Statement while: contoh 3
Statement do while: contoh 1
 Buat program untuk menebak angka yang
dimasukkan user (antara 1-100). Angka yang
ditebak di...
Statement do while: contoh 1
Upcoming SlideShare
Loading in …5
×

05 for-dowhile-while

394 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
394
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • &lt;number&gt;
  • 05 for-dowhile-while

    1. 1. STRUKTUR KENDALI PROSES
    2. 2. STRUKTUR KENDALI PEMILIHAN Suatu Struktur dasar algoritma yang memiliki satu atau lebih kondisi tertentu dimana sebuah instruksi dilaksanakan jika sebuah kondisi/persyaratan terpenuhi. Ada beberapa bentuk struktur dasar pemilihan ini : Sebuah pernyataan yang dapat dipakai muntuk mengambil keputusan berdasarkan suatu kondisi. Bentuk pernyataan ini ada dua macam : - if saja, dan - if else
    3. 3. PEMILIHAN (SELECTION) if (kondisi) pernyataan; Pernyataan dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak program tidak memberikan hasil apa-apa. Contoh ptongan program : If(nilai >= 56) puts(“Lulus”); kondisi pernyataan truefalse
    4. 4. PEMILIHAN (SELECTION) if(kondisi) pernyataan1; else pernyataan2; •Pernyataan1 dilaksanakan jika dan hanya jika kondisi yang diinginkan terpenuhi, jika tidak, lakukan pernyataan2. •Jika Anda tidak mempergunakan pernyataan else program tidak akan error, namun jika anda mempergunakan pernyataan else tanpa didahului pernyataan if, maka program akan error. •Jika pernyataan1 atau pernyataan2 hanya terdiri dari satu baris, maka tanda { } tidak diperlukan, namun jika lebih maka diperlukan. •Selain dari if … else, juga dikenal bentuk if … else if. kondisi pernyataan1 truefalse pernyataan2
    5. 5. PEMILIHAN (SELECTION)  Instruksi switch  Pernyataan swich adalah pernyataan yang digunakan untuk menjalankan salah satu pernyataan dari beberapa kemungkinan pernyataan, berdasarkan nilai dari sebuah ungkapan dan nilai penyeleksian.  Pernyataan if…else jamak dapat dibangun dengan pernyataan switch. Switch (ekspresi) { case konstanta1 : pernyataan_1; [break;] case konstanta2 : pernyataan_2; [break;] … case konstantan : pernyataan_n; [break;] [default] : pernyataan_x } Ekspresi dievaluasi, jika hasilnya konstanta1, maka pernyataan_1 dikerjakan, jika hasilnya konstanta2, maka pernyataan_2 dikerjakan. Jika hasilnya bukan merupakan semua konstanta1.. n, maka pernyataan_x dikerjakan. Klausa [default] dan [break] bersifat oprtional
    6. 6. PEMILIHAN (SELECTION) //contoh : Switch : 1 = senin, 2= selasa dst. #include <stdio.h> #include <stdlib.h> int main() { int angka; printf(“input Angka 1 - 7: “);scanf(“%d”,&angka); switch(angka) { case 1 : puts(“senin”);break; case 2 : puts(“selasa”);break; case 3 : puts(“rabu”);break; case 4 : puts(“kamis”);break; case 5 : puts(“jumat”);break; case 6 : puts(“sabtu”);break; case 7 : puts(“minggu”); // PERLU BREAK ATAU TIDAK? } system(“PAUSE”); }
    7. 7. PEMILIHAN (SELECTION) //contoh : Switch #include <stdio.h> #include <stdlib.h> int main() { int nilai; printf(“input nilai : “);scanf(“%d”,&nilai); switch(nilai/10) { case 10 : case 9 : case 8 : puts(“hebat”);break; case 7 : case 6 : puts(“cukup”);break; case 5 : puts(“buruk”);break; default: puts(“Anda harus mengulang !”); } system(“PAUSE”); }
    8. 8. STRUKTUR KENDALI PENGULANGAN  Sebuah / kelompok instruksi diulang untuk jumlah pengulangan tertentu. Baik yang terdifinisikan sebelumnya ataupun tidak.  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 pernyataan (aksi) 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
    9. 9. STRUKTUR KENDALI PENGULANGAN  Instruksi for  Instruksi for digunakan untuk menghasilkan pengulangan(looping) beberapa kali tanpa penggunaan kondisi apapun. Pada umumnya looping yang dilakukan oleh for telah diketahui batas awal, syarat looping dan perubahannya. Selama kondisi terpenuhi, maka pernyataan 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
    10. 10. STRUKTUR KENDALI PENGULANGAN for(expr1;expr2;expr3) statement; expr1 expr2 statement expr3 true false Expr1 dikerjakan hanya sekali (nilai awal) Expr2 diperiksa, jika true, kerjakan statement Expr3 dikerjakan Expr2 diperiksa, jika true, kerjakan statement Expr3 dikerjakan Proses berulang sehingga expr2 bernilai false
    11. 11. Statement for : contoh 1 int main() { int i; printf("percobaan 1:n"); for (i = 0; i < 10; i++) printf("%d ", i); printf("npercobaan 2:n"); for (i = 1; i <= 10; i++) printf("%d ", i); printf("npercobaan 3:n"); for (i = 0; i < 10; i = i+2) printf("%d ", i); ... } int main() { int i; printf("percobaan 1:n"); for (i = 0; i < 10; i++) printf("%d ", i); printf("npercobaan 2:n"); for (i = 1; i <= 10; i++) printf("%d ", i); printf("npercobaan 3:n"); for (i = 0; i < 10; i = i+2) printf("%d ", i); ... } percobaan 1: 0 1 2 3 4 5 6 7 8 9 percobaan 2: 1 2 3 4 5 6 7 8 9 10 percobaan 3: 0 2 4 6 8 percobaan 1: 0 1 2 3 4 5 6 7 8 9 percobaan 2: 1 2 3 4 5 6 7 8 9 10 percobaan 3: 0 2 4 6 8
    12. 12. Statement for : contoh 2 int main() { ... printf("npercobaan 4:n"); for (i = 9; i >= 0; i--) printf("%d ", i); printf("npercobaan 5:n"); for (i = 9; i >= 0; i -= 2) printf("%d ", i); return 0; } int main() { ... printf("npercobaan 4:n"); for (i = 9; i >= 0; i--) printf("%d ", i); printf("npercobaan 5:n"); for (i = 9; i >= 0; i -= 2) printf("%d ", i); return 0; } percobaan 4: 9 8 7 6 5 4 3 2 1 0 percobaan 5: 9 7 5 3 1 percobaan 4: 9 8 7 6 5 4 3 2 1 0 percobaan 5: 9 7 5 3 1
    13. 13. Statement for : contoh 3 int main() { int i, batas; printf("Tabel Perkalian Liman"); printf("sampai dengan ? "); scanf("%d", &batas); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); return 0; } int main() { int i, batas; printf("Tabel Perkalian Liman"); printf("sampai dengan ? "); scanf("%d", &batas); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); return 0; } Tabel Perkalian Lima sampai dengan ? 3 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15 Tabel Perkalian Lima sampai dengan ? 3 5 * 1 = 5 5 * 2 = 10 5 * 3 = 15
    14. 14. Statement for : contoh 3 for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); Langkah Instruksi i batas i <= batas Keluaran 1 scanf( ) ? 3 2 i = 1 1 3 3 i <= batas 1 3 true 4 printf("...", i, 5*i) 1 3 5 * 1 = 5 5 i++ 2 3 6 i <= batas 2 3 true 7 printf("...", i, 5*i) 2 3 5 * 2 = 10 8 i++ 3 3
    15. 15. Statement for : contoh 3 Langkah Instruksi i batas i <= batas Keluaran 9 i <= batas 3 3 true 10 printf("...", i, 5*i) 3 3 5 * 3 = 5 11 i++ 4 3 12 i <= batas 4 3 false for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i); for (i = 1; i <= batas; i++) printf("5 * %d = %dn", i, 5 * i);
    16. 16. Statement for : contoh 4 Tulis program untuk menampilkan bilangan- bilangan genap antara dua bilangan. Kedua bilangan batas ini ikut ditampilkan bila merupakan bilangan genap. 13 19 13 14 15 16 17 18 19 20 15 10 10 11 12 13 14 15 16 baca bil1, bil2 jika bil1 <= bil2 cacah ← bil1 ulangi selama cacah <= bil2 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan selain itu cacah ← bil2 ulangi selama cacah <= bil1 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan akhir jika baca bil1, bil2 jika bil1 <= bil2 cacah ← bil1 ulangi selama cacah <= bil2 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan selain itu cacah ← bil2 ulangi selama cacah <= bil1 jika cacah habis dibagi 2 cetak cacah akhir jika cacah ← cacah + 1 akhir pengulangan akhir jika
    17. 17. Statement for : contoh 4 int main() { int bil1, bil2, cacah; scanf("%d %d", &bil1, &bil2); if (bil1 <= bil2) { for (cacah = bil1; cacah <= bil2; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } else { for (cacah = bil2; cacah <= bil1; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } return 0; } int main() { int bil1, bil2, cacah; scanf("%d %d", &bil1, &bil2); if (bil1 <= bil2) { for (cacah = bil1; cacah <= bil2; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } else { for (cacah = bil2; cacah <= bil1; cacah++) if ((cacah % 2) == 0) printf("%d ", cacah); } return 0; } 13 25 14 16 18 20 22 24 13 25 14 16 18 20 22 24 16 9 10 12 14 16 16 9 10 12 14 16
    18. 18. STRUKTUR KENDALI PENGULANGAN while (kondisi) statement;  while biasanya digunakan untuk perulangan stetment yang jumlah perulangannya tidak menentu. Statement yang ada didalam while bisa diabaikan sama sekali (tidak dikerjakan) apabila kondisi awal tersebut bernilai false.  Statement akan terus dikerjakan selama kondisi masih bernilai true. kondisi statement true false
    19. 19. STRUKTUR KENDALI PENGULANGAN do statement while (kondisi);  Sama seperti while, do.. while biasanya digunakan untuk perulangan stetment yang jumlah perulangannya tidak menentu. Perbedaannya statement yang ada didalam do .. while minimal dikerjakan satu kali.  Statement akan terus dikerjakan selama kondisi masih bernilai true. kondisi statement true false
    20. 20. break dan continue  break digunakan untuk menghentikan sebuah loop, walaupun sebenarnya kondisi dalam loop tersebut masih mungkin bernilai true.  Selain untuk statement looping juga bisa digunakan untuk switch Contoh : #include <stdio.h> #include <stdlib.h> int main() { int a; for(a=1;a < 5;a ++) { printf(“a = %dn”,a); if(a==3) break; } system(“PAUSE”); }
    21. 21. break dan continue  continue digunakan untuk melanjutkan loop ke nilai counter 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;1<=100;i++) if(i % 2 == 0) continue; printf(“%3d”,i); }
    22. 22. Infinite Loop: Pengulangan tanpa akhir Infinite loop Pengulangan tanpa akhir for ( ; ; ) for ( ; 1 ;) while (1) do while (1)
    23. 23. Statement while: contoh 1 int main() { unsigned n; scanf("%u", &n); while (n > 3) { printf("%u ", n); n--; } return 0; } int main() { unsigned n; scanf("%u", &n); while (n > 3) { printf("%u ", n); n--; } return 0; } 8 8 7 6 5 4 8 8 7 6 5 4 00
    24. 24. Statement while: contoh 2  Apa hasil dari potongan program dibawah ini a) While (a < 10) printf(“%d”,a); b) b = 10; while (b < 20) { printf(“%d”,b); b += 2; } c) jawab = ‘’; while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); d) while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); a) While (a < 10) printf(“%d”,a); b) b = 10; while (b < 20) { printf(“%d”,b); b += 2; } c) jawab = ‘’; while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar(); d) while (jawab != ‘Y’ && jawab != ‘T’) jawab = getchar();
    25. 25. Statement while: contoh 3 Ketik sejumlah bilangan, diakhiri 0 45 37 29 66 83 7 0 Jumlah Nilai = 267 Rerata = 44.5 Ketik sejumlah bilangan, diakhiri 0 45 37 29 66 83 7 0 Jumlah Nilai = 267 Rerata = 44.5 Buatlah program untuk memasukkan bilangan-bilangan. Kemudian jumlahkan bilangan-bilangan tersebut dan juga hitung reratanya. Jika user mengetikkan 0 berarti selesai dan 0 tersebut tidak dimasukkan ke dalam perhitungan. Gunakan statement while Buatlah program untuk memasukkan bilangan-bilangan. Kemudian jumlahkan bilangan-bilangan tersebut dan juga hitung reratanya. Jika user mengetikkan 0 berarti selesai dan 0 tersebut tidak dimasukkan ke dalam perhitungan. Gunakan statement while
    26. 26. Statement while: contoh 3
    27. 27. Statement do while: contoh 1  Buat program untuk menebak angka yang dimasukkan user (antara 1-100). Angka yang ditebak dikeluarkan secara random ( function random).  Jika angka terlalu kecil / besar / tepat berikan pesan ke user.  Jika user menebak dengan tepat, maka program selesai.
    28. 28. Statement do while: contoh 1

    ×