1 Pertemuan 8 Array & Pointer of Class Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.

Slides:



Advertisements
Presentasi serupa
Membuat class sendiri.
Advertisements

Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
Function.
Review :: Kisi-kisi UTS ::
Class Member Access Control
Pointer Memory Dinamic.
MINGGU 4 Java Programming (MKB614C)
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Array of class. Array Class. Pointer of class. Dynamic Memory Management.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
Object Oriented Programming with JAVA 2011/2012
1 Pertemuan 14 Operator Overloading Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Operator Overloading Pertemuan 20 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Class and Object Introduction Specifying a Class Defining Member Function A C++ Program with Class Nesting of Member Functions Private Member Functions.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Bab 05 Tipe Data dan Mengisi Variabel
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
1 Pertemuan 17 Polymorphism Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
1 Pertemuan 9 Inheritance Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Class and Object Matakuliah : XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan : 2 Tahun : 2008 Versi : 1/0.
1 Pertemuan 2 Function & Pointer Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Tenia Wahyuningrum pointers Tenia Wahyuningrum
Matakuliah : T0534/Struktur Data Tahun : 2005 Versi : September 2005
METHOD, ARRAY DAN STRING
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Nested Object. Friend Keyword. Pointer This. Operator Overloading.
Fungsi, Array dan String
Pertemuan 6 PEWARISAN AND POLYMORPHISM
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
FUNGSI.
1 Pertemuan 18 Template Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Struktur Kendali Pengulangan Pertemuan 6 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Matakuliah : T0044/Pemrograman Berorientasi Obyek
1 Pertemuan 5 Encapsulation Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pertemuan 10 Constructor dan Destructor
1 Pertemuan 3 SINTAKS BAHASA, TIPE DATA, DAN OPERATOR (LANJUTAN) Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
1 Pertemuan 7 Review 1 – 6 Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
// Contoh program c++ dengan fungsi template
1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >
Kontrak Kuliah Pengenalan OOP
Matakuliah : H0112 – Pemrograman Bahasa Tingkat Tinggi
Inheritance (2).
Pertemuan 10 Inheritance Lanjutan
Informatique Engineering Ahmad Dahlan University May 17, 2004
METHODS Mr. Yasri Object Oriented Program.
Person 8.
Constructor dan Overloading
Pertemuan 4 Abstract Data Type
FUNGSI.
Pertemuan 3 Sistem I/O C++
Polymorphism Pertemuan 23-24
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Pertemuan 3 Variabel/Dinamik Pointer
Constructor dan Destructor Pertemuan 17
Inheritance Pertemuan 21
Class dan Objek Lanjutan Pertemuan 18
C++ static.
Sumber : repository.binus.ac.id/content/T0454/T ppt
Pemrograman Berorientsi Objek Pertemuan 15
Inheritance lanjutan Pertemuan 22
Objects in Java U Abd. Rohim, MT mailto:
Class.
Generic Data Type Pertemuan 25
Matakuliah : M0074/PROGRAMMING II Tahun : 2005 Versi : 1/0
Materi 9 Pembahasan CLASS Dalam C++
Algoritme dan Pemrograman
C++ Polymorphism.
Teknik Pemrog. Terstuktur 2
Transcript presentasi:

1 Pertemuan 8 Array & Pointer of Class Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0

2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mendemonstrasikan prinsip kerja array of class Mendemonstrasikan prinsip kerja pointer of class

3 Outline Materi Array Class Pointer of Class Operator new & delete Operator '&' dan '->'

4 Array Class Arrays in C++ –No range checking –Cannot be compared meaningfully with == –No array assignment (array names const pointers) –Cannot input/output entire arrays at once One element at a time Example:Implement an Array class with –Range checking –Array assignment –Arrays that know their size –Outputting/inputting entire arrays with > –Array comparisons with == and !=

5 Array Class Copy constructor –Used whenever copy of object needed Passing by value (return value or parameter) Initializing an object with a copy of another –Array newArray( oldArray ); –newArray copy of oldArray –Prototype for class Array Array( const Array & ); Must take reference Otherwise, pass by value and invoke infinite loop –Tries to make copy by calling copy constructor …

6 Kasus Program Array Class Pelajarilah Program Array Class pada buku Deitel chapter 8 Page 556 Buatlah Analisa dari Program tersebut menangani masalah array pada C++ dengan Array Class: –Range checking –Array assignment –Arrays that know their size –Outputting / inputting entire arrays with > –Array comparisons with == and !=

7 Pointer of Class Pointer sebagai Data Members Pointers tdk dpt di-initialized dalam class declaration Normally, Initialized pada derived class constructor Penggunaan pointers to class data members Umumnya melalui function yg menggunakan pointers to class data members sebagai debuging function yg meng-access 2 bytes pertama dari data member tiap object & mengambil nilainya

8 Pointer of Class #include class First { public: int value; First() {value = 0;} int GetValue() {return value;} }; class Second { int id; public: First *obj1; Second() {id = 0;} int GetName(){ return id;} }; int main() { Second Obj2; int num; num = Obj2.GetName(); return 0; } Saat Obj2 dicreate, constructor Second tidak memanggil constructor First. Declaration of Pointer to class First

9 sebagai debuging function #include class Pointer { public:int data1, data2; int value; int id; void foo1() {} void foo2() {} }; void SetValue(Pointer& object) {int Pointer::*ip = &Pointer::value; object.*ip = 3; } void SetId(int *member) {*member = 7; } void main() { int Pointer::*ip1 = &Pointer::data1; int Pointer::*ip2 = &Pointer::data2; Pointer obj1; //access 2 public data members via reference obj1.*ip1 = 5; obj1.*ip2 = 10; //access data member via SetValue() method SetValue(obj1); //create 2 pointers to object member int *pointer1 = &obj1.value; int *pointer2 = &obj1.id; //pass the pointers to SetValue() SetId(pointer1); SetId(pointer2); } Debug result: Obj1 = {5,10,7,7} Data1 = 5 Data2 = 10 Value = 7 (after Fuction SetId run, it was 3) Id = 7

10 Latihan //Array of Objek #include class Bilangan { private: int tot, Num; public: Bilangan () {Num = ++tot;} void show ( int i ) { cout << “Bilangan # “ << i << “ of “ << tot << “objek\n”; } int Ret_Num () { return Num; } }; void main() {Bilangan A[10]; for ( int i=0; i<10; i++ ) Bilangan :: show ( A[i].Ret_Num () ) }

11 Latihan // Pointer to Objek #include class Square { private: float Panjang, Lebar; public: void Masuk_Data ( float pj, float lb ) { Panjang = pj; Lebar = lb; } void Tampil_Data { cout << “Panjang Square = “ << Panjang << endl; cout << “Lebar Square = “ << Lebar << endl; } }; void main() { Square B[3]; Square *s; B[0].Masuk_Data (10, 5, 8 ); s = &B[1]; s -> Masuk_Data (8, 4, 6); s++; s -> Masuk_Data ( 20,10, 8 ); s--; s -> Tampil_Data ( ); s--; s -> Tampil_Data ( ); }

12 Tugas 8 Tugas 8A: Mahasiswa membuat ringkasan tentang Array of class dan Pointer of class Tugas 8B: Mahasiswa menganalisis program kasus Array Class yang diberikan oleh dosen Tugas 8C: Mahasiswa mencari output Latihan program dengan menggunakan Object Array dan Pointer to Object