Breaking News
Loading...
Senin, 27 Mei 2013

Pemrograman Berorientasi Objeck pada c++

Dalam kehidupan sehari-hari terdapat banyak contoh hubungan (relationship) seperti hubungan ayah anak, ibu-anak atau kakak-adik. Demikian juga dalam aplikasi perangkat lunak, kelas-kelas dan objekobjek terhubung satu sama lain. Kelas-kelas dan objek-objek saling memberi aksi dan reaksi. Menggambarkan dinamika kelas dan objek dalam suatu program aplikasi membuat program tersebut semakin mendekati apa yang terjadi di dunia nyata.
Bentuk seperti ini disebut hubungan kelas-kelas.
Jenis –jenis hubungan yang bisa diidentifikasi adalah
  Inheritance
Seseorang atau sesuatu mewarisi sejumlah atribut dari orang atau benda lain. Contoh:  Seorang anak mewarisi rambut hitam tebal dari ayahnya dan hidung mancung ibunya.  
 Composition
Sesuatu terdiri dari benda lain. Contoh : mobil terdiri dari ban, mesin, setir, pintu dan lain lain.
Utilization
Suatu benda menggunakan benda lain. Contoh : supir mengendarai mobil, mahasiswa menggunakan pensil gambar.
  Instantiation
Hubungan antara suatu kelas dengan perwujudannya (instance). Contoh : D 1234 AB adalah sebuah mobil, "Supernova" adalah sebuah buku.
Berikut merupakan salah satu penerapan dari konsep inheritance, yang digambarkan dengan mengunakan program perhitungan luas bangun datar.




Pemrograman Berorientasi Objek pada c++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*modul oop
Nama : Ketut Agus Seputra
NRP  : 49013018
==========================*/
#include <iostream>//header input output stream
using namespace std;//standard input-ouput
class luas_bangun_datar//class induk luas_bangun datar
{
public://deklarasi variabel publik
       float luas;//variabel penampung hasil perhitungan
        void cetak_luasbangun();/*prototipe fungsi cetak hasil perhitungan luas*/
        float hitung_luasbangun();/*prototipe fungsi perhitungan luas*/
        void set_isi();/*prototipe fungsi menerima masukan variabel dari pengguna*/
};
void luas_bangun_datar::cetak_luasbangun()/*fungsi penampilan
cetak hasil perhitungan*/
{
       cout<<"Luas Bangun adalah = "<<luas<<endl;
}

class segitiga:public luas_bangun_datar/*class segitiga
meurunkan sifat class luas_bangun_datar secara public*/
{
private:/*deklarasi variabel privat yang hanya
       dimiliki oleh class segitiga*/
       float alas;
       float tinggi;
public:
       void segitiga::set_isi()/*fungsi set isi
              yang ditunkan dari class luas_bangun_datar*/
       {
              cout<<"Perhitungan Luas Segitiga \n";
              cout<<"Alas = ";
              cin>>alas;
              cout<<"TInggi = ";
              cin>>tinggi;
       }
       float segitiga::hitung_luasbangun()/*fungsi perhitungan
              luas bangun datar yang diturunkan dari class luas_bangun_datar*/
       {
              luas=0.5*alas*tinggi;
              return luas;//mengembalikan hasil perhitungan luas
       }
};
class lingkaran:public luas_bangun_datar/*class lingkaran
meurunkan sifat class luas_bangun_datar secara public*/
{
private:/*deklarasi variabel privat yang hanya
       dimiliki oleh class lingkaran*/
       float pi;
       float r;
public:
       void lingkaran::set_isi()/*fungsi set isi
              yang ditunkan dari class luas_bangun_datar*/
       {
              cout<<"Perhitungan Luas Lingkaran \n";
              cout<<"Jari-jari : ";
              cin>>r;
       }
       float lingkaran::hitung_luasbangun()/*fungsi perhitungan
              luas bangun datar yang diturunkan dari class luas_bangun_datar*/
       {
              pi=3.14;
              luas=pi*r*r;
              return luas;//mengembalikan hasil perhitungan luas
       }
};
int main()//fungsi utama yang menjalankan program
{
       int pil;/*deklarasi variabel pil
       untuk menerima masukan pilihan menu dari pengguna*/
       cout<<"Nama: Ketut Agus Seputra\n";
       cout<<"NRP : 49013018\n";
       cout<<"---------------------------\n";
       cout<<"Masukkan pilihan perhitungan Luas Bangun Datar:\n";
       cout<<"1. Segitiga\n";
       cout<<"2. Lingkaran\n";
       cout<<"==================================\n";
       cin>>pil;//menerima masukan menu
       switch (pil)//mengeksekusi pilihan
       {
       case 1://pilihan pengguna 1
              {
                     segitiga s;/*pembentukan object s
                     untuk memanggil class segitiga*/
                     s.set_isi();/*pemanggilan
                     fungsi set isi pada class segitiga*/
                     s.hitung_luasbangun();/*pemanggilan
                     fungsi perhitungan luas*/
                     s.cetak_luasbangun();/*pemanggilan
                     fungsi cetak luas pada class segitiga*/
                     break;
              }
       case 2:
              {
                     lingkaran l;/*pembentukan object s
                     untuk memanggil class lingkaran*/
                     l.set_isi();/*pemanggilan
                     fungsi set isi pada class lingkaran*/
                     l.hitung_luasbangun();/*pemanggilan
                     fungsi perhitungan luas*/
                     l.cetak_luasbangun();/*pemanggilan
                     fungsi cetak luas pada class lingkaran*/
                     break;
              }
       default:
              cout<<"Pilihan Tidak Terdeia.";
              break;
       }
       system("pause");
       return 0;
}

0 komentar:

Posting Komentar

 
Toggle Footer