CONTROL FLOW
Pernyataan dengan if Contoh
if (a > b) //Jika ekspresi logika ++c; //bernilai 1 (benar) //maka c increment
switch (ekspresi yang dikontrol) { case label_1: pernyataan 1; break; case label_2:
Pernyataan di dalam kurung kurawal tidak akan dijalankan jika kondisi berlogika 0 (salah).
Tidak seperti perulangan sebelumnya, pada perulangan ini pernyataan di dalam kurung kurawal selalu dijalankan minimal sekali, meskipun kondisi berlogika 0 (salah). III.1.6 Bentuk Umum
for (ekspresi_1; ekspresi_2; ekspresi_3 ) { pernyataan; }
III.2.
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 mulai Keterangan Awal dari algoritma:
main()
baca (r) baca r luas .r2 luas tampilkan (r, luas) tampilkan r dan luas
Input:
scanf("%f",&r);
Perhitungan:
luas = 3.141563*r*r;
Output:
printf("%f,%f",r,luas);
Komparasi: Ya
if (r < 0) ...;
Modul IIOperator dan Control Flow Akhir dari algoritma stop main
III.3.
LATIHAN
Lengkapilah code berikut sehingga dapat dijalankan
a. Lengkapilah code berikut sehingga apabila diberikan sebarang nilai a (dengan fungsi scanf() ), baik bilangan bulat maupun bilangan pecahan, setelah melalui baris program berikut kemudian ditampilkan nilai a dan b.
a += 5; b *= (a-2);
b. Lengkapilah code pada table di dalam sub-bab II.1.3 sehingga contoh program tentang incremental operator (++) dan decremental operator (--) dapat dijalankan. Berikan penjelasan singkat tentang perbedaan penulisan masing-masing operator tersebut sebelum dan sesudah variabel. c. 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"); }
Modul IIControl Flow & Flowchart d. 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.
e. 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; case 2: printf("Anda memasukan angka 2 \n"); break; default: printf("Anda tidak memasukan angka 1 atau 2 \n"); break; }
f.
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); }
g. 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);
Modul IIOperator dan Control Flow h. Lengkapi program di bawah ini, jalankan kemudian amati hasilnya.
for (a = 10; a > 5; --a) { k = a%2; printf("Nilai = %d\n", k); }
i.
Tuliskan sebuah program yang berisikan perhitungan volume limas segitiga dan volume bola dengan kondisi berikut: pada tahap awal kita harus memilih: jika mengetikan angka 1 maka perhitungan volume limas segitiga dimulai atau jika mengetikan angka 2 maka pehitungan volume bola dimulai atau apabila tidak mengetikan angka 1 atau 2 maka pada layar ditampilkan kalimat Anda tidak mengetikan angka 1 atau 2 dan kembali ke tahap awal.