Pemrograman Berorientasi Obyek (PBO)
Tujuan
:
a.
mempelajari konsep dasar dan teknik pembuatan program
dengan pendekatan Obyek.
b.
mempelajari penulisan obyek dalam salah satu bahasa
pemrograman berorientasi obyek menggunakan pemrograman c++
Materi :
1. Konsep
structure dalam pendekatan OOP
2. Konsep dasar pemrograman berorientasi obyek
(obyek oriented programming)
3. Pengantar
bahasa pemrograman c++
4. Oop
dengan enkapsulasi
5. Oop
dengan hubungan antar obyek client suplier
6. Pewarisan
(inheritance)
7. Polimorfisme
dan Generalitas
Konsep Dasar Pemrograman
Berorientasi Obyek
· Adalah suatu teknik
atau cara pendekatan baru dalam melihat permasalahan dari sistem (sistem
perangkat lunak, sistem informasi atau sistem yang lain).
· Pendekatan berorientasi
obyek akan memandang sistem yang akan dikembangkan sebagai suatu kumpulan obyek
yang berkorespondensi dengan obyek-obyek dunia nyata.
· Ada banyak cara untuk mengabstraksikan dan
memodelkan obyek-obyek tersebut, mulai dari abstraksi obyek, kelas, hubungan
antar kelas sampai abstraksi sistem.
· Saat mengabstraksikan
dan memodelkan obyek ini, data dan proses-proses yang dipunyai oleh obyek akan
dienkapsulasi (dibungkus) menjadi satu kesatuan.
Contoh :
Tinjau aktifitas kuliah pada suatu sistem
akademik. Dari aktifitas kuliah tersebut secara eksplisit ada 3 obyek yang
langsung dapat dikenali yaitu : Dosen yang memberikan kuliah, Mahasiswa
yang mengikuti kuliah, dan Materi kuliah yang disampaikan. Secara
implisit ada 2 obyek lain yang dapat dikenali yaitu : Jadwal kapan
kuliah akan diadakan dan Nilai yang didapat mahasiswa dari mata kuliah
yang sudah diikutinya. Abstraksi dan pemodelan untuk salah satu dari kelima
obyek tersebut, misalnya untuk obyek Dosen adalah : diabstraksikan menjadi
Kelas Dosen terdiri dari atribut : Kode Dosen, Nama Dosen dan Pendidikan, yang
mempunyai operasi : rekam, update, retrieve dll.
·
Dalam rekayasa perangkat lunak konsep pendekatan berorientasi obyek
dapat diterapkan pada tahap analisis, perancangan, pemrograman dan pengujian
perangkat lunak.
· Ada berbagai teknik ynag dapat digunakan pada
masing-masing tahap tersebut, dengan aturan dan alat bantu pemodelan tertentu.
Obyek
· Adalah abstraksi dari
sesuatu yang mewakili dunia nyata seperti : benda, manusia, satuan organisasi,
tempat, kejadian, struktur, status atau hal-hal yang bersifat abstrak.
· Suatu entitas yang
mampu menyimpan informasi (status) dan mempunyai operasi (kelakuan) yang dapat
diterapkan atau dapat berpengaruh pada status obyek.
· Dalam konteks Oop,
obyek adalah instansiasi (yang dibentuk secara seketika) dari kelas pada saat
eksekusi.
· Obyek mempunyai siklus
hidup : diciptakan, dimanipulasi, dan dihancurkan.
Kelas
· Adalah kumpulan dari
obyek-obyek dengan karakteristik yang sama.
· Adalah definis statik
dari himpunan obyek yang sama yang mungkin lahir atau diciptakan dari kelas tersebut.
· Sebuah kelas akan
mempunyai sifat (atribut) , kelakuan (operasi), hubungan (relationsip) dan
arti.
· Suatu kelas dapat
diturunkan dari kelas yang lain, dimana atribut dari kelas semula dapat
diwariskan ke kelas yang baru.
Property
Obyek
Atribut
· Nilai atau
elemen-elemen data yang dimiliki oleh obyek dalam kelas obyek.
· Merupakan ciri dari
sebuah obyek.
· Dipunyai secara
individual oleh sebuah obyek
Layanan (Service)
· Metode atau operasi
yang berfungsi untuk memanipulasi obyek itu sendiri
· Fungsi atau
transformasi yang dapat dilakukan terhadap obyek atau dilakukan oleh obyek.
· Dapat berasal dari :
model obyek, event, aktifitas atau aksi keadaan, fungsi, kelakuan dunia nyata.
Klasifikasi
Obyek
Menurut [BOO95] obyek dapat dibedakan
menjadi :
· ADT (abstract data
type) definisi dari kelas dimana komponen type menjadi atribut dan fungsi
primitif menjadi operasi/metode/layanan.
· Mesin, obyek pasif yang
punya status yang akan diaktifkan oleh obyek lain, fungsi primitigf pada mesin
merupakan mekanisme transisi yang mengubah suatu status ke status lain.
· Proses, obyek aktif
yang mempunyai urutan kendali (thread of control).
Karakteristik Program Berorientasi Obyek
Sistem Berorientasi
Obyek
· Sebuah program yang
dibangun dengan berdasarkan metode berorientasi obyek adalah sebuah sistem yang
komponennya dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi.
· Setiap komponen dalam
sistem tersebut dapat mewarisi atribut dan sifat dari komponen lainnya, dan
dapat berinteraksi satu sama lainnya.
Karekteristik atau sifat-sifat yang
dipunyai sebuah sistem berorientasi obyek adalah :
· Abstraksi,
prinsip untuk
merepresentasikan dunia nyata yang komplek menjadi satu bentuk model yang
sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan
permasalahan.
· Enkapsulasi,
pembungkusan atribut data
dan layanan (operasi-operasi) yang dipunyai obyek, untuk menyembunyikan
implementasi dari obyek sehingga obyek lain tidak mengetahui cara kerjanya.
· Pewarisan
(inheritance),
mekanisme yang memungkinkan
suatu obyek (kelas) mewarisi sebagian atau seluruh definisi dari obyek lain
sebagai bagian dari dirinya.
· Reusability,
pemanfaatan kembali obyek
yang sudah didefinisikan untuk suatu permasalahan pada permasalahan lainnya
yang melibatkan obyek tersebut.
· Generalisasi dan
spesialisasi,
menunjukan hubungan antara
kelas dan obyek yang umum dengan kelas dan obyek yang khusus.
· Komunikasi antar obyek,
dapat dilakukan lewat pesan
(message) yang dikirim dari satu obyek ke obyek lainnya.
· Polymorphism,
kemampuan suatu obyek untuk
digunakan dibanyak tujuan yang berbeda dengan nama yang sama sehingga dapat
menghemat pemakaian baris program.
Perbandingan structure dengan class
Program
01.
//program dengan structure sederhana
#include
#include
#include
#include
struct Record_Mhs
{
char
Nama[20];
char
Alamat[30];
char
Jurusan[30];
int
Usia;
char
Status;
};
void main()
{
Record_Mhs Data_Mahasiswa ;
//
inputan data
strcpy(Data_Mahasiswa.Nama,"Maulana");
strcpy(Data_Mahasiswa.Alamat,"Banjarmasin");
strcpy(Data_Mahasiswa.Jurusan,"S-1 Teknik Informatika");
Data_Mahasiswa.Usia = 19;
Data_Mahasiswa.Status = 'B';
cout
<< "\n\nNama :
" << Data_Mahasiswa.Nama;
cout
<< "\n\nAlamat : "
<< Data_Mahasiswa.Alamat;
cout
<< "\n\nJurusan : "
<< Data_Mahasiswa.Jurusan;
cout
<< "\n\nUsia : " <<
Data_Mahasiswa.Usia;
cout
<< "\n\nStatus : " << Data_Mahasiswa.Status;
getch();
}
Program
02.
//program
dengan class sederhana
#include
#include
#include
#include
class
Record_Mhs
{
public :
char Nama[20];
char Alamat[30];
char Jurusan[30];
int Usia;
char Status;
};
void
main()
{
Record_Mhs Data_Mahasiswa ;
// inputan data
strcpy(Data_Mahasiswa.Nama,"Maulana");
strcpy(Data_Mahasiswa.Alamat,"Banjarmasin");
strcpy(Data_Mahasiswa.Jurusan,"S-1
Teknik Informatika");
Data_Mahasiswa.Usia = 19;
Data_Mahasiswa.Status = 'B';
cout << "\n\nNama : " << Data_Mahasiswa.Nama;
cout << "\n\nAlamat : " <<
Data_Mahasiswa.Alamat;
cout << "\n\nJurusan : "
<< Data_Mahasiswa.Jurusan;
cout << "\n\nUsia :
" << Data_Mahasiswa.Usia;
cout << "\n\nStatus : " << Data_Mahasiswa.Status;
getch();
}
Program
03.
//=====================================================
//
program dengan structure sederhana -2
//
inputan keyboard
#include
#include
#include
#include
struct
Record_Mhs
{
char Nama[20];
char Alamat[30];
char Jurusan[30];
int Usia;
char Status;
};
void
main()
{
Record_Mhs Data_Mahasiswa ;
// inputan data
cout << "\nInputan Data
Mahasiswa";
cout << "\nNama : ";
cin >> Data_Mahasiswa.Nama;
cout << "Alamat : ";
cin >> Data_Mahasiswa.Alamat;
cout << "Jurusan : ";
cin >> Data_Mahasiswa.Jurusan;
cout << "Usia :
"; cin >> Data_Mahasiswa.Usia;
cout << "Status : ";
cin >> Data_Mahasiswa.Status;
cout << "\nData mahasiswa yang
telah diinputkan";
cout << "\nNama :
" << Data_Mahasiswa.Nama;
cout << "\nAlamat : " << Data_Mahasiswa.Alamat;
cout << "\nJurusan : " << Data_Mahasiswa.Jurusan;
cout << "\nUsia :
" << Data_Mahasiswa.Usia;
cout << "\nStatus : " << Data_Mahasiswa.Status;
getch();
}
Program
04.
//=====================================================
//
program dengan class sederhana -2
//
inputan keyboard
#include
#include
#include
#include
class
Record_Mhs
{
public:
char Nama[20];
char Alamat[30];
char Jurusan[30];
int Usia;
char Status;
};
void
main()
{
Record_Mhs Data_Mahasiswa ;
// inputan data
cout << "\nInputan Data
Mahasiswa";
cout << "\nNama : ";
cin >> Data_Mahasiswa.Nama;
cout << "Alamat : ";
cin >> Data_Mahasiswa.Alamat;
cout << "Jurusan : ";
cin >> Data_Mahasiswa.Jurusan;
cout << "Usia :
"; cin >>
Data_Mahasiswa.Usia;
cout << "Status : ";
cin >> Data_Mahasiswa.Status;
cout << "\nData mahasiswa yang
telah diinputkan";
cout << "\nNama :
" << Data_Mahasiswa.Nama;
cout << "\nAlamat : " << Data_Mahasiswa.Alamat;
cout
<< "\nJurusan : "
<< Data_Mahasiswa.Jurusan;
cout << "\nUsia :
" << Data_Mahasiswa.Usia;
cout << "\nStatus : " << Data_Mahasiswa.Status;
getch();
}
Program
05.
//
program dengan structure berbentuk array
//
memanfaatkan looping for untuk input data
#include
#include
#include
#include
struct
Record_Mhs
{
char Nama[20];
char Alamat[30];
char Jurusan[30];
int Usia;
char Status;
};
void
main()
{
Record_Mhs Data_Mahasiswa[10] ;
int i,n;
// inputan data
cout << "Berapa jumlah datanya
[maximal 10 data]: ";
cin >> n;
for(i=0;i
{
cout << "\nInputan Data
Mahasiswa ke-" << i+1;
cout << "\nNama : ";
cin >> Data_Mahasiswa[i].Nama;
cout << "Alamat : ";
cin >> Data_Mahasiswa[i].Alamat;
cout << "Jurusan : ";
cin >> Data_Mahasiswa[i].Jurusan;
cout << "Usia : ";
cin >> Data_Mahasiswa[i].Usia;
cout << "Status : ";
cin >> Data_Mahasiswa[i].Status;
}
cout << "\n\nData Kemahasiswaan
yang telah diinputkan adalah";
for(i=0;i
{
cout << "\n\nData mahasiswa
ke-" << i+1;
cout << "\nNama : " << Data_Mahasiswa[i].Nama;
cout << "\nAlamat : " << Data_Mahasiswa[i].Alamat;
cout << "\nJurusan : "
<< Data_Mahasiswa[i].Jurusan;
cout << "\nUsia : " << Data_Mahasiswa[i].Usia;
cout << "\nStatus : " << Data_Mahasiswa[i].Status;
}
getch();
}
Program
06.
//
program dengan class berbentuk array
//
memanfaatkan looping for untuk input data
#include
#include
#include
#include
class
Record_Mhs
{
public :
char Nama[20];
char Alamat[30];
char Jurusan[30];
int Usia;
char Status;
};
void
main()
{
Record_Mhs Data_Mahasiswa[10] ;
int i,n;
// inputan data
cout << "Berapa jumlah datanya
[maximal 10 data]: ";
cin >> n;
for(i=0;i
{
cout << "\nInputan Data
Mahasiswa ke-" << i+1;
cout << "\nNama : ";
cin >> Data_Mahasiswa[i].Nama;
cout << "Alamat : ";
cin >> Data_Mahasiswa[i].Alamat;
cout << "Jurusan : ";
cin >> Data_Mahasiswa[i].Jurusan;
cout << "Usia : ";
cin >> Data_Mahasiswa[i].Usia;
cout << "Status : ";
cin >> Data_Mahasiswa[i].Status;
}
cout << "\n\nData Kemahasiswaan
yang telah diinputkan adalah";
for(i=0;i
{
cout << "\n\nData mahasiswa
ke-" << i+1;
cout << "\nNama : " << Data_Mahasiswa[i].Nama;
cout << "\nAlamat : " << Data_Mahasiswa[i].Alamat;
cout << "\nJurusan : "
<< Data_Mahasiswa[i].Jurusan;
cout << "\nUsia : " << Data_Mahasiswa[i].Usia;
cout << "\nStatus : " << Data_Mahasiswa[i].Status;
}
getch();
}
Program
07.
//
program dengan class yang berisi structure berbentuk array
//
inputkan data dan tampilkan data
#include
#include
#include
#include
//
konsepsi class
class
Kelas_Data
{
public :
struct Record_Mhs
{
char
Nama[20];
char
Alamat[30];
char
Jurusan[30];
int Usia;
char
Status;
};
Record_Mhs DataMhs;
void InputDataMhs(char Var1[20],char
Var2[30],char Var3[30],int Var4,char Var5)
{
strcpy(DataMhs.Nama,Var1);
strcpy(DataMhs.Alamat,Var2);
strcpy(DataMhs.Jurusan,Var3);
DataMhs.Usia = Var4;
DataMhs.Status = Var5;
}
void CetakDataMhs()
{
cout << "\n\nNIM = " << DataMhs.Nama;
cout << "\nNama = " << DataMhs.Alamat;
cout << "\nJurusan = "
<< DataMhs.Jurusan;
cout << "\nUsia = " << DataMhs.Usia;
cout << "\nStatus = " << DataMhs.Status;
}
};
void
main()
{
// create class
Kelas_Data Data_Mahasiswa[3];
// inputan data + output data
Data_Mahasiswa[0].InputDataMhs("Abdul
Hakim","Martapura", \
"Teknik Informatika",22,'B');
Data_Mahasiswa[1].InputDataMhs("Taufan
Hakim","Banjarmasin",
\
"Teknik Informatika",24,'B');
Data_Mahasiswa[2].InputDataMhs("Guntur
Hakim","Kualakapuas", \
"Teknik Informatika",22,'B');
Data_Mahasiswa[0].CetakDataMhs();
Data_Mahasiswa[1].CetakDataMhs();
Data_Mahasiswa[2].CetakDataMhs();
getch();
}
Program
08.
//
program dengan class yang berisi structure berbentuk array
//
inputkan data dan tampilkan data
//
#include
#include
#include
#include
#include
//
konsepsi class
class
Kelas_Data
{
public :
struct Record_Mhs
{
char
Nama[20];
char
Alamat[22];
char
Jurusan[22];
char
Usia[3];
char
Status[2];
};
Record_Mhs DataMhs[3];
void InputDataMhs(char Var1[20],char
Var2[22],char Var3[22], \
char Var4[3],char Var5[2],int i)
{
strcpy(DataMhs[i].Nama, Var1);
strcpy(DataMhs[i].Alamat, Var2);
strcpy(DataMhs[i].Jurusan, Var3);
strcpy(DataMhs[i].Usia, Var4);
strcpy(DataMhs[i].Status, Var5);
}
void CetakDataMhs(int n)
{
for(int a=0;a < n; a++)
{
cout << "\n\nData
mahasiswa ke-" << a+1;
cout << "\n\nNIM = " << DataMhs[a].Nama;
cout << "\nNama = " << DataMhs[a].Alamat;
cout << "\nJurusan =
" << DataMhs[a].Jurusan;
cout << "\nUsia = " << DataMhs[a].Usia;
cout << "\nStatus = " << DataMhs[a].Status;
cout << "\n\nData sudah
tersimpan di Memory";
}
}
};
void
main()
{
// create class
Kelas_Data Data_Mahasiswa;
// inputan data + output data
Data_Mahasiswa.InputDataMhs("Abdul
Hakim","Martapura", \
"Teknik
Informatika","22","B",0);
Data_Mahasiswa.InputDataMhs("Taufan
Hakim","Banjarmasin",
\
"Teknik
Informatika","24","B",1);
Data_Mahasiswa.InputDataMhs("Guntur
Hakim","Kualakapuas", \
"Teknik
Informatika","22","B",2);
Data_Mahasiswa.CetakDataMhs(3);
getch();
}
Program
09.
//
program dengan class yang berisi structure berbentuk array
//
inputkan data dan tampilkan data
//
#include
#include
#include
#include
#include
//
konsepsi class
class
Kelas_Data
{
public :
struct Record_Mhs
{
char
Nama[20];
char
Alamat[22];
char
Jurusan[22];
char
Usia[3];
char
Status[2];
};
Record_Mhs DataMhs[10];
void InputDataMhs(char Var1[20],char
Var2[22],char Var3[22], \
char Var4[3],char
Var5[2],int i)
{
strcpy(DataMhs[i].Nama, Var1); strcpy(DataMhs[i].Alamat, Var2);
strcpy(DataMhs[i].Jurusan, Var3); strcpy(DataMhs[i].Usia, Var4);
strcpy(DataMhs[i].Status, Var5);
}
void CetakDataMhs(int Jum)
{
for(int a=0;a < Jum; a++)
{
cout << "\n\nData
mahasiswa ke-" << a+1;
cout << "\n\nNama = " << DataMhs[a].Nama;
cout << "\nAlamat = " << DataMhs[a].Alamat;
cout << "\nJurusan = "
<< DataMhs[a].Jurusan;
cout << "\nUsia = " << DataMhs[a].Usia;
cout << "\nStatus = " << DataMhs[a].Status;
}
}
};
void
main()
{
int i,n;
char vNama[20],vAlamat[22],vJur[22],
vUsia[3],vStatus[2];
// create class
Kelas_Data Data_Mahasiswa;
//inputkan jumlah data yang diproses
cout << "Inputkan Jumlah data :
"; cin >> n;
if ( (n <0) || (n > 10) ) n = 1; cout << "\n\n";
// inputan data + output data
for (i=0 ; i
{
cout << "Data Inputan
ke-" << i+1 << "\n";
cout << "Nama : "; cin >> vNama;
cout << "Alamat : "; cin >> vAlamat;
cout << "Jurusan : "; cin >> vJur;
cout << "Usia : "; cin >> vUsia;
cout << "Status : "; cin >> vStatus;
Data_Mahasiswa.InputDataMhs(vNama,vAlamat,vJur,vUsia,vStatus,i);
}
cout << "\n\nTampilkan
Data\n";
Data_Mahasiswa.CetakDataMhs(n);
getch();
}
Program
10.
// Teknik penyusunan dan penulisan class
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char Nama[50];
char MatKul[20];
int Tugas;
int UTS;
int UAS;
float
HitungNilAkhir()
{
return (0.2 *
Tugas) + (0.3 * UTS) + (UAS * 0.5);
}
char *
Predikat(float NA)
{
if (NA <
60) return "Anda GAGAL...selamat Belajar lagi";
else return
"Selamat bersantai, anda LULUS..";
}
char Nhuruf(float
NA)
{
if (NA <
40) return 'E';
else if (NA
<60) return 'D';
else if
(NA < 70) return 'C';
else
if (NA < 80) return 'B';
else return 'A';
}
};
void main()
{
float NA;
DataMHS XX;
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman
C++");
XX.Tugas=89;
XX.UTS = 100;
XX.UAS = 76;
NA =
XX.HitungNilAkhir(); // proses
pemanggilan activity HitungNilAkhir
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout
<< "XX.Tugas = " << XX.Tugas << endl;
cout
<< "XX.UTS = " << XX.UTS << endl;
cout
<< "XX.UAS = " << XX.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << XX.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << XX.Nhuruf(NA) << endl << endl;
DataMHS YY;
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY.Tugas=78;
YY.UTS = 87;
YY.UAS = 65;
NA =
YY.HitungNilAkhir();
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout
<< "YY.Tugas = " << YY.Tugas << endl;
cout
<< "YY.UAS = " << YY.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << YY.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << YY.Nhuruf(NA) << endl << endl;
DataMHS ZZ;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ.Tugas;
cout <<
"Inputkan Nilai UTS : "; cin >> ZZ.UTS ;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ.UAS ;
NA =
ZZ.HitungNilAkhir();
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout
<< "ZZ.Tugas = " << ZZ.Tugas << endl;
cout
<< "ZZ.UTS = " << ZZ.UTS << endl;
cout
<< "ZZ.UAS = " << ZZ.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << ZZ.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << ZZ.Nhuruf(NA) << endl << endl;
getch();
}
Program
11.
// Teknik penyusunan dan penulisan class
// mengeluarkan
pendefinisian fungsi
// di luar body class
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char Nama[50];
char MatKul[20];
int Tugas;
int UTS;
int UAS;
float DataMHS ::
HitungNilAkhir();
char * DataMHS ::
Predikat(float NA);
char DataMHS ::
Nhuruf(float NA);
};
float DataMHS :: HitungNilAkhir()
{
return (0.2 * Tugas)
+ (0.3 * UTS) + (UAS * 0.5);
}
char * DataMHS :: Predikat(float NA)
{
if (NA < 60)
return "Anda GAGAL...selamat Belajar lagi";
else return
"Selamat bersantai, anda LULUS..";
}
char DataMHS :: Nhuruf(float NA)
{
if (NA < 40)
return 'E';
else if (NA <60)
return 'D';
else if (NA
< 70) return 'C';
else if
(NA < 80) return 'B';
else
return 'A';
}
void main()
{
float NA;
DataMHS XX;
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman C++");
XX.Tugas=89;
XX.UTS = 100;
XX.UAS = 76;
NA =
XX.HitungNilAkhir(); // proses
pemanggilan activity HitungNilAkhir
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout
<< "XX.Tugas = " << XX.Tugas << endl;
cout
<< "XX.UTS = " << XX.UTS << endl;
cout
<< "XX.UAS = " << XX.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << XX.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << XX.Nhuruf(NA) << endl << endl;
DataMHS YY;
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY.Tugas=78;
YY.UTS = 87;
YY.UAS = 65;
NA =
YY.HitungNilAkhir();
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout
<< "YY.Tugas = " << YY.Tugas << endl;
cout
<< "YY.UAS = " << YY.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << YY.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << YY.Nhuruf(NA) << endl << endl;
DataMHS ZZ;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ.Tugas;
cout <<
"Inputkan Nilai UTS : "; cin >> ZZ.UTS ;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ.UAS ;
NA = ZZ.HitungNilAkhir();
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout
<< "ZZ.Tugas = " << ZZ.Tugas << endl;
cout
<< "ZZ.UTS = " << ZZ.UTS << endl;
cout
<< "ZZ.UAS = " << ZZ.UAS << endl ;
cout
<< "Nilai akhir = " << NA << endl;
cout <<
"Predikat = " << ZZ.Predikat(NA) << endl;
cout <<
"Nilai Huruf = " << ZZ.Nhuruf(NA) << endl << endl;
getch();
}
Program
12.
// Teknik penyusunan dan penulisan Multi-class
// membuat beberapa
class dalam 1 program
//
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char NIM[10];
char Nama[50];
char MatKul[20];
};
class DataNilaiMHS
{
public :
int Tugas;
int UTS;
int UAS;
};
void main()
{
float NA;
DataMHS XX;
DataNilaiMHS XX1;
strcpy(XX.NIM,"123456");
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman C++");
XX1.Tugas=89;
XX1.UTS = 100;
XX1.UAS = 76;
cout <<
"XX.NIM = " << XX.NIM << endl;
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout
<< "XX1.Tugas = " << XX1.Tugas << endl;
cout
<< "XX1.UTS = " << XX1.UTS << endl;
cout
<< "XX1.UAS = " << XX1.UAS << endl << endl;
DataMHS YY;
DataNilaiMHS YY1;
strcpy(YY.NIM,"445566");
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY1.Tugas=78;
YY1.UTS = 87;
YY1.UAS = 65;
cout <<
"YY.NIM = " << YY.NIM << endl;
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout
<< "YY1.Tugas = " << YY1.Tugas << endl;
cout
<< "YY1.UTS = " << YY1.UTS << endl;
cout
<< "YY1.UAS = " << YY1.UAS << endl<< endl ;
DataMHS ZZ;
DataNilaiMHS ZZ1;
cout <<
"Inputkan NIM : " ; cin >> ZZ.NIM;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ1.Tugas;
cout <<
"Inputkan Nilai UTS : "; cin >> ZZ1.UTS ;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ1.UAS ;
cout <<
"ZZ.NIM = " << ZZ.NIM << endl;
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout
<< "ZZ.Tugas = " << ZZ1.Tugas << endl;
cout
<< "ZZ.UTS = " << ZZ1.UTS << endl;
cout
<< "ZZ.UAS = " << ZZ1.UAS << endl << endl;
getch();
}
Program
13.
// ----------------------------------------
// Teknik penyusunan dan penulisan Multi-Class
// dengan teknik
Inheritance
// membuat sebuah
class dengan sebuah anak/turunan
//
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char NIM[10];
char Nama[50];
char MatKul[20];
};
class DataNilaiMHS : public DataMHS
{
public :
int Tugas;
int UTS;
int UAS;
};
void main()
{
float NA;
DataMHS XX;
DataNilaiMHS XX1;
strcpy(XX.NIM,"123456");
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman C++");
XX1.Tugas=89;
XX1.UTS = 100;
XX1.UAS = 76;
cout <<
"XX.NIM = " << XX.NIM << endl;
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout
<< "XX1.Tugas = " << XX1.Tugas << endl;
cout
<< "XX1.UTS = " << XX1.UTS << endl;
cout
<< "XX1.UAS = " << XX1.UAS << endl << endl;
DataMHS YY;
DataNilaiMHS YY1;
strcpy(YY.NIM,"445566");
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY1.Tugas=78;
YY1.UTS = 87;
YY1.UAS = 65;
cout <<
"YY.NIM = " << YY.NIM << endl;
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout
<< "YY1.Tugas = " << YY1.Tugas << endl;
cout
<< "YY1.UTS = " << YY1.UTS << endl;
cout
<< "YY1.UAS = " << YY1.UAS << endl<< endl ;
DataMHS ZZ;
DataNilaiMHS ZZ1;
cout <<
"Inputkan NIM : " ; cin >> ZZ.NIM;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ1.Tugas;
cout << "Inputkan
Nilai UTS : "; cin >>
ZZ1.UTS ;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ1.UAS ;
cout <<
"ZZ.NIM = " << ZZ.NIM << endl;
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout
<< "ZZ.Tugas = " << ZZ1.Tugas << endl;
cout
<< "ZZ.UTS = " << ZZ1.UTS << endl;
cout
<< "ZZ.UAS = " << ZZ1.UAS << endl << endl;
getch();
}
Program
14.
//------------------------------------------------------
// Teknik penyusunan dan penulisan Multi-Class
// dengan teknik
Inheritance
// membuat sebuah
class dengan sebuah anak/turunan
//
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char NIM[10];
char Nama[50];
char MatKul[20];
};
class DataNilaiMHS : public DataMHS
{
public :
int Tugas;
int UTS;
int UAS;
};
void main()
{
float NA;
DataNilaiMHS XX;
strcpy(XX.NIM,"123456");
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman C++");
XX.Tugas=89;
XX.UTS = 100;
XX.UAS = 76;
cout <<
"XX.NIM = " << XX.NIM << endl;
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout <<
"XX.Tugas = " << XX.Tugas << endl;
cout <<
"XX.UTS = " << XX.UTS << endl;
cout <<
"XX.UAS = " << XX.UAS << endl << endl;
DataNilaiMHS YY;
strcpy(YY.NIM,"445566");
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY.Tugas=78;
YY.UTS = 87;
YY.UAS = 65;
cout << "YY.NIM = " <<
YY.NIM << endl;
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout <<
"YY.Tugas = " << YY.Tugas << endl;
cout <<
"YY.UTS = " << YY.UTS << endl;
cout <<
"YY.UAS = " << YY.UAS << endl<< endl ;
DataNilaiMHS ZZ;
cout <<
"Inputkan NIM : " ; cin >> ZZ.NIM;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ.Tugas;
cout << "Inputkan
Nilai UTS : "; cin >> ZZ.UTS
;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ.UAS ;
cout <<
"ZZ.NIM = " << ZZ.NIM << endl;
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout <<
"ZZ.Tugas = " << ZZ.Tugas << endl;
cout <<
"ZZ.UTS = " << ZZ.UTS << endl;
cout <<
"ZZ.UAS = " << ZZ.UAS << endl << endl;
getch();
}
Program
15.
//====================================
// Teknik penyusunan dan penulisan Multi-Class
// dengan teknik Inheritance
// membuat sebuah
class dengan beberapa anak/turunan
//
#include
// dapat dituliskan sbg
//
conio.h dan iostream.h
#include
class DataMHS
{
public :
char NIM[10];
char Nama[50];
char MatKul[20];
};
class DataNilaiMHS : public DataMHS
{
public :
int Tugas;
int UTS;
int UAS;
};
class DataAlamatMHS : public DataMHS
{
public :
char Jalan[50];
char Kota[25];
};
void main()
{
float NA;
DataNilaiMHS XX;
DataAlamatMHS XX1;
strcpy(XX.NIM,"123456");
strcpy(XX.Nama,"Ronaldo");
strcpy(XX.MatKul,"Pemrograman C++");
XX.Tugas=89;
XX.UTS = 100;
XX.UAS = 76;
strcpy(XX1.Jalan,"Jl. Sultan Adam 234");
strcpy(XX1.Kota,"Banjarmasin");
cout <<
"XX.NIM = " << XX.NIM << endl;
cout <<
"XX.Nama = " << XX.Nama << endl;
cout <<
"XX.Mata Kuliah = " << XX.MatKul << endl;
cout
<< "XX.Tugas = " << XX.Tugas << endl;
cout
<< "XX.UTS = " << XX.UTS << endl;
cout
<< "XX.UAS = " << XX.UAS << endl ;
cout
<< "XX1.Jalan = " << XX1.Jalan << endl ;
cout <<
"XX1.Kota = " << XX1.Kota << endl << endl;
DataNilaiMHS YY;
DataAlamatMHS YY1;
strcpy(YY.NIM,"445566");
strcpy(YY.Nama,"Lionel Messi");
strcpy(YY.MatKul,"Logika Algoritma");
YY.Tugas=78;
YY.UTS = 87;
YY.UAS = 65;
strcpy(YY1.Jalan,"Jl. P.Hidayatullah 987");
strcpy(YY1.Kota,"Banjarmasin");
cout <<
"YY.NIM = " << YY.NIM << endl;
cout <<
"YY.Nama = " << YY.Nama << endl;
cout <<
"YY.Mata Kuliah = " << YY.MatKul << endl;
cout <<
"YY.Tugas = " << YY.Tugas << endl;
cout
<< "YY.UTS = " << YY.UTS << endl;
cout
<< "YY.UAS = " << YY.UAS << endl ;
cout
<< "YY1.Jalan = " << YY1.Jalan << endl ;
cout <<
"YY1.Kota = " << YY1.Kota << endl << endl;
DataNilaiMHS ZZ;
DataAlamatMHS ZZ1;
cout <<
"Inputkan NIM : " ; cin >> ZZ.NIM;
cout <<
"Inputkan Nama : " ; cin >> ZZ.Nama;
cout <<
"Inputkan Matakuliah : "; cin >> ZZ.MatKul;
cout
<< "Inputkan Nilai Tugas : "; cin >> ZZ.Tugas;
cout <<
"Inputkan Nilai UTS : "; cin >> ZZ.UTS ;
cout <<
"Inputkan Nilai UAS : "; cin >> ZZ.UAS ;
cout <<
"Inputkan Alamat Jalan : "; cin >> ZZ1.Jalan ;
cout <<
"Inputkan Kota : "; cin >>
ZZ1.Kota;
cout <<
"ZZ.NIM = " << ZZ.NIM << endl;
cout <<
"ZZ.Nama = " << ZZ.Nama << endl;
cout <<
"ZZ.Mata Kuliah = " << ZZ.MatKul << endl;
cout
<< "ZZ.Tugas = " << ZZ.Tugas << endl;
cout
<< "ZZ.UTS = " << ZZ.UTS << endl;
cout
<< "ZZ.UAS = " << ZZ.UAS << endl ;
cout
<< "ZZ1.Jalan = " << ZZ1.Jalan << endl ;
cout <<
"ZZ1.Kota = " << ZZ1.Kota << endl << endl;
getch();
Tidak ada komentar:
Posting Komentar