Anda di halaman 1dari 10

PENGAMBILAN KEPUTUSAN

A. PERCOBAAN

1. Menghitung nilai discount menggunakan if.


/* File program : discount.c
*/ #include <stdio.h>

main()
{
double total_pembelian, discount = 0;

printf("Total pembelian = Rp
"); scanf("%lf",
&total_pembelian);

if(total_pembelian >= 100.000)


discount = 0.05 *
total_pembelian;

printf("Besarnya discount = Rp %.2lf\n", discount);


}

2. Menghitung nilai absolut suatu bilangan.


/* File program : absolut.c
*/ #include <stdio.h>

main()
{
int bil, abs;

1
printf("Masukkan bilangan bulat :
"); scanf("%d", &bil);

if(bil < 0)
abs = -bil;

printf("Nilai absolut dari %d adalah %d\n\n", bil, abs);


}

3. Pemakaian if-else untuk menyeleksi bilangan pembagi


/* File program : bagi1.c
*/ #include <stdio.h>

main()
{
float a, b;

printf("Masukkan nilai a :
"); scanf("%f", &a);
printf("Masukkan nilai b :
"); scanf("%f", &b);

printf("\n");
if (b == 0)
printf("%g dibagi dengan nol = TAK BERHINGGA\n",
a); else
printf("%g dibagi dengan %g = %g\n", a, b, a/b);
}

4. Pemakaian if-else untuk mengecek hasil modulus.


/* File program : bagi2.c
*/ #include <stdio.h>

main()
{
int bil1, bil2, sisa;

printf("Masukkan bilangan pertama :


"); scanf("%d", &bil1);
printf("Masukkan bilangan kedua :
"); scanf("%d", &bil2);

sisa = bil1 %
bil2;
printf("\n");
if (sisa == 0)
printf("%d habis dibagi dengan %d\n\n", bil1,
bil2); else
printf("%d tidak habis dibagi dengan
%d\n\n", bil1, bil2);
}

5. Mengkategorikan karakter masukan


/* File program : tebak.c
*/ #include <stdio.h>

main()
{
char karakter;

printf("Masukkan sebuah karakter :


"); scanf("%c", &karakter);

if ((karakter >= 'a' && karakter <= 'z') || (karakter


>= 'A' && karakter <= 'Z'))
printf("%c adalah karakter alphabet\n",
karakter); else if (karakter >= '0' && karakter <=
'9')
printf("%c adalah bilangan\n",
karakter); else
printf("%c adalah karakter khusus\n", karakter);
}

6. Mengkategorikan bilangan bulat dengan memberinya tanda 1, 0 atau -1.


/* File program : bulat.c
*/ #include <stdio.h>

main()
{
int bil, tanda;

printf("Masukkan sebuah bilangan :


"); scanf("%d", &bil);

if (bil < 0)
tanda = -1;
else if (bil ==
0) tanda = 0;
else
tanda = 1;

printf("Bilangan %d memiliki tanda %d\n", bil, tanda);


}
7. Implementasi program kalkulator sederhana menggunakan else-if.
/* File program : kalkulator1.c
*/ #include <stdio.h>

main()
{
/* valid_operator diinisialisasi dg logika 1
*/ int valid_operator = 1;
char operator;
float bil1, bil2, hasil;

printf("Masukkan 2 buah bilangan dan sebuah


operator\n"); printf("dengan format : bil1 operator
bil2\n\n"); scanf("%f %c %f", &bil1, &operator, &bil2);

if(operator == '*')
hasil = bil1 * bil2;
else if(operator ==
'/') hasil = bil1 /
bil2; else if(operator
== '+') hasil = bil1 +
bil2; else if(operator
== '-') hasil = bil1 -
bil2;
else
valid_operator = 0;

if(valid_operator)
printf("%g %c %g is %g\n", bil1, operator,
bil2, hasil);
else
printf("Invalid operator!\n");
}

8. Implementasi program kalkulator sederhana menggunakan switch - case.


/* File program : kalkulator2.c
*/ #include <stdio.h>

main()
{
/* valid_operator diinisialisasi dg logika 1
*/ int valid_operator = 1;
char operator;
float bil1, bil2, hasil;

printf("Masukkan 2 buah bilangan dan sebuah


operator\n"); printf("dengan format : bil1 operator
bil2\n\n"); scanf("%f %c %f", &bil1, &operator, &bil2);
switch(operator) {
case '*' : hasil = bil1 * bil2;
break; case '/' : hasil = bil1 /
bil2; break; case '+' : hasil = bil1
+ bil2; break; case '-' : hasil =
bil1 - bil2; break; default :
valid_operator = 0;
}

if(valid_operator)
printf("%g %c %g is %g\n", bil1, operator,
bil2,hasil); else
printf("Invalid operator!\n");
}

B. SOAL

1. Buatlah program untuk menerima 2 buah bilangan bulat masukan. Tampilkan hasil
dari pembagian bilangan pertama dengan bilangan kedua, dengan ketelitian 3 desimal.

Input : bil1 dan bil2


Output : hasil bagi bil1 dengan bil2

Nilai tambah : program bisa mengecek pembagian dengan nol, yaitu jika bilangan
kedua adalah nol, maka tidak dilakukan proses pembagian, namun ditampilkan pesan
kesalahannya (division by zero).
#include <stdio.h>
#include <stdlib.h>

int main()
{

//inisialisasi variabel
int bil1, bil2;
float hasil;

//input
printf("masukkan bilangan 1 = ");
scanf("%d",&bil1);
printf("masukkan bilangan 2 = ");
scanf("%d",&bil2);

//output
if(bil2==0){
printf("division by zero");
}
else{
hasil=bil1/bil2;
printf("hasil bagi %d dengan %d = %.3f", bil1, bil2,
hasil);
}

}
2. Buatlah program untuk menghitung determinan dan mencari akar-akar dari persamaan
kuadrat : ax2 + bx + c = 0 , dengan ketentuan sbb :

D = b2 - 4ac
Jika D = 0 , maka terdapat 2 akar real yang kembar, yaitu : x1 = x2 = -b / 2a
Jika D > 0 , maka terdapat 2 akar real yang berlainan, yaitu :
x1 = (-b + sqrt(D)) / 2a
x2 = (-b - sqrt(D)) / 2a
Jika D < 0 , maka terdapat 2 akar imaginair yang berlainan,
yaitu : x1 = -b / 2a + (sqrt(-D) / 2a) i
x2 = -b / 2a - (sqrt(-D) / 2a) i
Input : a, b, c (float)
Output : Nilai Determinan serta nilai akar-akar persamaan tsb (x1& x2).

Petunjuk : - untuk mencari akar dari x, gunakan : sqrt(x) yang didefinisikan pada
<math.h>.
- gunakan else if}

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main(){

float a, b, c, D = 0;
double x1, x2, imaginair;

printf("MENCARI AKAR-AKAR PERSAMAAN KUADRAT a+bx+c");


printf("\nMasukkan nilai a:");
scanf("%f", &a);
printf("Masukkan nilai b: ");
scanf("%f", &b);
printf("Masukkan nilai c:");
scanf("%f", &c);

D =(b*b)-(4*a*c);

if(D==0){
x1 = (-b/2*a);
x2 = x1;
printf("\nDua akar real kembar yaitu: \n");
printf("x1 = x2 = %g\n", x1);
}

else if (D>0){
x1 = (-b + sqrt(D)) / (2*a);
x2 = (-b - sqrt(D)) / (2*a);
printf("\nDua akar real berlainan yaitu: \n");
printf("x1 = %g\n", x1);
printf("x2 = %g\n", x2);
}
else {
imaginair = (sqrt(-D)/(2*a));
x1 = -b / 2*a + (sqrt(-D)/2*a);
x2 = -b / 2*a - (sqrt(-D)/2*a);
printf("\nDua akar imaginair berlainan yaitu");
printf("x1 = %g + %g\n", x1, imaginair);
printf("x2 = %g - %g\n", x1, imaginair);
}

}
3. Buatlah program untuk menampilkan menu dan melakukan proses
sbb : Menu : 1. Menghitung volume kubus
2. Menghitung luas lingkaran
3. Menghitung volume
silinder. Input : pilihan user (1, 2 atau 3)
Jika pilihan = 1, maka :
Input : panjang sisi kubus
Output : Volume kubus (vol = sisi3)
Jika pilihan = 2, maka :
Input : panjang jari-jari lingkaran
Output : Luas lingkaran (luas = 3.14 * r2)
Jika pilihan = 3, maka :
Input : panjang jari-jari lingkaran & tinggi silinder
Output : Volume silinder (vol = 3.14 * r2 * t)
Jika pilihan selain 1, 2 & 3 (default) : Tampilkan pesan kesalahan.

Petunjuk : gunakan switch-case

#include <stdlib.h>
#include <stdio.h>
#include <math.h>

int main(){
int opmenu;
float sisi, volume_kubus, radius, luas_lingkaran, tinggi_silinder,
volume_silinder;

printf("\nPROGRAM PENGHITUNG VOLUME DAN LUAS\n");

printf("=== MENU ===\n");


printf("[1] Menghitung Volume Kubus\n");
printf("[2] Menghitung Luas Lingkaran\n");
printf("[3] Menghitung Volume Silinder\n");
printf("Masukkan Pilihan Anda : ");
scanf("%d", &opmenu);

printf("\n");
switch(opmenu)
{
case 1 :
printf(" === Menghitung volume kubus === ");
printf("\nMasukkan panjang sisi \t = ");
scanf("%f", &sisi);
volume_kubus = sisi * sisi * sisi;
printf("\nVolume Kubus tersebut adalah %.2f", volume_kubus);
printf("\n");
break;

case 2 :
printf("=== Menghitung Luas Lingkaran ===");
printf("\nMasukkan radius \t = ");
scanf("%f", &radius);
luas_lingkaran = 3.14 * radius * radius;
printf("Luas Lingkaran tersebut adalah %.2f", luas_lingkaran);
printf("\n");
break;

case 3 :
printf("=== Menghitung Volume Silinder ===");
printf("\nMasukkan radius \t = ");
scanf("%f", &radius);
printf("Masukkan tinggi tabung \t = ");
scanf("%f", &tinggi_silinder);
volume_silinder = 3.14 * radius * radius * tinggi_silinder;
printf("Volume Silinder tersebut adalah %.2f", volume_silinder);
printf("\n");
break;

default :
printf("Menu yang anda masukkan salah!");
break;
}
}
This document was created with Win2PDF available at http://www.daneprairie.com.
The unregistered version of Win2PDF is for evaluation or non-commercial use only.

Anda mungkin juga menyukai