Bag.3 Object Oriented Programming Pertemuan 25 Dasar Pemrograman Renni Angreni, S.Kom.
INHERITANCE Konsep atau proses dalam pembuatan suatu class baru dimana class baru diturunkan dari class induk (Base Class). Class baru ini disebut dengan class turunan (Derived Class). Misalnya : Seorang anak pasti akan mewarisi beberapa sifat atau perilaku yang dimiliki oleh bapak dan ibunya. Begitu juga dalam sebuah pemrograman, suatu class dapat diturunkan menjadi beberapa sifat atau perilaku dari kelas induknya.
MANUSIA PRIA WANITA BINATANG MAMALIA REPTIL AMPHIBI Base Class MANUSIA PRIA WANITA Class Turunan Class Turunan Base Class BINATANG MAMALIA REPTIL AMPHIBI Class Turunan Class Turunan Class Turunan
pewarisan Contoh instance/objek Gambar : Class & Objek Class MANUSIA (STATE) berat tinggi usia (BEHAVIOUR) Makan() Minum() Menua() Bekerja() Class WANITA memiliki_organ_ kelamin_wanita melahirkan() menyusui() Class PRIA kelamin_pria pewarisan maria debra ruth david rudi robert Contoh instance/objek Gambar : Class & Objek
POLYMORPHISME Polymorphism (poly = banyak, morph = berubah bentuk). Dalam OOP, konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu objek melakukan suatu aksi / tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Dalam konsep yang lebih umum, Polymorphism disebut dalam istilah satu interface, banyak aksi. contoh : Mobil, terdiri dari berbagai merk, namun semuanya memiliki interface kemudi yang sama (stir kemudi, tongkat transmisi, pedal gas dan rem). Jika anda dapat mengemudikan satu mobil saja, dapat dipastikan juga dapat mengemudi berbagai mobil.
CONTOH Lanjut … #include <iostream> #include <conio.h> #include <string> using namespace std; class MANUSIA { private: int berat; int tinggi; int usia; public: void Makan() { cout<<"Ini manusia perlu makan.."<<endl; } void Minum() { cout<<"Selain itu, manusia juga perlu minum..”; cout<<endl; Lanjut …
… lanjutan void Menua() { cout<<"Manusia juga bertumbuh hingga menua..“; cout<<endl; } void Bekerja() { cout<<"Manusia juga perlu bekerja.."<<endl; }; class Wanita : public MANUSIA { private: string jenis_kelamin_wanita; public: void Melahirkan() { cout<<"Wanita dapat melahirkan.."<<endl; void Menyusui() { cout<<"Wanita juga dapat menyusui.."<<endl;
… lanjutan class Pria : public MANUSIA { private: string jenis_kelamin_pria; }; void main() Wanita Maria; Maria.Makan(); Maria.Minum(); Maria.Menua(); Maria.Bekerja(); Maria.Melahirkan(); Maria.Menyusui(); cout<<endl; Pria David; David.Makan(); David.Minum(); David.Menua(); David.Bekerja(); _getch(); }
Fungsi Virtual Fungsi virtual digunakan untuk memanggil fungsi dari class utama pada class-class turunannya sehingga tetap dapat diakses walaupun dengan pemberian nama fungsi yang sama.
CONTOH Lanjut … #include <iostream> #include <conio.h> #include <string> using namespace std; class Karyawan { public: string nama; string alamat; string id_karyawan; virtual void Bekerja(string n, string a, string id) { nama = n; alamat = a; id_karyawan = id; } void cetak() { cout<<"ID : "<<id_karyawan<<endl; cout<<"Nama : "<<nama<<endl; cout<<"Alamat : "<<alamat<<endl; }; Lanjut …
… lanjutan class Admin : public Karyawan { public: string bidang; string shift; void Bekerja() { cout<<"SEDANG BEKERJA"<<endl; } void cetak_admin() { cout<<"Bidang : "<<bidang<<endl; cout<<"Shift : "<<shift<<endl; }; void main() Admin Renni; Renni.Bekerja(); _getch();
LATIHAN Buatlah sebuah program C++ yang berisi sebuah class bernama Karyawan, yang memiliki karakteristik/ properties yakni ID karyawan, nama, alamat, dan jenis kelamin, serta memiliki setter method Identitas, getter method Cetak, dan fungsi Bekerja untuk menampilkan status Sedang Bekerja.
Buatlah sebuah objek sembarang berdasarkan class tersebut, lalu tampilkan pada layar. Ciptakan pula dua buah class turunan dari class Karyawan yakni class Admin dan class Dosen. Untuk class Admin memiliki properties Bagian dan Shift(pagi/malam), dan untuk class Dosen memiliki properties Program Studi dan Pendidikan. Buatlah pula objek turunan untuk dua class ini dan tampilkan pada layar.
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.