Programming Paradigma -> Menyelesaikan suatu masalah
Tujuan OOP intinya itu untuk standarilisasi dan template
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
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
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.
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
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
udah lewat pelajarin ini.
sekarang lagi skripsi. *doainBiarLulusDapetA+
wihhh amin, semoga lulus dapet A+ ya kakkk