Algoritma & MOOP [VII]

  1. 1. Buatlah program dengan class untuk menghitung luas dan keliling lingkaran dengan cara membuat class lingkaran yang mempunyai data member jari-jari dan mempunyai function member imput jari, hitung luas, hitung keliling, display jari, display keliling, dan display luas.

Jawab:

Code:

#include <iostream.h>

class lingkaran

{

private:

float r,l,k;

public:

float inputjari();

float luas(float r);

float keliling(float r);

void displayjari(float r);

void displayluas(float l);

void displaykeliling(float k);

};

float lingkaran::inputjari()

{

cout<<“Masukkan jari-jari : “;cin>>r;

return r;

}

float lingkaran::luas(float r)

{

l=(22 * r * r)/7;

return l;

}

float lingkaran::keliling(float r)

{

k=(22 * r * 2)/7;

return k;

}

void lingkaran::displayjari(float r)

{ cout<<“\nJari-jari = “<<r<<endl; }

void lingkaran::displayluas(float l)

{ cout<<“Luas      = “<<l<<endl; }

void lingkaran::displaykeliling(float k)

{ cout<<“Keliling  = “<<k<<endl; }

int main()

{

float jari,luas,kel;

lingkaran lin;

jari=lin.inputjari();

lin.displayjari(jari);

luas=lin.luas(jari);

kel=lin.keliling(jari);

lin.displayluas(luas);

lin.displaykeliling(kel);

system(“pause”);

}

  1. 2. Buatlah program dengan class untuk menghitung luas dan keliling segitiga, dengan mendeklarasikan class segitiga yang mempunyai data anggota tinggi dan alas bertipe integer dan mempunyai fungsi anggota input data, hitung keliling dan hitung luas serta tampil hasil.

Code:

#include <iostream.h>

#include <math.h>

class segitiga

{

private:

int a,t;

float l,k,m;

public:

int inputalas();

int inputtinggi();

float luas(int a,int t);

float keliling(int a,int t);

void displayhasil(float l,float k);

};

int segitiga::inputalas()

{

cout<<“Masukkan alas : “;cin>>a;

return a;

}

int segitiga::inputtinggi()

{

cout<<“Masukkan tinggi : “;cin>>t;

return t;

}

float segitiga::luas(int a,int t)

{

l=a * t * 0.5;

return l;

}

float segitiga::keliling(int a,int t)

{

m=sqrt((a * a)+(t * t));

k=a+t+m;

return k;

}

void segitiga::displayhasil(float l,float k)

{

cout<<“Luas      = “<<l<<endl;

cout<<“Keliling  = “<<k<<endl;

}

int main()

{

int alas,tinggi;

float luas,kel;

segitiga st;

alas=st.inputalas();

tinggi=st.inputtinggi();

luas=st.luas(alas,tinggi);

kel=st.keliling(alas,tinggi);

st.displayhasil(luas,kel);

system(“pause”);

}

  1. 3. Buatlah program dengan class untuk mencari akar persamaan kuadrat, dimana class mempunyai data member koefisien persamaan kuadrat yaitu A, B dan C. Kemudian class mempunyai fungsi member input data, hitung determinan dan display akar.


Code:

#include <iostream.h>

#include <math.h>

class persamaan

{

private:

float a,b,c,d;

public:

float inputA();

float inputB();

float inputC();

float determinan(float a,float b,float c);

void displayakar(float a,float b,float c,float d);

};

float persamaan::inputA()

{

cout<<“Masukkan A : “;cin>>a;

return a;

}

float persamaan::inputB()

{

cout<<“Masukkan B : “;cin>>b;

return b;

}

float persamaan::inputC()

{

cout<<“Masukkan C : “;cin>>c;

return c;

}

float persamaan::determinan(float a,float b,float c)

{

d=(b * b) – (4 * a * c);

return d;

}

void persamaan::displayakar(float a,float b,float c,float d)

{

cout<<“Determinan = “<<d<<endl;

if (d<0)

{  cout << “\nX1 dan X2 adalah Akar Imaginer” << endl; }

if (d==0)

{  cout << “\nX1 = X2 = ” << -b / (2*a) << endl; }

if (d>0)

{

cout << “X1 = ” << (-b + sqrt(d)) / 2*a << endl;

cout << “X2 = ” << (-b – sqrt(d)) / 2 << endl;

}

}

int main()

{

float A,B,C,D;

persamaan p;

A=p.inputA();

B=p.inputB();

C=p.inputC();

D=p.determinan(A,B,C);

p.displayakar(A,B,C,D);

system(“pause”);

}

  1. 4. Buatlah program dengan class dan funsi constructor untuk mencari akar persamaan kuadrat, dimana class mempunyai data member koefisien persamaan kuadrat yaitu A, B dan C. Kemudian class mempunyai fungsi member input data, hitung determinan dan display akar. Constructor digunakan untuk melakukan inisialisasi nilai A, B dan C dengan nilai A tidak boleh sama dengan nol.

Jawab:

Code:

#include <iostream.h>

#include <math.h>

class persamaan2

{

private:

float a,b,c,d;

public:

persamaan2(float A);

float nilaiA();

float inputA();

float inputB();

float inputC();

float determinan(float a,float b,float c);

void displayakar(float a,float b,float c,float d);

};

persamaan2::persamaan2(float A)

{

if (A==0)

{

a= 1;

cout<<“Nilai A tidak boleh 0 maka nilai A default = “<<a<<endl;

}

else

{ a= A; }

b=0; c=0;

}

float persamaan2::nilaiA()

{

return a;

}

float persamaan2::inputA()

{

cout<<“Masukkan A : “;cin>>a;

return a;

}

float persamaan2::inputB()

{

cout<<“Masukkan B : “;cin>>b;

return b;

}

float persamaan2::inputC()

{

cout<<“Masukkan C : “;cin>>c;

return c;

}

float persamaan2::determinan(float a,float b,float c)

{

cout<<“A=”<<a<<” B=”<<b<<” C=”<<c<<endl;

d=(b * b) – (4 * a * c);

return d;

}

void persamaan2::displayakar(float a,float b,float c,float d)

{

cout<<“Determinan = “<<d<<endl;

if (d<0)

{  cout << “\nX1 dan X2 adalah Akar Imaginer” << endl; }

if (d==0)

{  cout << “\nX1 = X2 = ” << -b / (2*a) << endl; }

if (d>0)

{

cout << “X1 = ” << (-b + sqrt(d)) / 2*a << endl;

cout << “X2 = ” << (-b – sqrt(d)) / 2 << endl;

}

}

int main()

{

float A,B,C,D;

persamaan2 p2(1);

A=p2.inputA();

persamaan2 p3(A);

A=p3.nilaiA();

B=p3.inputB();

C=p3.inputC();

D=p3.determinan(A,B,C);

p3.displayakar(A,B,C,D);

system(“pause”);

}

  1. 5. Tulis program dengan class dan constructor untuk membuat obyek yang merepresentasikan koordinat kutub (r, q). Declarasikan class tersebut dengan data member r atau radius, dan sudut (q), sedangkan function membernya adalah iput data, konversi kutub ke radius, display data.

Code:

#include <iostream.h>

#include <math.h>

class sincostan

{

private:

float d,r,x,y;

public:

sincostan(float D,float R);

float nilair();

float inputr();

float nilaid();

float inputd();

float nilaix(float d,float r);

float nilaiy(float d,float r);

void displaykoordinat(float d,float r,float x,float y);

};

sincostan::sincostan(float D,float R)

{

if (D==0)

{

d= 30;

cout<<“Nilai Derajat tidak boleh 0 maka default = “<<d<<endl;

}

else

{ d= D; }

if (R==0)

{

r= 10;

cout<<“Nilai Radius tidak boleh 0 maka default = “<<r

<<endl;

}

else

{ r= R; }

}

float sincostan::nilair()

{

return r;

}

float sincostan::inputr()

{

cout<<“Masukkan radius : “;cin>>r;

return r;

}

float sincostan::nilaid()

{

return d;

}

float sincostan::inputd()

{

cout<<“Masukkan derajat : “;cin>>d;

return d;

}

float sincostan::nilaix(float d,float r)

{

cout<<“X = cos “<<d<<” “<<r<<endl;

x= cos(d) * r;

return x;

}

float sincostan::nilaiy(float d,float r)

{

cout<<“X = sin “<<d<<” “<<r<<endl;

y= sin(d) * r;

return y;

}

void sincostan::displaykoordinat(float d,float r,float x,float y)

{

cout<<“Koordinat(X,Y) dari derajat:”<<d<<” dan radius:”<<r<<endl;

cout<<” adalah (“<<x<<“,”<<y<<“)”<<endl;

}

int main()

{

float D,R,X,Y;

sincostan s1(30,10);

D=s1.inputd();

R=s1.inputr();

sincostan s2(D,R);

D=s2.nilaid();

R=s2.nilair();

X=s2.nilaix(D,R);

Y=s2.nilaiy(D,R);

s2.displaykoordinat(D,R,X,Y);

system(“pause”);

}

This entry was posted in Algoritma & MOOP. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *