140 likes | 258 Views
Pertemuan 25. Object Oriented Programming Bag.3. Dasar Pemrograman Renni Angreni, S.Kom . , M.Kom. INHERITANCE. Konsep atau proses dalam pembuatan suatu class baru dimana class baru diturunkan dari class induk (Base Class).
E N D
Pertemuan 25 Object Oriented Programming Bag.3 Dasar Pemrograman Renni Angreni, S.Kom., M.Kom.
INHERITANCE • Konsepatauprosesdalampembuatansuatu class barudimana class baruditurunkandari class induk (Base Class). • Class baruinidisebutdengan class turunan (Derived Class). • Misalnya : Seoranganakpastiakanmewarisibeberapasifatatauperilaku yang dimilikiolehbapakdanibunya. Begitujugadalamsebuahpemrograman, suatu class dapatditurunkanmenjadibeberapasifatatauperilakudarikelasinduknya. @RenniAngreni, M.Kom.
Base Class MANUSIA WANITA PRIA Class Turunan Class Turunan Base Class BINATANG AMPHIBI REPTIL MAMALIA Class Turunan Class Turunan Class Turunan @RenniAngreni, M.Kom.
Class MANUSIA (STATE) berat tinggi usia (BEHAVIOUR) Makan() Minum() Menua() Bekerja() pewarisan Class PRIA (STATE) memiliki_organ_ kelamin_pria (BEHAVIOUR) Class WANITA (STATE) memiliki_organ_ kelamin_wanita (BEHAVIOUR) melahirkan() menyusui() Contoh instance/objek maria debra ruth david rudi robert Gambar : Class & Objek
POLYMORPHISME • Polymorphism (poly = banyak, morph = berubahbentuk). • Dalam OOP, konsepinimemungkinkandigunakannyasuatu interface yang samauntukmemerintahsuatuobjekmelakukansuatuaksi / tindakan yang mungkinsecaraprinsipsamatetapisecaraprosesberbeda. Dalamkonsep yang lebihumum, Polymorphism disebutdalamistilahsatu interface, banyakaksi. • contoh : Mobil, terdiridariberbagaimerk, namunsemuanyamemiliki interface kemudi yang sama (stir kemudi, tongkattransmisi, pedal gas danrem). • Jikaandadapatmengemudikansatumobilsaja, dapatdipastikanjugadapatmengemudiberbagaimobil.
CONTOH #include <iostream> #include <conio.h> #include <string> using namespace std; class MANUSIA { private: intberat; inttinggi; intusia; public: void Makan() { cout<<"Ini manusia perlu makan.."<<endl; } void Minum() { cout<<"Selain itu, manusia juga perlu minum..”; cout<<endl; } Lanjut … @RenniAngreni, M.Kom.
… lanjutan void Menua() { cout<<"Manusiajugabertumbuhhinggamenua..“; cout<<endl; } void Bekerja() { cout<<"Manusiajugaperlubekerja.."<<endl; } }; class Wanita : public MANUSIA { private: string jenis_kelamin_wanita; public: void Melahirkan() { cout<<"Wanita dapat melahirkan.."<<endl; } void Menyusui() { cout<<"Wanitajugadapatmenyusui.."<<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 digunakanuntukmemanggilfungsidari class utamapada class-class turunannyasehinggatetapdapatdiakseswalaupundenganpemberiannamafungsi yang sama. @RenniAngreni, M.Kom.
CONTOH #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 • Buatlahsebuah program C++ yang berisisebuah class bernamaKaryawan, yang memilikikarakteristik/ properties yakni ID karyawan, nama, alamat, danjeniskelamin, sertamemiliki setter method Identitas, getter method Cetak, danfungsiBekerjauntukmenampilkan status SedangBekerja. @RenniAngreni, M.Kom.
Buatlahsebuahobjeksembarangberdasarkan class tersebut, lalutampilkanpadalayar. • Ciptakan pula duabuah class turunandari class Karyawanyakni class Admin dan class Dosen. Untuk class Admin memiliki properties Bagiandan Shift(pagi/malam), danuntuk class Dosenmemiliki properties Program StudidanPendidikan. Buatlah pula objekturunanuntukdua class inidantampilkanpadalayar.
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom., M.Kom.