OBJECT ORIENTED PROGRAMMINGS OOP bukanlah sebuah bahasa pemrograman melainkan sebuah cara untuk menjadikan program yang kita buat lebih modular karena suatu permasalahan akan dikumpulkan dalam suatu objek, yang selanjutnya akan disebut dengan kelas. KELAS Suatu Kelas (class) merupakan sutu metode logis untuk mengorganisasi data dan fungsi dalam struktur yang sama. Suatu Kelas tidak terlepas dari pada suatu objek. Objek merupakan penerjemahan dari subgroup-subgroup sehingga menjadi unitunit. Suatu objek di dalam C++ merupakan suatu variabel yang didefinisikan sendiri oleh pemrogram. Pada sebuah Kelas, item-item di dalamnya bisa bersifat private atau public . Secara default semua item didalam Kelas bersifat Private. a. Publik pada Kelas Public menyatakan bahwa deklarasi variabel atau item-item yang ada di dalam Kelas dapat diakses dari luar Kelas Contoh : #include
#include #include<string.h> #include class motor { public : char merk [50]; char jenis [50]; double harga; int stock; }; motor sport ; OBJECT ORIENTED PROGRAMMINGS
void main() { strcpy (sport.merk, “Honda CB1100SF X11”); strcpy (sport.jenis, “HONDA”); sport .harga = 67800000; sport.stok = 150; cout << “Merk Motor Sport : “<<sport.merk<<endl; cout<<”Jenis Motor : “<<sport.jenis<<endl; cout<<setiosflags (ios:fixed) ; cout<<” Harga Motor :“; cout<<setprecision (0)<<sport.harga<<endl; cout<<”Stock Motor : “<<sport.stok<<endl; getche (); } Output yang dihasilkan dari program diatas adalah Merk Motor Sport Jenis Motor Harga Motor Stock Motor
: : : :
Honda CB1100SF X11 Honda 67800000 150
b. Private pada Kelas Private digunakan pada Kelas untuk memproteksi anggota-anggota tertentunya agar tidak diakses dari luar kelas secara langsung Contoh : #include #include #include class motor { private : char merk [50]; char jenis [50]; OBJECT ORIENTED PROGRAMMINGS
double harga; int stock; public : void daftar (char *Merk, char *Jenis, double Harga, int Stock) { strcpy (merk, Merk) ; strcpy (jenis, Jenis) ; harga = Harga ; stok = Stock ; } void jalankan () { cout <<”Merk Motor Sport : “<<merk<<endl; cout<<”Jenis Motor : “<<jenis<<endl; cout<<setiosflags (ios:fixed) ; cout<<” Harga Motor :“; cout<<setprecision (0)<<sport.harga<<endl; cout<<”Stock Motor : “<<stok<<endl; } }; void main () ; { clrscr ( ) ; motor sport ; sport. daftar (“Honda VFR 750f”, “HONDA”, 17800000,15) ; sport.jalankan () ; getch () ; }
OBJECT ORIENTED PROGRAMMINGS
Output yang dihasilakan program diatas adalah Merk Motor Sport Jenis Motor Harga Motor Stock Motor
: : : :
Honda VFR 750f HONDA 17800000 15
Mendefinisikan Lebih Dari Satu Objek Di dalam suatu Kelas dapat didefinisikan lebih dari satu objek Contoh : #include #include Class lagu { private : char judul [45]; char band [45]; int tahun; public : void musik (char *Judul, char *Band, int Tahun) { strcpy (judul, Judul) ; strcpy (band, Bnad) ; tahun = Tahun; } void mainkan ( ) { cout<<”Judul = “<<judul<<endl; cout<<”Band = “<
OBJECT ORIENTED PROGRAMMINGS
void main ( ) { metal.musik (“Seek And Destroy”, “Metallica”, 1988); punk.musik (“Ruby Soho”, “Rancid”, 1996); clasicrock.musik (“Blind Man Cry”, “Deep Purple”, 1976); metal.mainkan ( ) ; cout<<endl; punk.mainkan ( ); cout<<endl; clasicrock.mainkan ( ); getch ( ); } Output dari program diatas adalah : Judul Band Tahun
= Seek And Destroy = Metallica = 1988
Judul Band Tahun
= Ruby Soho = Rancid = 1996
Judul Band Tahun
= Blind Man Cry = Deep Purple = 1976
OBJECT ORIENTED PROGRAMMINGS
KONSTRUKTOR ( CONSTRUCTOR) Konstruktor merupakan suatu fungsi dari anggota suatu kelas yang memiliki nama yang sama dengan nama kelas tempat fungsi itu berada. Konstruktor ini digunakan untuk mengalokasikan ruang untuk suatu objek dan untuk memberikan nilai awal. Contoh : #include #include #include<stdlib.h> class Hitung { private : int a; int b; public : inta( ) ; intb( ) ; Hitung (int mudah) ; //argumen pada constructor }; Hitung : : Hitung (int mudah) { mudah = 0 ; } int Hitung : : inta() { a = 2; return a; } int Hitung :: intb ( ) { OBJECT ORIENTED PROGRAMMINGS
b = 3; return b ; } int main ( ) { int hasil ; Hitung f (hasil) ; hasil = f. inta() + f.intb() ; cout <<”HASILNYA ADALAH : “< #include #include<stdlib.h> Class motor { private : char *dijalankan [12] ; public : OBJECT ORIENTED PROGRAMMINGS
motor ( ) constructor ~motor ( ) destruktor void ket ( ) : } ; void main ( ) { motor dijalankan ; // mendefinisikan object dijalankan.ket ( ) ; cout<<”\nMotor Berhenti………..”<<endl ; fungsi main berakhir } motor : : motor ( ) { cout<<”\nConstructor motor dijalankan …….”<<endl; *dijalankan = “Ngebutttt….”; } motor : : ~motor ( ) //destruktor dijalankan { cout<<”\nMotor tidak digunakan………”<<endl ; cout<<”Motor dinonaktifkan…….”<<endl; getch ( ) ; } void motor : : ket ( ) { cout<<”\nMotor Anda Sekarang…………”<< *dijalankan ; cout<<endl; }
OBJECT ORIENTED PROGRAMMINGS
Output program diatas adalah : Constructor Motor dijalankan…….. Motor Anda Sekarang…….. Ngebuttt….. Motor Berhenti…… Motor tidak digunakan….. Motor dinonaktifkan……
INHERITANCE Menciptakan atau menurunkan suatu kelas baru dengan menggunakan kelas yang lain sebagai dasar disebut Inheritance (pewarisan) di dalam C++. Inheritance dapat digunakan kembali untuk membangun, mengorganisasikan dan menggunakan kembali kelas-kelas. Inheritance merupakan suatu aspek atau pengarah pokok kecerdasan manusia untuk mencari, mengenali dan menciptakan hubungan antar konsep. Tanpa inheritance, kelas merupakan sebuah unit yang berdiri sendiri. Inheritance akan membentuk suatu konsep di mana jika konsep yang diatas berubah maka perubahan juga akan berlaku pada yang ada di bawahnya. Inheritance sangat mirip dengan hubungan orangtua dengan anak. Apabila suatu kelas menerima warisan, semua anggota data dan fungsi juga akan menerima warisan, walaupun tidak semuanya akan dapat diakses oleh anggota fungsi dari kelas. Penentu akases pada Inheritance ada tiga macam yaitu : a. Publik b. Private c. Protected
OBJECT ORIENTED PROGRAMMINGS
Contoh : #include #include enum KETURUNAN { Puma, Tutul, Singa, Macan }; class Predator { public : //constructors Predator ( ) : Usianya (10), Bobotnya (5) ( ) ~Predator ( ) { } //accessors int umurnya ( ) const { return usianya ;} void SetUmur (int Umur) {Usianya = Umur ;} int Beratnya ( ) const {return bobotnya ; } void SetBerat (int Berat) { Bobotnya = Berat ;} //methode lainnya void Meraung ( ) const { cout <<”Meraung……..Suara Predator!\n”;} void Tidur ( ) const { cout << “sshh…….Predator Tidur.\n” ; } protected : int Usianya ; int Bobotnya; }; class Kucing_Besar : public Predator { public : //Constructors Kucing_Besar ( ) : Keturunannya (SINGA) { } OBJECT ORIENTED PROGRAMMINGS
~Kucing_Besar ( ) { } //Accessors KETURUNAN DptKeturunan ( ) const { return Keturunannya ; } void SetKeturunan (KETURUNAN keturunan ) { Keturunannya = keturunan ; } //other methods void Melompat ( ) { cout << “Melompat……..\n” ; } void Berburu ( ) { cout << “Berburu…..mengawali untuk Makan…\n” ; } private : KETURUNAN Keturunannya ; }; int main ( ) { Kucing_Besar Sibelang ; Sibelang.Meraung ( ) ; Sibelang. Berburu ( ) ; cout << “Umur Raja Hutan adalah “ << Sibelang.Umurnya ( ) ; cout << “ Tahun Usianya \n “ ; getche ( ) ; } Output yang dihasilkan dari program diatas : Meraung…….. Suara Predator ! Berburu……. mengawali untuk Makan…… Umur Raja Hutan adalah 10 Tahun Usianya
OBJECT ORIENTED PROGRAMMINGS
KONSTRUKTOR Dan DESTRUKTOR pada Inheritance Contoh : #include #include #include<string.h> class motor { private : char nama [15] ; public : motor (char *nama_motor = “KING” ) { strcpy (nama, nama_motor ) ; cout <<”Aktifkan Mesin Motor Anda…….” ; cout <<”(Constructor aktif ) “ ; cout<<endl ; } `motor ( ) { cout<<”Hentikan Mesin Motor Anda….” ; cout<<”(Destructor Aktif) “ ; cout<< endl; } void ket_motor ( ) { cout<
public : bebek ( char *nama_ bebek) : motor (nama_bebek) { cout<<”Jalankan Motor Bebek Sport Anda…..<<endl ; } ~bebek ( ) { Cout<<”Pelankan Motor Bebek Sport Anda……<<endl; } }; void main ( ) { bebek sport (“BEBEK SPORT”) ; sport.ket_ motor ( ) ; cout<<”\nTrack terakhir………..”<<endl; getche ( ) ; } Output diatas adalah : Aktifkan Mesin Motor Anda………….(Constructor Aktif) Jalankan Motor Bebek Sport Anda….. BEBEK SPORT Sedang Ngebut….. Track terakhir……… Pelankan Motor Bebek Sport Anda…… Hentikan Mesin Motor Anda……..(Destructor Aktif)
OBJECT ORIENTED PROGRAMMINGS
OBJECT ORIENTED PROGRAMMINGS