Buatlah program untuk menghitung luas dan
keliling bangun datar berikut dengan menggunakan konsep fungsi:
a. Persegi Panjang
b. Segitiga sembarang
c. Lingkaran
d. Trapesium
e. Jajargenjang
#include <iostream>
#include <math.h>
#include <limits>
#include <cstdlib>
#include <cstring>
using namespace std;
const float phi=3.14;
//validasi
int kata;
char val [100];
int validasi()
{
do
{
kata=0;
cout<<"\t\t";cin>>val;
for(int i=0; i<strlen(val); i++)
{
if(isdigit(val[i])==0)
kata++;
}
if(kata !=0)
cout<<"\t\tInput salah !\n"<<endl;
}
while(kata!=0);
return 0;
}
//Pesegi Panjang
float kelilingpp(float p,float l){
float kel;
kel=p+l+p+l;
return kel;
}
float luaspp(float p, float l) {
float luas;
luas=p*l;
return luas;
}
//Segitiga Sembarang
float kelilingss(float a,float b,float c){
float kel;
kel=a+b+c;
return kel;
}
float sisimiring(float a,float b,float c){
float miring;
miring=kelilingss(a,b,c)*0.5;
return miring;
}
float luasss(float a,float b,float c) {
float luas,s;
s=sisimiring(a,b,c);
luas=sqrt(s*((s-a)*(s-b)*(s-c)));
return luas;
}
//Lingkaran
float kelilingl(float r){
float kel;
kel=2*phi*r;
return kel;
}
float luasl(float r) {
float luas;
luas=phi*pow(r,2);
return luas;
}
//Trapesium
float kelilingt(float a,float b,float t){
float kel, alaskanankiri,sisimiring;
alaskanankiri=0.5*(b-a);
sisimiring=sqrt(pow(alaskanankiri,2)+pow(t,2));
kel=a+b+sisimiring+sisimiring;
return kel;
}
float luast(float a,float b, float t) {
float luas;
luas=0.5*(a+b)*t;
return luas;
}
//Jajar Genjrang
float kelilingjg(float a,float sisi){
float kel;
kel=(2*a)+(2*sisi);
return kel;
}
float luasjg(float a,float t) {
float luas;
luas=a*t;
return luas;
}
int main(){
int pilihan;
float panjang,lebar,alas,tinggi,jari,sisiatas,sisibawah,sisi,sisi2;
cout<<"\tProgram Untuk Menghitung Luas dan Keliling Bangun Datar"<<endl;
cout<<"\t======================================================="<<endl;
cout<<"\t\tTekan 1 untuk Persegi Panjang \n\t\tTekan 2 untuk Segitiga sembarang \n\t\tTekan 3 untuk Lingkaran \n\t\tTekan 4 untuk Trapesium \n\t\tTekan 5 untuk Jajargenjang \n\t\tTekan 6 untuk Berhenti"<<endl;
balik:
cout<<"\n\t\tMasukkan Pilihan : ";
validasi(); pilihan=atoi(val);
switch(pilihan){
case 1 : {
cout<<"\n\t\tLuas dan Keliling Persegi Panjang";
cout<<"\n\t\tMasukkan Nilai Panjang\t : ";
validasi(); panjang=atoi(val);
cout<<"\t\tMasukkan Nilai Lebar\t : ";
validasi(); lebar=atoi(val);
if (panjang<=0||lebar<=0)
cout<<"\t\tNilai harus berupa bilangan bulat positif";
else
cout<<"\t\tLuasnya : "<<luaspp(panjang,lebar)<<endl;
cout<<"\t\tKelilingnya : "<<kelilingpp(panjang,lebar)<<endl;
break;
}
case 2 :{
cout<<"\n\t\tLuas dan Keliling Segitiga Sembarang";
cout<<"\n\t\tMasukkan Nilai sisi 1\t : ";
validasi(); sisi=atoi(val);
cout<<"\t\tMasukkan Nilai sisi 2\t : ";
validasi(); sisi2=atoi(val);
cout<<"\t\tMasukkan Nilai Tinggi\t : ";
validasi(); tinggi=atoi(val);
if (sisi<=0||sisi2<=0||tinggi<=0)
cout<<"\t\tNilai harus berupa bilangan bulat positif";
else
cout<<"\t\tLuasnya : "<<luasss(sisi,sisi2,tinggi)<<endl;
cout<<"\t\tKelilingnya : "<<kelilingss(sisi,sisi2,tinggi)<<endl;
break;
}
case 3 :{
cout<<"\n\t\tLuas dan Keliling Lingkaran";
cout<<"\n\t\tMasukkan Nilai Jari-jari : ";
validasi(); jari=atoi(val);
if (jari<=0)
cout<<"\t\tNilai harus berupa bilangan bulat positif";
else
cout<<"\t\tLuasnya : "<<luasl(jari)<<endl;
cout<<"\t\tKelilingnya : "<<kelilingl(jari)<<endl;
break;
}
case 4 :{
cout<<"\n\t\tLuas dan Keliling Trapesium";
cout<<"\n\t\tMasukkan Nilai Sisi Atas : ";
validasi(); sisiatas=atoi(val);
cout<<"\t\tMasukkan Nilai Sisi Bawah: ";
validasi(); sisibawah=atoi(val);
cout<<"\t\tMasukkan Nilai Tinggi : ";
validasi(); tinggi=atoi(val);
if (sisiatas<=0||sisibawah<=0||tinggi<=0)
cout<<"\t\tNilai harus berupa bilangan bulat positif";
else
cout<<"\t\tLuasnya : "<<luast(sisiatas,sisibawah,tinggi)<<endl;
cout<<"\t\tKelilingnya : "<<kelilingt(sisiatas,sisibawah,tinggi)<<endl;
break;
}
case 5 :{
cout<<"\n\t\tLuas dan Keliling Jajar Genjrang";
cout<<"\n\t\tMasukkan Nilai Alas\t : ";
validasi(); alas=atoi(val);
cout<<"\t\tMasukkan Nilai Tinggi\t : ";
validasi(); tinggi=atoi(val);
cout<<"\t\tMasukkan Sisi Miring\t : ";
validasi(); sisi=atoi(val);
if (alas<=0||tinggi<=0||sisi<=0)
cout<<"\t\tNilai harus berupa bilangan bulat positif";
else
cout<<"\t\tLuasnya : "<<luasjg(alas,tinggi)<<endl;
cout<<"\t\tKelilingnya : "<<kelilingjg(alas,sisi)<<endl;
break;
}
case 6:{
cout<<"\t\tBye ";
return 0;
}
default :
cout<<"\t\tPilihan salah !";
}
cout<<"\n\t-------------------------------------------------------"<<endl;
system("pause");
goto balik;
}

0 comments:
Post a Comment