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