Pemrograman berorientasi object C++

4 July 2010 at 22:41 (Algoritma & Metode OOP (C++))

Week 6 – Tugas Individu 6 – 0454T

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.

Jawaban programnya:

#include <iostream>

using namespace std;

class lingkaran

{

private:

int jari;

float phi,luas,keliling;

public:

lingkaran();

void inputjari(int);

void hitungluas();

void hitungkeliling();

void displayjari();

void displaykeliling();

void displayluas();

};

//constructor definition

lingkaran::lingkaran()

{

jari=0;

phi=3.14;

luas=keliling=0;

}

void lingkaran::inputjari(int r)

{

jari=r;

}

void lingkaran::hitungluas()

{

luas=phi*jari*jari;

}

void lingkaran:: hitungkeliling()

{

keliling=2*phi*jari;

}

void lingkaran::displayjari()

{

cout<<“Jari-Jari Lingkaran = ” <<jari << “\n”;

}

void lingkaran::displaykeliling()

{

cout<<“Keliling Lingkaran = ” <<keliling << “\n”;

}

void lingkaran::displayluas()

{

cout<<“Luas Lingkaran = ” <<luas << “\n”;

}

int main()

{

cout << “=======================\n”;

cout << “Program Class Lingkaran\n”;

cout << “=======================\n\n”;

lingkaran vlingkaran;

vlingkaran.inputjari(3);

vlingkaran.hitungkeliling();

vlingkaran.hitungluas();

vlingkaran.displayjari();

vlingkaran.displaykeliling();

vlingkaran.displayluas();

system(“pause”);

}

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.

Jawaban programnya:

#include<iostream>

using namespace std;

class segitiga

{

private:

int tinggi;

int alas;

float keliling,luas;

public:

segitiga();

void inputdata(int,int);

void hitungkeliling();

void hitungluas();

void tampilhasil();

};

segitiga::segitiga()

{

keliling=luas=0;

tinggi=alas=0;

}

void segitiga::inputdata(int t, int a)

{

tinggi=t;

alas=a;

}

void segitiga::hitungkeliling()

{

int sisi;

sisi=4;

keliling=sisi+sisi+sisi;

}

void segitiga::hitungluas()

{

luas=(alas*tinggi)/2;

}

void segitiga::tampilhasil()

{

cout << “Keliling Segitiga = ” << keliling << “\n”;

cout << “Luas Segitiga = ” << luas << “\n”;

}

int main()

{

cout << “======================\n”;

cout << “Program Class Segitiga\n”;

cout << “======================\n\n”;

segitiga vsegitiga;

vsegitiga.inputdata(3,5);

vsegitiga.hitungkeliling();

vsegitiga.hitungluas();

vsegitiga.tampilhasil();

system(“pause”);

}

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.

Jawaban programnya:

#include <iostream>

#include <math.h>

using namespace std;

class AkarPersamaanKuadrat

{

private:

float A,B,C;

float D;

public:

AkarPersamaanKuadrat();

void InputData(float, float, float);

void HitungDeterminan();

void DisplayAkar();

};

AkarPersamaanKuadrat::AkarPersamaanKuadrat()

{

A=B=C=D=0;

}

void AkarPersamaanKuadrat::InputData(float Aa, float Bb, float Cc)

{

A=Aa;

B=Bb;

C=Cc;

}

void AkarPersamaanKuadrat::HitungDeterminan()

{

D = ((B*B) – (4*A*C));

}

void AkarPersamaanKuadrat::DisplayAkar()

{

//cout <<D;

if (D<0) {

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

}

else {

if (D==0) {

cout << “\nX1 = X2 = ” << -B / (2*A) << endl;

}

else {

if (D>0) {

cout << “X1 = ” << (-B + sqrt(D)) / 2*A;

cout << “\nX2 = ” <<  (-B) – sqrt(D) / 2*A;

cout << “\n”;

}

}

}

}

int main()

{

cout << “====================================\n”;

cout << “Program Class Akar Persamaan Kuadrat\n”;

cout << “====================================\n\n”;

AkarPersamaanKuadrat vAkarPersamaanKuadrat;

float x, y, z;

cout << “Input A = “;

cin >> x;

cout << “\nInput B = “;

cin >> y;

cout << “\nInput C = “;

cin >> z;

vAkarPersamaanKuadrat.InputData(x,y,z);

vAkarPersamaanKuadrat.HitungDeterminan();

vAkarPersamaanKuadrat.DisplayAkar();

system(“pause”);

}

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.

Jawaban programnya:

#include <iostream>

#include <math.h>

using namespace std;

class AkarPersamaanKuadrat

{

private:

float A,B,C;

float D;

public:

AkarPersamaanKuadrat();

void InputData(float, float, float);

void HitungDeterminan();

void DisplayAkar();

};

AkarPersamaanKuadrat::AkarPersamaanKuadrat()

{

A=1;

B=C=D=0;

}

void AkarPersamaanKuadrat::InputData(float Aa, float Bb, float Cc)

{

A=Aa;

B=Bb;

C=Cc;

}

void AkarPersamaanKuadrat::HitungDeterminan()

{

D = ((B*B) – (4*A*C));

}

void AkarPersamaanKuadrat::DisplayAkar()

{

//cout <<D;

if (D<0) {

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

}

else {

if (D==0) {

cout << “\nX1 = X2 = ” << -B / (2*A) << endl;

}

else {

if (D>0) {

cout << “X1 = ” << (-B + sqrt(D)) / 2*A;

cout << “\nX2 = ” <<  (-B) – sqrt(D) / 2*A;

cout << “\n”;

}

}

}

}

int main()

{

cout << “====================================\n”;

cout << “Program Class Akar Persamaan Kuadrat\n”;

cout << “====================================\n\n”;

AkarPersamaanKuadrat vAkarPersamaanKuadrat;

float x, y, z;

cout << “Input A = “;

cin >> x;

cout << “\nInput B = “;

cin >> y;

cout << “\nInput C = “;

cin >> z;

vAkarPersamaanKuadrat.InputData(x,y,z);

vAkarPersamaanKuadrat.HitungDeterminan();

vAkarPersamaanKuadrat.DisplayAkar();

system(“pause”);

}

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.

Jawaban programnya:

#include<iostream>

# include <math.h>

using namespace std;

class KoordinatKutub

{

private:

float radius, sudut;

long double x, y;

public:

KoordinatKutub();

void InputData(float, float);

void KonversiKutubKeRadius();

void DisplayData();

};

KoordinatKutub::KoordinatKutub()

{

radius=sudut=0;

}

void KoordinatKutub::InputData(float r, float s)

{

radius=r;

sudut=s;

}

void KoordinatKutub::KonversiKutubKeRadius()

{

x=radius * acos(sudut);

y=radius * asin(sudut);

}

void KoordinatKutub::DisplayData()

{

cout << “Koordinat Kutub (” << radius <<“,”<<sudut<<“) adalah \n”;

cout << “X= ” << x <<“\n”;

cout << “Y= ” << y <<“\n”;

}

int main()

{

cout << “=============================\n”;

cout << “Program Class Koordinat Kutub\n”;

cout << “=============================\n\n”;

KoordinatKutub vKoordinatKutub;

vKoordinatKutub.InputData(3,5.3);

vKoordinatKutub.KonversiKutubKeRadius();

vKoordinatKutub.DisplayData();

system(“pause”);

}

6. Tulis program dengan class dan constructor untuk merepresentasikan class Barang dagangan yang mempunyai data member kode, Nama, dan harga barang, sedangkan function membernya adalah input data, hitung harga jual dan tampil data.

Jawaban programnya:

#include <iostream>

#include <iomanip>

using namespace std;

class BarangDagangan

{

private:

char Kode[10], Nama[20];

int HargaBarang, Qty, HargaJual;

public:

BarangDagangan();

void InputData(char *, char *, int, int);

void HitungHargaJual();

void TampilData();

};

BarangDagangan::BarangDagangan()

{

//      Kode=””;

//      Nama=””;

HargaBarang=Qty=HargaJual=0;

}

void BarangDagangan::InputData(char *k, char *n, int h, int q)

{

strcpy(Kode,k);

strcpy(Nama,n);

HargaBarang=h;

Qty=q;

}

void BarangDagangan::HitungHargaJual()

{

HargaJual=HargaBarang*Qty;

}

void BarangDagangan::TampilData()

{

cout << “\nHarga Jual”;

cout << “\n=========================================================================”;

cout << “\n|”<<setw(10)<<“Kode |” << setw(25)<<“NAMA |”<<setw(15)<<“Harga Barang |”<<setw(7)<<“Qty |”<<setw(15)<<“Harga Jual |” << endl;;

cout << “=========================================================================\n”;

cout << “|” <<setw(8)<<Kode<<” |” <<setw(23)<<Nama<<” |”<<setw(13)<<HargaBarang<<” |”<<setw(5)<<Qty<<” |”<<setw(13)<<HargaJual<<” |”;

cout << “\n=========================================================================\n”;

}

int main()

{

cout << “=============================\n”;

cout << “Program Class Barang Dagangan\n”;

cout << “=============================\n\n”;

BarangDagangan vBarangDagangan;

char x[10], y[20];

int z, i;

cout << “Input Kode = “;

cin >> x;

cout << “\nInput Nama = “;

cin >> y;

cout << “\nInput Harga Barang = “;

cin >> z;

cout << “\nInput Quantity = “;

cin >> i;

cout << “\n”;

vBarangDagangan.InputData(x,y,z,i);

vBarangDagangan.HitungHargaJual();

vBarangDagangan.TampilData();

system(“pause”);

}

7. Buatlah class diagram dan declarasi 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.

class lingkaran

{

private:

int jari;

float phi,luas,keliling;

public:

lingkaran();

void inputjari(int);

void hitungluas();

void hitungkeliling();

void displayjari();

void displaykeliling();

void displayluas();

};

8. Buatlah class diagram untuk merepresentasikan suatu segitiga sama sisi yang mempunyai data sisi segitiga dan mempunyai operasi input sisi, hitung luas, hitung keliling dan display data. Gunakan notasi UML untuk merepresentasikan class diagram tersebut.

9. Buatlah declarasi dan definisi class segitiga pada soal di atas dengan mengunakan bahasa pemrograman C++.

class segitiga
{
private:
int sisi;
int tinggi;
int alas;
float luas, keliling;
public:
segitiga();
void inputsisi(int);
void hitungluas();
void hitungkeliling();
void displaydata();
};

Save to PDF

-jari:int

-phi:float

-luas:float

-keliling:float

lingkaran

+lingkaran()

+inputjari():int

+hitungluas()

+hitungkeliling()

+displayjari()

+displaykeliling()

+displayluas()

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: