Pada kesempatan kali ini saya akan membahas tentang STATEMENT PENENTU KEPUTUSAN, tujuan dari pembahasan ini adalah untuk mempelajari dan mengamati penggunaan statement penentu keputusan yaitu statement if-else. Memanfaatkan statement if-else untuk membuat proses perulangan yaitu dengan dikombinasikan dengan statement goto-label. Mempelajari statement if-else bersarang (nested if). Mempelajari bentuk lain dari statement if-else yaitu statement else-if. Mempelajari penggunaan dari statement switch-case sebagai alternatif pengganti dari statemerit else-if. Statement if-else digunakan untuk menentukan pilihan dari suatu kondisi yang diberikan. Cara kerjanya adalah melakukan perbandingan menggunakan Relational Operator dan/atau Logical Operator, apabila suatu kondisi terpenuhi (benar) maka akan mengerjakan proses A dan apabila kondisi tidak terpenuhi (salah) maka tidak akan mengerjakan proses A atau dapat juga mengerjakan proses lain misalkan proses B. Proses A dan B dapat berupa satu baris statement atau beberapa baris yang dikelompokkan (Compound Statement). Statement if-else bersarang merupakan kombinasi dari beberapa if-else, dimana apabila ada beberapa kondisi yang harus diuji kebenarannya secara bersama (if didalam if). Statement else-if adalah cara lain dari bentuk if-else, yang digunakan untuk menentukan satu kondisi yang benar dari beberapa kondisi yang tersedia. Statement switch-case adalah bentuk lain dari statement else-if, dengan mendaftar kondisi secara vertical dalam satu kolom sehingga memudahkan dalam hal evaluasi program.

TUGAS

1. Membuat program untuk menentukan bilangan ganjil atau bilangan genap dari bilangan yang dimasukkan melalui keyboard.

#include <stdio.h>

main(){
int a, b=2 ;
printf(“Masukkan sebuah angka = “);
scanf(“%d”,&a);

if(a%2 == 0) printf(” \n%d adalah Bilangan genap”, a);
else printf(” \n%d adalah Bilangan ganjil”, a);

getch();

}

maka hasil yang akan ditampilkan program adalah seperti berikut.

2. Membuat program untuk menentukan kelompok suatu karakter yang dimasukkan melalui keyboard. Kelompok karakter tersebut adalah huruf kecil, huruf besar, angka, dan karakter khusus (tanda baca, operator, dsb).

#include<stdio.h>
main(){
char a;

printf(“Masukkan sebuah karakter “);
scanf(“%c”, &a);

if(a >= ‘a’ && a <= ‘z’) printf(“\n%c adalah huruf kecil\n\n”, a);
else if(a >= ‘A’ && a <= ‘Z’) printf(“\n%c adalah huruf besar\n\n”, a);
else if(a >= ‘0’ && a <= ‘9’) printf(“\n%c adalah angka\n\n”, a);
else printf(“\n%c adalah karakter khusus\n\n”, a);

getch();

}

maka hasil yang akan ditampilkan program adalah seperti berikut.

3. Membuat program kalkulator sederhana.

#include<stdio.h>

main(){
float a, b, k;
char c,d;

printf(“Program kalkulator sederhana\n”);
printf(“Operator yang digunakan adalah : (* / + – % & | S E)\n “);
printf(“S untuk men set kalkulator\n”);
printf(“E untuk mengakhiri perhitungan\n”);
printf(“Masukkan angka awal dan operator S untuk memulai perhitungan\n\n”);
printf(“Format :angka-awal operator\n”);
scanf(“%f %c”, &a, &c);

if(c == ‘S’){
printf(“\nMulai perhitungan\n”);
printf(“Masukkan operator dan angka\n”);
printf(“Gunakan operator E untuk mengakhiri perhitungan\n”);
printf(“Format :operator angka\n”);

printf(“%f”, a);
c = getche();

do{
scanf(“%f”, &b);

switch(c){
case ‘*’ : k = a * b; break;
case ‘/’ : k = a / b; break;
case ‘+’ : k = a + b; break;
case ‘-‘ : k = a – b; break;
default : printf(“\nERROR, Operator salah\n\n”);
}
printf(“\n%f”,k);

a = k;
c = getche();

}while(c != ‘E’);
printf(“\n\n—————————————————————————-\n”);
printf(“Perhitungan selesai\n”);
printf(“Hasil akhir adalah %f\n\n”,k);
printf(“Terimakasih\n”);

}
else printf(“\nOperator salah\n”);
}

maka hasil yang akan ditampilkan program adalah seperti berikut.

4. Membuat program untuk menentukan suatu tahun kabisat atau bukan yang dimasukkan melalui keyboard, dimana tahun dibatasi mulai dari tahun 1900 sampai dengan tahun 2005.

#include<stdio.h>

main()
{
int k;

printf(“Penentu tahun kabisat\n”);
printf(“Pilih antara tahun 1900 s/d 2005\n”);
scanf(“%d”, &k);
if(k >= 1900 && k <= 2005)
if(k%4 == 0) printf(“Tahun %d adalah tahun kabisat”, k);
else printf(“Tahun %d bukan tahun kabisat”, k);

getch();
}

maka hasil yang akan ditampilkan program adalah seperti berikut.

5. Membuat program untuk menghitung determinan dan mecari akar-akar dari persamaan kuadrat.

#include <stdio.h>

main()
{
int A,B,C,D;
float x1,x2,xa1,xa2,xb;
printf(“Program untuk menghitung diskriminan (D) dan mencari akar-akar dari persamaan kuadrat\n”);
printf(“Rumus persamaan kuadrat : Ax^2 + Bx + C = 0\n”);
printf(“Rumus Diskriminan : D = B^2 – 4AC\n”);
printf(“Rumus akar-akar : x1 = (-B + akar(D))/2A dan x2 = (-B – akar(D))/2A \n”);
printf(“Masukkan konstanta\n”);
printf(“A = “); scanf(“%d”, &A);
printf(“B = “); scanf(“%d”, &B);
printf(“C = “); scanf(“%d”, &C);

D = pow(B,2) – (4*A*C);

printf(“\nPersamaan : %dx^2 + %dx + %d = 0\n”,A ,B ,C);
printf(“Diskriminan : D = %d^2 – 4*%d*%d\n”, B, A, C);
printf(“\t\tD = %d\n\n”, D);

printf(“Jadi :\n”);

if(D == 0){
printf(“D = 0\n”);
printf(“Persamaan di atas mempunyai 2 akar yang sama\n”);

xa1 = -B;
xb = 2*A;
x1 = xa1/xb;
printf(“Maka :\n”);
printf(“x = (-(%d) + akar(%d))/(2*%d)\n”, B, D, A);
printf(“x = %f”, x1); }

else if(D > 0){
printf(“D > 0\n”);
printf(“Persamaan di atas mempunyai 2 akar real yang berbeda\n”);

xa1 = -B + sqrt(D);
xa2 = -B – sqrt(D);
xb = 2*A;

x1 = xa1/xb;
x2 = xa2/xb;

printf(“Maka :\n”);
printf(“x1 = (-(%d) + akar(%d))/(2*%d)\n”, B, D, A);
printf(“x2 = (-(%d) – akar(%d))/(2*%d)\n\n”, B, D, A);
printf(“x1 = %f\n”, x1);
printf(“x2 = %f”, x2); }

else {
printf(“D < 0\n”);
printf(“Persamaan di atas tidak mempunyai akar real (akar imaginer)\n”); }

getch();

}

maka hasil yang akan ditampilkan program adalah seperti berikut.

Sekian dari saya, apabila ada salah kata dari pembahasan saya mohon dimaafkan 😀

Terimakasih.