Upload
dian-furnomo
View
148
Download
27
Embed Size (px)
DESCRIPTION
ppt PBO
Citation preview
KONSEP DASAR PBO
MATERIKONSEP DASAR PBOPEWARISANPOLIMORFISME RELASI KELAS OPERATOR OVERLOADING
KONSEP DASAR PBOModel ObjekPewarisan Polimorfisme
MODEL OBJEK PBOObject, Attributes, Methods, MessagesEncapsulationClass & Instance
Object = Attributes + MethodsmessagemessagemessagemessageattributesmethodmethodmethodmethodMODEL OBJEK PBO
MODEL OBJEK PBOPemrograman Berorientasi Objek (PBO) Melakukan pembungkusan data (attributes) dan fungsi (behavior) ke paket yang disebut kelas
MODEL OBJEK PBOAttributes : data yang menggambarkan status internal sebuah objekmember variables in C++Tidak dapatt diakses dari luar EncapsulationDisebut juga sebagai state.Methods : fungsi yang mengakses status internal sebuah objekmember functions in C++Dapat diakses dari luaarmemanipulasi attributesDisebut juga behavior.
CONTOH - 1 WarnaBeratJ Kelaminmenggonggongberlariberbaring
CONTOH - 2MengeremUbah gir- gir- kecepatan- putaranUbahputaran
Ubah girmengeremUbahputaranUserUser harus menggunakan method untuk memanipulasi objek.User tidak boleh mengakses attributes secara langsung.Akses ke attributes dilakukan oleh method.Method dapat menjaga konsistensi attributes.OKOKNO!OKENKAPSULASI- gir- kecepatan- putaran
IMPLEMENTASI DENGAN C++Kelas (Class)Objek ModelAttributes (data members) Behaviors (member functions)Didefinisikan dengan keyword classMember functionsMethodsDipanggil sebagai response terhadap pesan
IMPLEMENTASI DENGAN C++class Sepeda { }; Sepeda
IMPLEMENTASI DENGAN C++Mode AksesprivateDefault mode aksesDapat diakses oleh member functionspublic Dapat diakses oleh setiap Accessible fungsi dalam program protected Pewarisan
IMPLEMENTASI DENGAN C++class Sepeda { }; MengeremUbah girUbahputaranvoid mengubahPutaran(int);void mengubahGir(int); void mengerem(); public:Sepeda
IMPLEMENTASI DENGAN C++class Sepeda { }; MengeremUbah girUbahputaranvoid mengubahPutaran(int);void mengubahGir(int); void mengerem(); public:private:- gir- kecepatan- putaranint gir;int kecepatan; int putaran; Sepeda
IMPLEMENTASI DENGAN C++class Sepeda { }; MengeremUbah girUbahputaranvoid mengubahPutaran(int);void mengubahGir(int); void mengerem(); public:private:- gir- kecepatan- putaranint gir;int kecepatan; int putaran; SepedaSepeda (int); //konstruktor
IMPLEMENTASI DENGAN C++Fungsi Constructormember function khususmenginisialisasi data membersMemiliki nama yang sama dengan nama kelasDipanggil saat membuat objek dari kelas. Tidak memiliki tipe balikan
IMPLEMENTASI DENGAN C++Member functions didefinisikan di luar kelasBinary scope resolution operator (::)mengikat nama fungsi ke nama kelasMengindentifikasi fungsi dari suatu kelas tertentuFormatNilaiBalikan NamaKelas::NamaFungsi( ){}
IMPLEMENTASI DENGAN C++Member functions didefinisikan di dalam kelasTidak membutuhkan scope resolution operator dan nama kelas
IMPLEMENTASI DENGAN C++Sepeda::Sepeda() { gir = kecepatan = putaran = 0; } // constructor void Sepeda::mengubahPutaran(int p) { putaran = p; } // mengubahPutaran void Sepeda::mengubahGir(int g) { gir = g;} // mengubahGir
ClassInstance-Blueprint sebuah objek-tidak ada alokasi memori (hanya deklarasi)-Objek aktual yang dibuat -membutuhkan ruang memori untuk atribut dan fungsiInstantiateKELAS DAN INSTANCEMengeremUbah girUbahputaran- gir- kecepatan- putaranMengeremUbah girUbahputaran- gir = 2 - kecepatan = 10 [mph]- putaran = 40 [rpm]
sepeda1- putaran = 60 [rpm]- gir = 3Instance objek yang berbeda dapat memiliki nilai atribut yang berbeda - kecepatan = 4 [mph]- putaran = 12 [rpm]- gir = 1- kecepatan = 35 [mph]- putaran = 80 [rpm]- gir = 5sepeda2sepeda3- kecepatan = 10 [mph]kelas SepedaKELAS DAN INSTANCE
IMPLEMENTASI DENGAN C++int main(){ Sepeda sepeda1(10,60,3), sepeda2(4,12,1), sepeda3(35,80,5); // instantiasi objek kelas Sepeda sepeda1.tampilInfo(); sepeda2.tampilInfo(); sepeda3.tampilInfo(); //s.mengubahGir(2); //s.tampilInfo(); getch(); return 0; } // end main
IMPLEMENTASI DENGAN C++class PersegiPanjang { }; PersegiPanjang
IMPLEMENTASI DENGAN C++class PersegiPanjang { }; Ubah panjangUbahlebarvoid ubahpanjan(int);void ubahlebar(int);public:private:- panjang- lebarInt panjang;Int lebar; PersegiPanjang
IMPLEMENTASI DENGAN C++class PersegiPanjang { }; Ubah panjangUbahlebarvoid UbahPanjang(int);void UbahLebar(int);public:private:- panjang- lebarInt panjang;Int lebar; PersegiPanjangPersegipanjang (int,int);//constructor
IMPLEMENTASI DENGAN C++PersegiPanjang::PersegiPanjang() { panjang = lebar=1; } // constructor void PersegiPanjang::UbahPanjang(int p) { panjang = p; } // mengubahPanjang void PersegiPanjang::UbahLebar(int l) { lebar = l;} // mengubahLebar
IMPLEMENTASI DENGAN C++class PersegiPanjang { }; MengeremUbah girUbahputaranvoid HitungLuas(int,int);void HitungKeliling(int,int); public:private:- gir- kecepatan- putaranint panjang;int luas; Sepeda
IMPLEMENTASI DENGAN C++class PersegiPanjang { }; MengeremUbah girUbahputaranvoid HitungLuas();void HitungKeliling(); public:private:- gir- kecepatan- putaranint panjang;int lebar; SepedaPersegiPanjang(int, int); // konstruktor
IMPLEMENTASI DENGAN C++PersegiPanjang :: PersegiPanjang () { luas = keliling = 0; } // constructor void PersegiPanjang ::HitungLuas (int p, int l) { panjang = p; lebar = l; } // Hitung Luas void PersegiPanjang ::HitungKeliling(int p, int l) { panjang = p; lebar = l; } // Hitung Keliling