Top Banner
KONSEP DASAR PBO
31

1_Konsep Dasar PBO

Sep 25, 2015

Download

Documents

Dian furnomo

ppt PBO
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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

  • IMPLEMENTASI DENGAN C++void Sepeda::mengerem(){ cout
  • 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