• Tidak ada hasil yang ditemukan

OBJECT ORIENTED PROGRAMMING

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 unit-unit. 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<conio.h> #include<iostream.h> #include<string.h> #include<iomanip.h> class motor { public : char merk [50]; char jenis [50]; double harga; int stock; }; motor sport ; 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 (); }

50

Output yang dihasilkan dari program diatas adalah Merk Motor Sport : Honda CB1100SF X11 Jenis Motor : Honda

Harga Motor : 67800000 Stock Motor : 150 b. Private pada Kelas

Private digunakan pada Kelas untuk memproteksi anggota-anggota tertentunya agar tidak diakses dari luar kelas secara langsung

Contoh : #include<conio.h> #include<iostream.h> #include<iomanip.h> class motor { private : char merk [50]; char jenis [50]; 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 () ; }

51

Output yang dihasilakan program diatas adalah Merk Motor Sport : Honda VFR 750f Jenis Motor : HONDA

Harga Motor : 17800000 Stock Motor : 15

c. Mendefinisikan Lebih Dari Satu Objek

Di dalam suatu Kelas dapat didefinisikan lebih dari satu objek. Contoh : #include<conio.h> #include<iostream.h> 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 =<<band<<endl;

cout<<”Tahun =<<tahun<<endl;

};

Lagu metal, punk , clasicrock;

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 = Seek And Destroy Band = Metallica

52

Tahun = 1988 Judul = Ruby Soho Band = Rancid Tahun = 1996

Judul = Blind Man Cry Band = Deep Purple Tahun = 1976

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<iostream.h> #include<conio.h> #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 ( ) { b = 3 ; return b ; } int main ( ) { int hasil ; Hitung f (hasil) ;

hasil = f. inta() + f.intb() ;

cout <<”HASILNYA ADALAH :<<hasil;

53

return 0; }

Output program diatas adalah : HASILNYA ADALAH : 5 DESTRUKTOR

Destruktor merupakan suatu fungsi anggota yang dijalankan secara otomatis manakala sutu objek akan terbebas dari memori karena lingkup keberadaannya telah menyelsaikan tugasnya.

Destruktor harus mempunyai nama yang sama dengan kelas dan diawali karakter ~ (tilde) atau karakter tak berhingga.

Contoh : #include<iostream.h> #include<conio.h> #include<stdlib.h> Class motor { private : char *dijalankan [12] ; public : 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; }

54

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 : Publik, Private, dan Protected. Contoh :

#include <iostream.h> #include <conio.h>

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; } ;

55 {

public :

//Constructors

Kucing_Besar ( ) : Keturunannya (SINGA) { }

~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

KONSTRUKTOR Dan DESTRUKTOR pada Inheritance Contoh : #include<iostream.h> #include<conio.h> #include<string.h> class motor { private : char nama [15] ; public :

motor (char *nama_motor = “KING” )

{

strcpy (nama, nama_motor ) ;

cout <<”Aktifkan Mesin Motor Anda…….;

56

cout<<endl ;

}

`motor ( )

{

cout<<”Hentikan Mesin Motor Anda….;

cout<<(Destructor Aktif);

cout<< endl;

}

void ket_motor ( )

{

cout<<nama<< “Sedang Ngebut……”<<endl;

} } ;

class bebek : public motor

{

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……

57

Dokumen terkait