Algoritma dan Struktur Data - constructor dan destructor

8
Konstruktor dan Destruktor Algoritma dan Struktur Data Kuliahkita - Edwin Lunando

description

Pengenalan konstruktur dan destruktor dari sebuah tipe data

Transcript of Algoritma dan Struktur Data - constructor dan destructor

Page 1: Algoritma dan Struktur Data - constructor dan destructor

Konstruktor dan Destruktor

Algoritma dan Struktur Data

Kuliahkita - Edwin Lunando

Page 2: Algoritma dan Struktur Data - constructor dan destructor

Pendahuluan

Konstruktor dan Destruktor adalah fungsi umum yang diimplementasikan pada tipe data abstrak.

Sesuai dengan namanya, konstruktor dan destruktor masing-masing digunakan untuk membuat dan menghancurkan objek

Page 3: Algoritma dan Struktur Data - constructor dan destructor

KonstruktorKonstruktor digunakan untuk membuat atau menginstansiasikan suatu objek.

Konstruktor melibatkan alokasi memori ketika instansiasi dan inisialisasi objek

Proses instansiasi berarti mengalokasikan sejumlah memory untuk struktur data yang ditentukan, sedangkan proses inisialisasi berarti menentukan sebuah nilai awal untuk data yang ada di dalamnya

Page 4: Algoritma dan Struktur Data - constructor dan destructor

Destruktor

Destruktor digunakan untuk menghancurkan objek.

Fungsi ini dipanggil ketika objek tidak lagi digunakan dan alokasi memori terhadap objek akan dibersihkan sepenuhnya dari program

Page 5: Algoritma dan Struktur Data - constructor dan destructor

Destruktor - 2

Mengapa perlu ada destruktor? tidak cukup dihapus?

Jika kita lupa untuk membersihkan objek-objek yang sudah tidak lagi dipakai, maka akan terjadi pembengkakan penggunaan memory yang terus menumpuk. (memory leak)Ketika destructor dipanggil, memori yang ditempati akan dikembalikan atau dikosongkan kembali

Page 6: Algoritma dan Struktur Data - constructor dan destructor

Contoh Pendefinisian

{ Pendefinisian Pseudocode Tipe } type namaTipe : < namaTipe1 : tipe1, namaTipe2 : tipe2, …, namaTipeN : tipeN >

procedure Destruct();

procedure Construct();

Page 7: Algoritma dan Struktur Data - constructor dan destructor

Contoh Deklarasi di C++

typedef struct Jam{

int Hour;

int Minute;

int Second;

// Jam (); // constructor default

Jam (int HH, int MM, int SS) { // constructor buatan

Hour = HH; Minute = MM; Second = SS;

}

// ~Jam (); // constructor default

~Jam() { cout << “telah dihancurkan”; }

} Jam;

Page 8: Algoritma dan Struktur Data - constructor dan destructor

Contoh Deklarasi di C++

int main() {

Jam J(10,11,12);

cout << J.Hour << endl; // akan mengembalikan nilai 10

cout << J.Minute << endl; // akan mengembalikan nilai 11

cout << J.Second << endl; // akan mengembalikan nilai 12

return 0;

}