Modul III—Control Flow & Flowchart
MODUL III CONTROL FLOW & FLOWCHART III.1.
CONTROL FLOW
III.1.1
Pernyataan dengan if
Bentuk Umum
Contoh
if (kondisi-dari ekspresi logika) pernyataan;
if (a > b) //Jika ekspresi logika ++c; //bernilai 1 (benar) //maka c increment
if (kondisi) { pernyataan 1; pernyataan 2; ... pernyataan n; }
if (a > 1.2) { b+=2; ++c; }
if (kondisi 1) { pernyataan 1; if (kondisi 2) pernyataan 2; }
if (a > 1.2) { b+=2; if (b > 10) --c; }
III.1.2
Pernyataan dengan if/else
Bentuk Umum
Contoh
if (kondisi dari ekspresi logika) pernyataan 1; else pernyataan 2;
if (a > b) ++c; else --c;
III.1.3
Pernyataan dengan switch
Bentuk Umum
Contoh
switch (ekspresi yang dikontrol) { case label_1: pernyataan 1; break; case label_2:
switch (a) { case 2: k = ++c; break; case 10:
D4 Teknologi Media Digital, STEI-ITB
1
Modul II—Operator dan Control Flow pernyataan 2; break; ... default: pernyataan; break; }
III.1.4
c+=a; k = c; break; default: k = a; break; }
Perulangan (Loop) dengan while
Bentuk Umum
Contoh
while (kondisi) { pernyataan; }
int k,a = 10; while (a > 5) { k = a%2; printf("Nilai = %d\n", k); --a; }
Pernyataan di dalam kurung kurawal tidak akan dijalankan jika kondisi berlogika 0 (salah).
III.1.5
Perulangan dengan do/while
Bentuk Umum
Contoh
do { pernyataan; }while (kondisi);
int k,a = 3; do { k = a%2; printf("Nilai = %d\n", k); --a; } while (a > 5);
Tidak seperti perulangan sebelumnya, pada perulangan ini pernyataan di dalam kurung kurawal selalu dijalankan minimal sekali, meskipun kondisi berlogika 0 (salah). III.1.6
Perulangan dengan For
Bentuk Umum for (ekspresi_1; ekspresi_2; ekspresi_3 ) { pernyataan; }
2
D4 Teknologi Media Digital, STEI-ITB
Modul III—Control Flow & Flowchart Contoh for (a = 10; a > 5; --a) { k = a%2; printf("Nilai = %d\n", k); }
III.2.
Pseudocode dan Diagram Alir (Flowchart)
Pemahaman tentang pseudocode dan diagram alir (flowchart) tidak kalah penting dalam pembuatan program. Hal ini karena akan membantu membangun algoritma suatu program. Pseudocode dan flowchart menyajikan langkah-langkah setiap perintah (statement) di dalam sebuah program. Notasi pseudocode main:
Simbol Flowchart
Keterangan Awal dari algoritma: main()
mulai
baca (r)
Input: scanf("%f",&r);
baca r luas .r2
Perhitungan: luas = 3.141563*r*r;
luas
∙
tampilkan (r, luas)
Output: printf("%f,%f",r,luas);
tampilkan r dan luas
IF r <0 THEN … ELSE …
Komparasi: Ya
if (r < 0) ...;
r < 0? Tdk
D4 Teknologi Media Digital, STEI-ITB
3
Modul II—Operator dan Control Flow Akhir dari algoritma stop main
III.3.
LATIHAN Lengkapilah code berikut sehingga dapat dijalankan
a. Program di bawah ini memiliki error. Perbaiki, lalu jalankan dan berikan analisis baris per-baris. #include <stdio.h> #include <stdlib.h> int Main(void) { float ANGKA; int a = 12; printf("Ketikan sembarang angka> "); scanf("%f",&angka); if (angka >= a) printf("Angka yang Anda ketikan lebih besar atau samadengan dari %a \n",a); if (angka < a) printf("Angka yang Anda ketikan kurang dari dari %d \n",a); system("pause"); return("0"); }
b. Buat program dengan struktur if atau if/else untuk menerima masukkan nilai ujian mahasiswa dan menampilkan "A" untuk nilai ≥ 90, "B" untuk nilai ≥ 80, "C" untuk nilai ≥ 60, "D" untuk nilai ≥ 50, dan “E” untuk nilai < 50.
c. Lengkapilah program berikut sehingga apabila dimasukan nilai a = 1 akan ditampilkan “Anda memasukan angka 1” dan apabila dimasukan nilai a = 2 akan ditampilkan “Anda memasukan angka 2” serta apabila tidak keduanya akan ditampilkan “Anda tidak memasukan angka 1 atau 2” switch (a) { case 1: printf("Anda memasukan angka 1 \n"); break;
4
D4 Teknologi Media Digital, STEI-ITB
Modul III—Control Flow & Flowchart case 2: printf("Anda memasukan angka 2 \n"); break; default: printf("Anda tidak memasukan angka 1 atau 2 \n"); break; }
d. Lengkapi program di bawah ini sehingga sebelum code di bawah dijalankan, Anda harus memasukan angka terlebih dahulu. while (a > 5) { k = --a; printf("Nilai = %d\n", k); }
e. Lengkapi program di bawah ini seperti no. f. Bandingkan dengan hasil dari program f jika angka yang dimasukan yaitu a = 5. do { k = --a; printf("Nilai = %d\n", k); } while (a > 5);
f.
Lengkapi program di bawah ini, jalankan kemudian amati hasilnya. for (a = 10; a > 5; --a) { k = a%2; printf("Nilai = %d\n", k); }
g. Tuliskan sebuah program yang berisikan perhitungan volume limas segitiga dan
volume bola dengan kondisi berikut: pada tahap awal kita harus memilih:
jika angka 1 diketik maka perhitungan volume limas segitiga dimulai atau
D4 Teknologi Media Digital, STEI-ITB
5
Modul II—Operator dan Control Flow
jika angka 2 diketik maka pehitungan volume bola dimulai.
apabila tidak mengetik angka 1 atau 2 maka pada layar ditampilkan kalimat “Anda tidak mengetik angka 1 atau 2” dan kembali ke tahap awal.
6
Program selesai dijalankan jika salah satu perhitungan luas telah dilakukan
D4 Teknologi Media Digital, STEI-ITB