Anda di halaman 1dari 32

PERCOBAAN DAN TUGAS

NAMA : MUHAMMAD RIVAN NUGROHO

NIM : 2005181021

KELAS : TRPL 1-A

1. Menghitung nilai discount menggunakan if.


/* File program : discount.c */
#include <stdio.h>
main()
{
double total_pembelian, discount = 0;
clrscr();
printf("Total pembelian = Rp ");
scanf("%lf", &total_pembelian);
if(total_pembelian >= 100000)
discount = 0.05 * total_pembelian;
printf("Besarnya discount = Rp %.2lf\n", discount);
getch();
}
Hasil

2. Menghitung nilai absolut suatu bilangan.


/* File program : absolut.c */
#include <stdio.h>
main()
{
int bil, abs;
clrscr();
printf("Masukkan bilangan bulat : ");
scanf("%d", &bil);
if(bil < 0)
abs = -bil;
printf("Nilai absolut dari %d adalah %d\n\n", bil, abs);
getch();
}
Hasil

3. Pemakaian if-else untuk menyeleksi bilangan pembagi


/* File program : bagi1.c */
#include <stdio.h>
main()
{
float a, b;
clrscr();
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);
getch();
}
Hasil

4. Pemakaian if-else untuk mengecek hasil modulus.


/* File program : bagi2.c */
#include <stdio.h>
main()
{
int bil1, bil2, sisa;
clrscr();
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);
getch();
}
Hasil

5. Mengkategorikan karakter masukan


/* File program : tebak.c */
#include <stdio.h>
main()
{
char karakter;
clrscr();
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);
getch();
}

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


/* File program : bulat.c */
#include <stdio.h>
main()
{
int bil, tanda;
clrscr();
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);
getch();
}
Hasil

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;
clrscr();
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");
getch();
}
Hasil
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;
clrscr();
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");
getch();
}
Hasil

. Program untuk menhitung nilai akhir suatu matakuliah


#include<stdio.h>
main()
{
float absen,tugas,mid,uas,na;
char nama[15];
char nh;
clrscr();
printf(“Input Nama : “); scanf(“%s”,&nama);
printf("Input nilai kehadiran : "); scanf("%f" ,&absen);
printf("Input nilai Tugas : "); scanf("%f" ,&tugas);
printf("Input nilai mid : "); scanf("%f" ,&mid);
printf("Input nilai UAS :" ); scanf("%f" ,&uas);
na=0.1*absen+0.2*tugas+0.3*mid+0.4*uas;
printf("Nilai Akhir = %.2f\n",na);
if (na>=80 && na<=100)
nh='A';
if (na>=70 && na<=79)
nh='B';
if (na>=60 && na<=69)
nh='C';
if (na>=50 && na<=59)
nh='D';
if (na>=0 && na<=49)
nh='E';
printf("Nilai Huruf = %c\n",nh);
if (na>=60)
printf("Anda Lulus\n" );
else
printf("Anda tidak lulus\n");
getch();
}
Hasil
Program untuk menghitung diskon dan jumlah bayar harga barang
#include <stdio.h>
main()
{
float j,h,hbrg,diskon,jb;
clrscr();
printf("Inputkan Jumlah Barang :");
scanf("%f",&j);
printf("Inputkan Harga Barang :");
scanf("%f",&h);
hbrg=j*h;
printf("Jumlah Harga Barang = %.2f\n",hbrg);
if (hbrg>=500000)
{
diskon=0.5*hbrg;
jb=hbrg-diskon;
}
if (hbrg<500000)
{
diskon=0.2*hbrg;
jb=hbrg-diskon;
}
printf("Jumlah Diskon = %.2f\n",diskon);
printf("JumlaH Bayar = %.2f\n",jb);
getch();
}
Hasil

6. LATIHAN
a. Buatlah algoritma dan program untuk menerima input 2 buah bilangan bulat. 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).
Jawaban

Start
Bil1,Bil2

Masukan bil1 =

Masukan bil2 =

ya
Jika bil2=0
Jika bil2 maka, muncul
==0 0 division by
zero
tidak

Bil1 / Bil 2 =
hasil

Tampilkan
Hasil bagi

End

#include <stdio.h>
#include <conio.h>
main ()
{
int bil1,bil2;
float hasilbagi;
printf("Masukan bil1 =\t");
scanf("%d", &bil1);
printf("\nMasukan bil2 =\t");
scanf("%d", &bil2);
if(bil2==0)
{
printf("\n division by zero");
}
else
{
hasilbagi = bil1 / bil2;
printf("\nHasil pembagian: %.1f", hasilbagi);
getch ();
}
}
Hasil
b. Buatlah algoritma dan program untuk menghitung determinan dan mencari
akar-akar dari persamaan kuadrat : ax2+ bx + c = 0 , dengan ketentuan sbb :
D=b
2 - 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
Jawaban
Program
#include <stdio.h>
#include <conio.h>
#include <math.h>
main ()
{
float a,b,c,d;
double x1,x2,i;
printf ("MASUKKAN 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)
{
printf ("\nAKAR X1=X2 REAL KEMBAR\n");
x1=-b/(2*a);
x2=x1;
printf ("NILAI X1 = %.0f\n",x1);
printf ("NILAI X2 = %.0f",x2);
}
else if (d>0)
{
printf ("\nAKAR X1=X2 REAL BERLAINAN\n");
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf ("NILAI X1 = %2.Lf\n",x1);
printf ("NILAI X2 = %2.Lf",x2);
}
else if (d<0)
{
printf ("\nAKAR X1=X2 REAL IMAJINER DAN BERLAINAN\n");
i=(sqrt(-d))/(2*a);
x1=(-b/(-2*a))+(sqrt(-d))/((2*a))*i;
x2=(-b/(-2*a))-(sqrt(-d))/((2*a))*i;
printf ("NILAI X1 = %.2Lf\n",x1);
printf ("NILAI X2 = %.2Lf",x2);
}
getch ();
}
Hasil
c. Buatlah algoritma dan 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
Jawaban
Algoritma :

Start

Input pilihan
menu

Jika Pil 1.
Tampilakan
Vol Input sisi (s) Vol = s*s*s nilai volume
kubus

Jika Pil 2
luas
Input jari Tampilakn
Luas=3,14*r*r
lingkaran jari(r) luas lingkaran

Jika pil 3 Tampilkan


vol Input r, t Vol=3,14*r*r*t volume
silinder silinder

Input Pesan
kesalahan
pilihan

End

Program
#include<stdio.h>
#include<conio.h>
main()
{
int menu;
float sisi,volume_kubus,radius,luas_lingkaran,tinggi_tabung,volume_tabung;
printf("======================================= \n");
printf("* PROGRAM PENGHITUNG VOLUME & LUAS *\n");
printf("======================================= \n");
printf("====================MENU ====================\n");
printf("* [1]Menghitung volume kubus *\n");
printf("* [2]Menghitung luas lingkaran *\n");
printf("* [3]Menghitung volume tabung *\n");
printf("============================================= \n\n");
printf("Masukkan pilihan anda: ");

scanf("%d",&menu);
printf("\n");
switch(menu)
{
case 1:
printf("=== Menghitung volume kubus ===");
printf("\nMasukkan panjang sisi \t = ");
scanf("%f",&sisi);
volume_kubus = sisi * sisi * sisi;
printf("\nVolume kubus =%.2f",volume_kubus);
printf("\n");
break;
case 2:
printf("=+= Menghitung luas lingkaran =+=");
printf("\nMasukkan jari-jari = ");
scanf("%f",&radius);
luas_lingkaran = 3.14 * radius * radius;
printf("\nLuas lingkaran =%.2f",luas_lingkaran);
printf("\n");
break;
case 3:
printf("=== Menghitung volume tabung ===");
printf("\nMasukkan jari-jari = ");
scanf("%f",&radius);
printf("\nMasukkan tinggi silinder = ");
scanf("%f",&tinggi_tabung);
volume_tabung = 3.14 * radius * radius *tinggi_tabung;
printf("\nVolume SILINDER =%.2f",volume_tabung);
printf("\n");
break;
default:
printf("Menu yang anda masukkan salah!");
break;}
getch();
}
Hasil
a. Kumpulkan hasil Program berikut
#include<stdio.h>
main()
{
char nip[9], nama[15];
int gol,st;
float gapok,tjg,gk,pph,gb;
clrscr();
printf("DAFTAR GAJI PEGAWAI\n");
printf("Inputkan NIP Pegawai : "); scanf("%s" ,&nip);
printf("Inputkan Nama Pegawai : "); scanf("%s" ,&nama);
printf("Inputkan Golongan (1-4) : "); scanf("%d" ,&gol);
printf("Inputkan Status (1=Maried,2=single): "); scanf("%d" ,&st);
if (gol==1)
gapok=900000;
if (gol==2)
gapok=1250000;
if (gol==3)
gapok=1750000;
if (gol==4)
gapok=2500000;
if (st==1)
tjg=0.25*gapok;
if (st==2)
tjg=0.05*gapok;
gk=gapok+tjg;
pph=0.1*gapok;
gb=gk-pph;
printf("Gaji Pokok : %.2f\n",gapok);
printf("Tunjangan : %.2f\n",tjg);
printf("Gaji Kotor : %.2f\n",gk );
printf("PPh : %.2f\n",pph);
printf("Gaji Bersih : %.2f\n",gb );
getch();
}
Jawaban
TUGAS PPT
A.Buat program untuk mencetak kwitansi pemesanan makanan pada restoran fast food.
Data input : Nama Paket, jumlah paket
Output :
KWITANSI PEMBAYARAN MAKANAN
Nama Paket :
Jumlah Paket :
Harga/Paket :
Jumlah Harga :
PPn (10%) :
Jumlah Bayar :
Terima Kasih Atas Kunjungan Anda
Dengan ketentuan :
Nama Paket Harga/Paket
1 15000
2 20000
3 22500
4 25000
5 27500
Jumlah harga=jumlah paket * Harga/Paket
PPn = 10% * Jumlah harga
Jumlah Bayar = Jumlah harga + PPn
Jawaban
Program
#include<stdio.h>
#include<conio.h>
main()
{
int menu,jumlahp;
float harga,jumlah,ppn,total;
printf("=================MENU PILIHAN =================\n");
printf("===NAMA PAKET===========HARGA PAKET============\n");
printf("* [1] 15.000 *\n");
printf("* [2] 20.000 *\n");
printf("* [3] 22.500 *\n");
printf("* [4] 25.000 *\n");
printf("* [5] 27.500 *\n");
printf("=============================================== \n\n");
printf("Masukkan Pilihan Paket: ");
scanf("%d",&menu);
printf("Masukkan Jumlah Pilihan Paket: ");
scanf("%d",&jumlahp);
printf("\n");
switch(menu)
{
case 1:
harga=15000;
break;
case 2:
harga=20000;
break;
case 3:
harga=22500;
break;
case 4:
harga=25000;
break;
case 5:
harga=27500;
break;
default:
printf("HARAP ULAINGI MASUKKAN DATA\n");
}
jumlah=jumlahp*harga;
ppn=0.1*jumlah;
total=jumlah+ppn;
printf("==================KWITANSI PEMBAYARAN
MAKANAN==================\n");
printf("*-NAMA PAKET= %d *\n",menu);
printf("*-JUMLAH PAKET= %d *\n",jumlahp);
printf("*-HARGA PAKET= %0.f *\n",harga);
printf("*-JUMLAH HARGA= %0.f *\n",jumlah);
printf("*-PPN(10%)= %0.f *\n",ppn);
printf("*-JUMLAH BAYAR= %0.f *\n",total);
printf("===============================================================\n\n");

getch();
}

Hasil
C.Modifikasi Program berikut dengan menggunakan instruksi switch..case
#include<stdio.h>
main()
{
char nip[9], nama[15];
int gol,st;
float gapok,tjg,gk,pph,gb;
clrscr();
printf("DAFTAR GAJI PEGAWAI\n");
printf("Inputkan NIP Pegawai : "); scanf("%s" ,&nip);
printf("Inputkan Nama Pegawai : "); scanf("%s" ,&nama);
printf("Inputkan Golongan (1-4) : "); scanf("%d" ,&gol);
printf("Inputkan Status (1=Maried,2=single): "); scanf("%d" ,&st);
if (gol==1)
gapok=900000;
if (gol==2)
gapok=1250000;
if (gol==3)
gapok=1750000;
if (gol==4)
gapok=2500000;
if (st==1)
tjg=0.25*gapok;
if (st==2)
tjg=0.05*gapok;
gk=gapok+tjg;
pph=0.1*gapok;
gb=gk-pph;
printf("Gaji Pokok : %.2f\n",gapok);
printf("Tunjangan : %.2f\n",tjg);
printf("Gaji Kotor : %.2f\n",gk );
printf("PPh : %.2f\n",pph);
printf("Gaji Bersih : %.2f\n",gb );
getch();
}
Jawaban
Program
#include<stdio.h>
#include<conio.h>
main()
{
char nip[9], nama[15];
int gol,st;
float gapok,tjg,gk,pph,gb;
printf("DAFTAR GAJI PEGAWAI\n");
printf("Inputkan NIP Pegawai : ");
scanf("%s" ,&nip);
printf("Inputkan Nama Pegawai : ");
scanf("%s" ,&nama);
printf("Inputkan Golongan (1-4) : ");
scanf("%d" ,&gol);
printf("Inputkan Status (1=Maried,2=single): ");
scanf("%d" ,&st);
switch (gol)
{
case 1:
gapok=900000;
break;
case 2:
gapok=1250000;
break;
case 3:
gapok=1750000;
break;
case 4:
gapok=2500000;
break;
default:
printf("\n");
}
switch (st)
{

case 1:
tjg=0.25*gapok;
break;
case 2:
tjg=0.05*gapok;
break;
default:
printf("\n");
}
gk=gapok+tjg;
pph=0.1*gapok;
gb=gk-pph;
printf("Gaji Pokok : %.2f\n",gapok);
printf("Tunjangan : %.2f\n",tjg);
printf("Gaji Kotor : %.2f\n",gk );
printf("PPh : %.2f\n",pph);
printf("Gaji Bersih : %.2f\n",gb );
getch();
}
Hasil

Anda mungkin juga menyukai