Anda di halaman 1dari 6

1401164882 Nanda Ayu Wiyanti

Soal & Jawaban Algoritma dan MOOP Pertemuan 23-24


1. Diberikan penggalan program sebagai berikut:
#include <constrea.h> class Induk{ public: virtual int P(int x){return(x*x);} int Q(int x, int y){return(y*P(x));} }; class Anak : public Induk{ public: int P(int x){return(x*x*x);} int Q(int x){return(10*P(x));} };

Ditanyakan: a.) apa output dari main program berikut:

void main(){ Induk A; cout << nilai Q(2,5) = << A.Q(2,5) << endl; } Jawaban :

b.) apa output dari main program berikut:

void main(){ Induk *B; B=new Anak; cout << nilai Q(2,5) = << B->Q(2,5) << endl; } Jawaban :

BINA NUSANTARA

1401164882 Nanda Ayu Wiyanti

c.) apa output dari main program berikut:


void main(){ Anak C; cout << nilai Q(5) = << C.Q(5) << endl; }

Jawaban

BINA NUSANTARA

1401164882 Nanda Ayu Wiyanti


2. Buatlah bagian program dengan ketentuan berikut. 3 (Tiga) class yang memiliki informasi sebagai berikut: Class Shape, sifatnya abstract memiliki 1 public function: double luas(); Class Circle, derived dari Shape secara public, memiliki 1 member private: float radius; 1 function public: double luas() yang berisi rumus luas lingkaran; dan 1 contructor dengan 1 parameter yang langsung memberi isi pada radius. (Rumus luas lingkaran: luas = pi*r*r) Class Triangle, derived dari Shape secara public, memiliki 2 member private: float alas dan tinggi; 1 function public: double luas() yang berisi rumus luas segitiga yaitu 0.5*alas*tinggi, dan 1 constructor dengan 2 parameter yang memberi nilai awal alas dan tinggi. Apabila ditambah potongan program berikut:
void main(){ Circle MyCircle(7); Cout<<Luas MyCircle = <<MyCircle.luas(); Triangle MyTriangle(10, 5); Cout<<\nLuas MyTriangle = <<MyTriangle.luas(); Shape *ptr; ptr = &MyCircle; Cout<<\nLuas Pointer Shape = << ptr->luas(); }

Akan menghasilkan tampilan: Luas MyCircle = 154 Luas MyTriangle = 25 Luas Pointer Shape = 154 Jawaban :
#include <iostream> using namespace std; class shape { public: virtual double luas()=0; }; class circle : public shape { private: float radius; public: circle(float r){radius=r;} double luas() {return ((22 * radius *radius)/7);} }; class triangle : public shape { private: float alas,tinggi; public: triangle(float a,float t) {alas=a; tinggi=t;} double luas() {return (0.5 * alas * tinggi); } }; int main()

BINA NUSANTARA

1401164882 Nanda Ayu Wiyanti


{ circle MyCircle(7); cout<<"Luas MyCircle = "<<MyCircle.luas(); triangle MyTriangle(10, 5); cout<<"\nLuas MyTriangle = "<<MyTriangle.luas(); shape *ptr; ptr = &MyCircle; cout<<"\nLuas Pointer Shape = "<< ptr->luas()<<endl; system("pause"); }

BINA NUSANTARA

1401164882 Nanda Ayu Wiyanti


3. Dengan menggunakan kelas inheritance dan polymorphism, buatlah class declaration dan function definition dari kelas hierarky (hierarchy class) di bawah: (petunjuk: gunakan virtual method untuk polymorphism).

Figure
double Luas(); double Keliling();

Lingkaran
double radius double Luas(); double Keliling(); Jawaban :
#include <iostream> #include <math.h> using namespace std; class figure { public: virtual void inputData()=0; virtual double luas()=0; virtual double keliling()=0; };

BujurSan gkar double panjang_sisi


double Luas(); double Keliling();

Segitiga
double panjang_sisi double Luas(); double Keliling();

class lingkaran : public figure { private: double radius; public: void inputData(){cout << "\nMasukkan radius lingkaran : "; cin >> radius;} double luas() {return (3.14 * radius * radius);} double keliling() {return (2 * 3.14 * radius);} }; class bujursangkar : public figure { private: double panjangsisi; public: void inputData(){cout << "\nMasukkan Panjang sisi bujursangkar : "; cin >> panjangsisi;} double luas() {return (panjangsisi * panjangsisi);} double keliling() {return (2 *(panjangsisi + panjangsisi));} };

BINA NUSANTARA

1401164882 Nanda Ayu Wiyanti


class segitiga : public figure { private: double panjangsisi; public: void inputData(){cout << "\nMasukkan Panjang sisi segitiga : "; cin >> panjangsisi;} double luas() {return ((panjangsisi * panjangsisi * sqrt(3))/4);} double keliling() {return (3 * panjangsisi);} }; int main() { figure *f[3]={new lingkaran,new bujursangkar,new segitiga}; for (int i=0;i<3;i++) { f[i]->inputData(); cout<<"Luas : "<<f[i]->luas()<<endl; cout<<"Keliling : "<<f[i]->keliling()<<endl<<endl; } system("pause"); }

BINA NUSANTARA

Anda mungkin juga menyukai

  • Tugas 15
    Tugas 15
    Dokumen4 halaman
    Tugas 15
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Quiz 10
    Quiz 10
    Dokumen2 halaman
    Quiz 10
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • TM Ofc 9
    TM Ofc 9
    Dokumen5 halaman
    TM Ofc 9
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • AMOOP: Pertemuan 25-26 - Generic Data Type
    AMOOP: Pertemuan 25-26 - Generic Data Type
    Dokumen8 halaman
    AMOOP: Pertemuan 25-26 - Generic Data Type
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 18
    Tugas 18
    Dokumen5 halaman
    Tugas 18
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Pert 21 - 1401164882
    Pert 21 - 1401164882
    Dokumen2 halaman
    Pert 21 - 1401164882
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 17
    Tugas 17
    Dokumen5 halaman
    Tugas 17
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 16
    Tugas 16
    Dokumen3 halaman
    Tugas 16
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Pert 22
    Pert 22
    Dokumen6 halaman
    Pert 22
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 7
    Tugas 7
    Dokumen6 halaman
    Tugas 7
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Ofc11 - 1401164882
    Ofc11 - 1401164882
    Dokumen4 halaman
    Ofc11 - 1401164882
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Pert.22 - T045423789
    Pert.22 - T045423789
    Dokumen2 halaman
    Pert.22 - T045423789
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Insertion Sort (Putaran 1)
    Insertion Sort (Putaran 1)
    Dokumen9 halaman
    Insertion Sort (Putaran 1)
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 12
    Tugas 12
    Dokumen4 halaman
    Tugas 12
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 8
    Tugas 8
    Dokumen3 halaman
    Tugas 8
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Quiz 6
    Quiz 6
    Dokumen1 halaman
    Quiz 6
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 9
    Tugas 9
    Dokumen5 halaman
    Tugas 9
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 2
    Tugas 2
    Dokumen2 halaman
    Tugas 2
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Qioz 5
    Qioz 5
    Dokumen2 halaman
    Qioz 5
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 6
    Tugas 6
    Dokumen4 halaman
    Tugas 6
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • TM Ofc 4
    TM Ofc 4
    Dokumen4 halaman
    TM Ofc 4
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Quiz 5
    Quiz 5
    Dokumen2 halaman
    Quiz 5
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 3
    Tugas 3
    Dokumen3 halaman
    Tugas 3
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 5
    Tugas 5
    Dokumen3 halaman
    Tugas 5
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Kel 1 - Algoritma Pemograman - POP Dan OOP
    Kel 1 - Algoritma Pemograman - POP Dan OOP
    Dokumen19 halaman
    Kel 1 - Algoritma Pemograman - POP Dan OOP
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Tugas 4
    Tugas 4
    Dokumen6 halaman
    Tugas 4
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • AMOOP: Pertemuan 1 - Pengertian Algoritma Pemrograman
    AMOOP: Pertemuan 1 - Pengertian Algoritma Pemrograman
    Dokumen2 halaman
    AMOOP: Pertemuan 1 - Pengertian Algoritma Pemrograman
    Nanda Ayu Wiyanti
    Belum ada peringkat
  • Kalender Perkuliahan Semester Genap 2010-2011 Binus University
    Kalender Perkuliahan Semester Genap 2010-2011 Binus University
    Dokumen1 halaman
    Kalender Perkuliahan Semester Genap 2010-2011 Binus University
    Nanda Ayu Wiyanti
    Belum ada peringkat