Rangkuman Pemograman Berorientasi Obyek (PBO)

Programming Paradigma -> Menyelesaikan suatu masalah
Tujuan OOP intinya itu untuk standarilisasi dan template

x1

Perbedaan Programming

ADT (Abstract Data Type) -> salah satu cara untuk merepresentasikan dunia nyata ke dalam sistem komputer
Ex : Struct untuk Buku (Gaada aktor) & untuk Film (Ada aktor) berbeda,disesuaikan dengan objek nyata tersebut

Perbedaan Class dan Object

Perbedaan Class dan Object

Implementor -> Setter -> Untuk mengubah nilai
Aksesor -> Getter -> Untuk mengambil nilai
Ex :
void setJudul ()char* judul);
strcpy (this judul, judul);

char* getJudul(){
return Judul;
}

Enkapsulasi (Pembungkusan)-> Information Hiding -> Objek dalam Class tersebut melalui interface
– Enkapsulasi sudah dilakukan ketika sudah membuat Data Member dalam kondisi Private, dan Interface untuk mengaksesnya
– Tujuan utama untuk Information Hiding

Namespace -> Kegunaan untuk mengelompokkan terhadap Class, Object dan Fungsi pada suatu Nama
– Deklarasi namespace nama baru nama lama
Ex : using << namespaceName;

Fungsi :
– Return Type : Fungsi memiliki nilai balik
– void tidak ada return typr -> tapi bisa return;
Ex : int getNim(){
return Nim;
}

Member terbagi 2:
Data Member :
– Static = Berlaku untuk semua object, misalnya Gedung Syahdan ada 3 lantai, gedung tersebut berlaku untuk semua Mahasiswa
– Non Static = Berlaku untuk object itu sendiri, misalnya NIM 16012….. hanya berlaku untuk Mahasiswa yang masuk ditahun 2012
Member Function :
– Constructor
– Helper = Diluar Setter Getter

Access Control :
a) Private = class itu sendiri
b) Protected = class itu sendiri dan turunannya
c) Public = Akses kemana pun

Constructor -> Sutu method yang dipanggil setiap kali Object dari Class tersebut dibuat, untuk menginisialisasi nilai
– Default = Mencoba kodingan tanpa membuat Contructor
– Defined = Tidak ada parameter
Destructor -> Biasanya terjadi ketika program telah selesai
Friend Function -> Fungsi yang dapat di akses (Ex :Atribut) pada suatu Class apapun Access Modifiernya
Ex : Dosen A (Struktur Data), Dosen B (Algoritma SI) = si Dosen A bisa melihat soal si Dosen B
Undirectional = Antar Class
Not Inherited = si Dosen A hanya punya si Dosen A
Not Transitive = si Dosen A teman si Dosen B, si Dosen B teman si DOsen C, Dosen A dan Dosen C tidak memiliki hubungan pertemanan
Not Reciprocal = si Dosen A bisa akses ke Dosen B, tetapi si Dosen B tidak bisa akses ke Dosen A

Contructor tidak memiliki tipe, Ex : Student();
Destructor ada tigle didepannya, Ex : ~Student();
CopyContructor -> mengkopi dari suatu
– x(); //default
– x(const x&); //copyconstructor //supaya variabelnya berubah

Dangling Pointer -> Pointer yang tidak menunjuk kemanapun

Tipe Program Data

Tipe Program Data

Passing Parameter

Passing Parameter

Parameter :
Formal = Muncul pada saat definisi fungsi, contoh int a, int b
Actual = Saat manggil fungsi, contoh 7, 8, 9, 0

Inheritance (Pewarisan Sifat) -> mempunyai 1 Class kemudian di buat Class Turunannya
Base Class = Class Parent
Ex :
classPartime : public Person{

} // semua diturunkan kecuali Constructor, Destructor, dan Attribut2 bersifat Private
Derived Class = Class Turunannya

Misalnya : Class Parent(Base Class) diberi nama Person, kemudian Class tersebut memiliki Class Turunannya(Derived Class) yang diberi nama Dosen & Mahasiswa. Pada Class Person terdapat attribut Nama, Alamat, DOB, dan NoTelfon. Ketika membuat Class Turunannya, attribut Nama, Alamat, Dob dan NoTelfon tidak usah dibuat lagi di Class Dosen & Mahasiswa karena kita sudah membuatnya pada saat di Class Person. Sedangkan untuk membedakan Class Dosen & Mahasiswa, pada ClassDosen tambahkan attribut KodeDosen dan Peminataan, pada Class Mahasiswa tambahkan attribut NIM, Jurusan dan Semester.

x4

x5

Overloading -> Nama sama, Parameter beda
Overriding -> Parameter sama, Scope beda

Multiple Inheritance ->Satu Class punya banyak Base Class
Shared Inheritance -> Memperbolehkan boleh share dari Base Class
Replicated Inheritance -> Pewarisan sifat tidak diberikan ke Class GrandParent

Diamond Problem -> Permasalahan yang ambigu pada Object, Solusinya : Virtual & Overloading Function

Pure Polymorphism -> Pemilihan fungsi yang didalam Class Hierarki berdasarkan pada tipe “true” dari Object

Perbedaan Komposisi dan Agregasi

Perbedaan Komposisi dan Agregasi

Fungsi Virtual :
Pure Virtual Function = Tidak ada body
Ex : class MyClass {
virtual void test()=0;
}
Quasi Virtual Function = Ada body
Ex : clas MyClass {
virtual void test(){
return 0;
}
}

Polymorphism -> Suatu Object memiliki banyak bentuk
Tipe Polymorphism :
Subtype = Dijalankan ketika RunTime
Paramater = Dijalankan ketika Compile Time
Ad-Hoc = Overloading

2 thoughts on “Rangkuman Pemograman Berorientasi Obyek (PBO)

Leave a comment