Sistem Konsep Teknologi Berorientasi Objek Yang Sudah Sangat Di Percaya Banyak Orang

Posted on

Konsep Teknologi Berorientasi Objek – merupakan sebuah pengembangan sistem yang berbeda dengan yang lain karena cara memandang perangkat lunak sebagai fungsi dan data yang terjangkit.

gambar Konsep Tekhnologi Berorientasi Objek

Review Abstrak Data Type

Yang dimaksud dengan abstact data type adalah membuat tipe data baru dengan menggunakan struct.

 #include <constrea.h>

 #include <string.h>constream ctk;

struct mahasiswa {

            char nim[11];

            char nama [21];

};

void main (){

            ctk.clrscr();

            struct mahasiswa a;

            do{

                        ctk<< “masukkan NIM [10 digit] : “ ; cin >> a.nim;}while(strlen(a.nim) !=10;

            do{

            ctk<< “masukkan NAMA [max 20 digit] : “ ; cin >> a.nama;}while(strlen(a.nama) ==0 ||   strlen (a.nama)>20);

            ctk <<endl << endl ;

            ctk << “NIM : “<< a.nim << “ Nama ; “ << a.nama;

            getch();

}

fungsi diatas menggunakan passing parameter by value. Hal ini tidak bagus performancenya karena data sebesar satu struct harus copyan ke variable lainnya

– Variable Reference

Pada program dibawah ini  kita mendeklarasikan variable bernama a,kemudian kita membuat variable reference b sebagai alias/nam lain dari a

sekarang kita dapat mengakses/mengubah nilainya melalui a ataupun b.

#include <constrea.h>

void main (){

            int a;

int b = a; //variable reference, harus langsung diinisialisasi count << b;

}

Pada program diatas kita mendeklarasikan variable bernama a,kemudian kita membuat variable reference b sebagai alias / nama lain dari a. Sekarang kita dapat mengakses / mengubah nilainya melalui a ataupun b.

Untuk passing struct ke dalam fungsi dengan menggunakan variable reference akan lebih cepat karena tidak perlu mengcopy isi variable ke variable lainnya

#include <constrea.h>

#include <string.h>

constream ctk;

struct  mahasiswa {

            char nim[11];

            char nama[21];

};

void cetak (struct mahasiswa dan val ){

            ctk<< “NIM : “ << val.nim<< “ nama : “ << val.nama;

}

void main () {

            ctk.clrscr ();

            struct mahasiswa a;

            do{

            ctk << “masukkan NIM [10 digit] : “; cin >> a.nim;

            }while(strlen(a.nim)!=10);

            do{

                        ctk<< “Masukkan Nama [max 20 digit] : “; cin >> a.nama;

                        }while (strlen(a.nama) ==0| | strlen (a.nama)>20;

            cetak (a) ;

            getch () ;

}

Baca juga :

– Konsep Encapsulation

yang membedakan antara c dan c++ adalah c++ sudah dapat memenuhi criteria pemrograman berorientasi objek.

Ciri ciri dari pemrograman berorientasi objek adalah :

  1. Encapsulation

            penggabungan data dan method ke dalam suatu class

  1. Inheritance

            pewarisan sifat dari class induk kepada class anaknya

  1. Polymorphism

            objek dari sebuah class dapat memiliki implementasi yang berbeda beda

-Deklarasi class dan implementasi class

#include <constrea.h>

#include <string.h>

class person{

            Private :

                        char nama[21];

                        int umur;

            public :

                        void setnama(char *s){

                                    strcpy (nama,s);

                        }

                        void setumur(int n){

                                    umur = n;

                        }

                        char * getnama () {return nama; }

                        int getumur () {return umur;}

};

class adalah design template atau blue print. Dari suatu class dapat dibuat banyak objek/instance.

Analoginya adalah seperti ini, bayangkan jika anda seorang arsitek, sebelum membangun rumah tentunya akan merancang dulu di kertas, jumlah dan letak pintu, jendela dan semuanya itulah class .

Kemudian dari gambar rumah tersebut kita dapat membangun banyak rumah sesuai rancangan yang sudah dibuat.

Masing masing rumah jadi tersebut adalah yang disebut objek instance.

Class person yang sudah dibuat akan kita buat objeknya.

Constream ctk;

void main () {

            ctk.clrscr() ;

            //membuat objek dari class person

            person a;

            person b;

            a.setnama(“ali”);

            a.setumur(21);

            b.setnama(“adi”);

            b.setumur(20);

            //cetak nama dan umur masing masing

            ctk << a.getnama() << “” << a.getumur() << end1;

            ctk << a.getnama() << “” << a.getumur() << end1;

            getch () ;

}

dari itu kita dapat simpulakan :

  1. sebuah class terdiri dari data dan method
  2. sebuah class memiliki tipe akses, private yang hanya dapat diakses di class itu sendiri dan keturunannya
  3. jika ingin mengubah data yang bersifat private,ubahlah melalui methode yang public, sebagai contoh jika kita ingin mengubah umur maka kita harus gunakan setumur
  4. dari satu class dapat dibuat banya objek

mengapa data di privat ?

Karena agar tidak dapat diakses dari luar class

gunanya kita mebuat private adalah information hiding, pengguna dari class tidak bisa langsung mengakses data dalam suatu objek,untuk menjaga agar data selalu valid,

bayangkan jika variable umur kita buat public, bisa saja nilai umur di set dengan nilai negative(umur tidak ada yang negative

dengan melalui fungsi setumur kita bisa memberikan alternatif penanganan jika hal itu terjadi seperti contoh diatas.

Selain itu beberapa fungsi pun dapat dibuat private dimana kita ingin fungsi fungsi tersebut tidak bisa diakses oleh pengguna class,sehingga class dapat dipandang lebih sederhana,

karena hanya fungsi fungsi public saja yang ditampilkan dan tentunya class menjadi lebih mudah digunakan.

– Constuctor dan destructor

constructor otomatis dipanggil pada saat objek/instance dibuat dari suatu class.

Destructor otomatis dipanggil pada saat objek dihancurkan/dibuang dari memory.

Class person {

            private :

                        char c;

            public :

                        person () ;     //constructor

                        ~person () ; //detructor

}

person : : person () {

            cout << constructor dijalankan” << endl;

}

person : : ~person(){

            count << “destructor dijlankan” << endl ;

}

void main (){

            person a;

            person b;

}

-Member initializer

untuk menginisialisasi data member dapat menggunakan member initializer

class titik {

            private :
int x,y;

            public :

                        titik (int a, int b) x(a), y(b) {

}

void main () {

            titik p(8,7) ;

}

-overloading function

– constructor overloading

constructor dalam suatu class juga dapat di overloading.sebagaimana diketahui secara default sebuah class memiliki 2 buah constructor yaitu constructor default dan constructor copy dan 1 buah destructor.

Selain itu kita bisa menambahkan constructor lagi dengan membedakan parameternya.

Destructor tidak bisa di over loading,bentuk pemanggilan constructor  adalah dilakukan otomatis pada saat pembuatan objek.

Destructor dipanggil pada saat objek dihancurkan (di unload dari memory)

untuk pemanggilan constructor menggunakan konsep stack jadi misalkan urutan pembuatan objeknya adalah a,b,c maka destructor yang dijalankan adalah c,b,a

– constructor copy

constructor copy secara default sudah dimiliki oleh suatu class.namun developer dapat mendefinisikan sendiri constructor copy.constructor copy dijalankan pada beberapa kondisi yaitu :

  1. initialization
  2. passing parameter by value
  3. function return

kapan copy constructor harus didefinisikan ?

Sebuah class harus kita buat copy constructornya pada saat didalam class terdapat variable pointer daan mempunyai alokasi yang dinamis

– Default value

pada saat membuat constructor dengan parameter (constructor overloading), nilai nilai dari parameter tersebut dapat diberi nilai default.

-static class members

static class member adalah dimana data/function tersebut merupakan milik class bukan objeknya,jadi nilainya hanya satu yang bisa digunakan untuk semua objek dari class tersebut.

sekian ulasan mengenai Konsep Teknologi Berorientasi Objek, untuk media pembelajaran secara online kunjungi terus ayoksinau.com

Baca juga artikel di bawah :