NIM : 2005181021
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
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