Constructor dan Destructor Pertemuan 17

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Pemrograman JAVA (TIB09)
Polymorphism Suatu fungsi anggota dari suatu class dapat dijadikan sebagai fungsi virtual Jika fungsi ini dideklarasikan kembali pada class turunan dan.
Overriding, Overloading, Polymorphism
POLIMORFISME 2 Imam Fahrur Rozi 01.
Variabel, Method & Constructor Oleh : Nur Hayatin, S.ST Teknik Informatika – UMM 2011.
Pemrograman Berorientasi Obyek Oleh Tita Karlita
METHOD Object Oriented Programming with JAVA 2011/2012.
Class Member Access Control
Pertemuan : Object Oriented Programming
OBJECT ORIENTED PROGRAMMING YANES HARDIANTO SUI Politeknik Manufaktur Astra 2011.
07 Advanced Class Features
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.
Structure Data - Array Pertemuan 7 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Friend. Adalah fungsi bukan anggota kelas yg dapat mengakses anggota kelas. Secara umum friend berguna jika terdapat suatu operasi yg hendak mengakses.
1 Pertemuan 6 Encapsulation Lanjutan Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Fungsi Fungsi (Sub Program) :
STREAM INPUT/OUPUT Pertemuan 4 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Inheritance Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 4 Tahun : 2008 Versi : 1/0.
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.
Teknik Pemrog. Terstruktur 2
INHERITANCE (Oleh : Nur Hayatin, S.ST)
File Matakuliah: XXXX / Algoritma dan Metode Object Oriented Programming II Pertemuan: 9 Tahun: 2008 Versi: 1/0.
Algoritma & Pemrograman 1
Fungsi, Array dan String
Try, Catch, Finally Throws
Pertemuan 6 PEWARISAN AND POLYMORPHISM
1 Pertemuan 8 Structure Data Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
METHODS Matakuliah: T0974 / Algoritma dan Metode Object Oriented Programming I Tahun: 2008 Versi: 1/0.
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.
1 Pertemuan 5 Encapsulation Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
Pertemuan 10 Constructor dan Destructor
Matakuliah : T0456 / Algoritma dan Metode Object
Algoritma sorting dasar (lanjutan) Pertemuan 11
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
// Contoh program c++ dengan fungsi template
Class & Object Disusun Oleh: Reza Budiawan Untuk:
Pengertian Algoritma Pemrograman Pertemuan 1
Pertemuan 10 Inheritance Lanjutan
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
METHODS Mr. Yasri Object Oriented Program.
Pemrograman Berorientasi Object
Method & Constructor METHOD.
Constructor dan Overloading
Polymorphism Pertemuan 23-24
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Constructor overloading
Inheritance Pertemuan 21
Class dan Objek Lanjutan Pertemuan 18
Pertemuan 9 Pemrograman Berbasikan Objek
Sumber : repository.binus.ac.id/content/T0454/T ppt
Pemrograman Berorientsi Objek Pertemuan 15
Class, Objek, data, variabel dan operator
METODE (2) SUSSI.
Structure Data - Struct Pertemuan 8
Membuat Kelas.
Inheritance lanjutan Pertemuan 22
PBO Lanjutan Membuat Kelas.
Generic Data Type Pertemuan 25
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Materi 9 Pembahasan CLASS Dalam C++
Konstruktor dan Destruktor
Dasar-dasar Pemrograman Berbasis Obyek. kelas Kelas pada java didefinisikan dengan menggunakan kata kunci class.
- PERTEMUAN 2- CONSTRUCTOR
Transcript presentasi:

Constructor dan Destructor Pertemuan 17 Matakuliah : T0456 / Algoritma dan Metode Object Oriented Programming Tahun : 2007 Constructor dan Destructor Pertemuan 17

Pada akhir pertemuan ini, diharapkan: Learning Outcomes Pada akhir pertemuan ini, diharapkan: Mahasiswa dapat mendemonstrasikan penggunaan constructor dan destructor pada sebuah class Buku Referensi: C++ - How to program, Deitel & Deitel, Prentice Hall, 2001. Websites: http://www.deitel.com 3 Bina Nusantara

Outline Materi Penggunaan Constructor Syntax constructor dan contoh program Macam - macam Constructor Constructor dengan parameter default Penggunaan Destructor Syntax destructor dan contoh program Pemanggilan constructor & destructor Latihan dan diskusi 4 Bina Nusantara

Constructor Adalah method yang pertama kali dikerjakan ketika suatu class diciptakan Bertugas melakukan proses inisialisasi Nama constructor = nama class Constructor harus dideklarasi sebagai public Dapat memiliki parameter, tetapi tidak mengembalikan nilai (biarpun void) Tiap class harus mempunyai minimal 1 (satu) constructor, bila tidak dideklarasikan oleh user,maka kompiler akan secara otomatis membuat default constructor. 5 Bina Nusantara

Macam-macam Constructor: Default constructor Costructor yang digunakan untuk inisialisasi dan didefinisikan tanpa argumen (parameter) Constructor dengan parameter Constructor yang digunakan untuk inisialisasi object dan didefinisikan dengan argumen (parameter) Copy constructor Contructor khusus yang digunakan untuk meng-copy isi dari suatu object ke dalam obyek baru yang sedang diciptakan. 6 Bina Nusantara

Contoh Default Constructor #include <constrea.h> class Point{ //deklarasi kelas Point int x, y; //data koordinat x dan y public: Point(); //deklarasi konstruktor default void move(int, int); //fungsi untuk menggerakan titik void print(); //fungsi untuk mencetak di layar }; Point::point(){ // definisi default constructor cout << “Constructor is called…” << endl; x = y = 0; //inisialisasi nilai x dan y } void main(){ Point P1, P2; //constructor dipanggil dua kali 7 Bina Nusantara

Constructor dengan parameter Seperti anggota fungsi yang lain, kontruktor juga dapat dideklarasikan dengan argumen atau parameter. Contoh fungsi dengan argumen: Argumen atau parameter int luasPersegi(int P, int L){ int hasil; hasil = P*L; return(hasil); } 8 Bina Nusantara

Contoh Constructor dengan parameter class Point{ //deklarasi kelas Point int x, y; //data koordinat x dan y public: Point(int, int); //constructor declaration void move(int, int); //fungsi untuk menggerakan titik void print(); //fungsi untuk mencetak di layar }; Point::point(int x1, int y1){ cout << “Constructor is called…” << endl; if (x1 < 0) x = 0; else x = x1; if (y1 < 0) y = 0; else y = y1; } void main(){ Point P1(20,50), P2(-10,8); //constructor dipanggil dua kali Point p3; //ERROR 9 Bina Nusantara

Constructor dengan parameter Default Parameter dari kontruktor dapat memiliki nilai default Contoh: Nilai default dari y adalah 0 Point::point(int x1=0, int y1=0){ cout <<“Constructor is called…” <<“\n”; if (x1 < 0)x = 0; else x = x1; if (y1 < 0) y = 0; else y = y1; } 10 Bina Nusantara

Constructor dengan parameter default … Dengan konstruktor ini obyek dapat dicipta dengan parameter ataupun tidak dengan parameter: Contoh dengan parameter: Point P1(15, 75); //x=15, y=75 Point P2(100); //x=100, y=0 Contoh tanpa parameter: Point P3; //x=0, y=0 11 Bina Nusantara

Copy Constructor Merupakan kontruktor khusus yang digunakan untuk mengcopi isi dari suatu object ke dalam obyek baru yang sedang diciptakan. Tipe data dari parameter input adalah referance (alamat) dari obyek dengan tipe yang sama. 12 Bina Nusantara

Contoh Copy Constructor class String { int size; char *contents; public: String(const char *); //contructor dengan parameter String(cont String &); //copy contructor void Print(); }; //definisi fungsi copy contructor String::String(const String &object_in) { cout << ”copy constructor has been invoked” << endl; size = object_in.size; contents = new char[size+1]; strcpy(contents, object_in.contents); } void main() { String my_string(“string 1”); My_string.Print(); String other = my_string; //copy constructor dipanggil String more(my_string); //copy constructor dipanggil 13 Bina Nusantara

Dectructor Adalah method yang terakhir kali dikerjakan sebelum siklus hidup object berakhir Bertugas melakukan proses deinisialisasi, clean up, dealokasi memory, dll Seperti kontruktor nama destructor sama dengan nama class dengan diberi tanda ~ di depan nama destructor Nama constructor = ~nama class Didefinisikan tanpa return type dan tanpa argument (parameter). Destructor dideklarasi sebagai public 14 Bina Nusantara

Contoh Destructor class String { int size; char *contents; public: String(const char *); //contructor void Print(); ~String(); }; //definisi contructor String::String(const char *in_data) { cout <<”contructor has been call” << endl; size = strlen(in_data); contents = new char[size+1]; strcpy(contents, in_data); } 15 Bina Nusantara

Contoh Destructor Lanjutan … void String::Print(){ cout << contents << “ “ << size << endl; } //definisi destructor String::~String(){ Cout << “Destructor has been invoked” << endl; Delete [] contents; void main() { String string1(“String 1”); String string2(“String 2”); string1.Print(); string2.Print(); Return 0; //destructor dipanggil 2 kali 16 Bina Nusantara

Pemanggilan constructor & destructor Constructor & destructor dipanggil secara otomatis. Constructor pada object global dipanggil sebelum fungsi main dieksekusi dan destructor dikerjakan setelah fungsi main selesai dieksekusi. Constructor pada object lokal dipanggil otomatis saat object dedefinisikan dan destructornya dieksekusi setelah proses object selesai. Pada object static lokal, constructor dipanggil sekali pada saat object didefinisikan dan destructornya dipanggil setelah fungsi main selesai. 17 Bina Nusantara

Diskusi dan Tanya Jawab Latihan soal 18 Bina Nusantara