algoritma dan struktur data - constructor dan destructor
DESCRIPTION
Pengenalan konstruktur dan destruktor dari sebuah tipe dataTRANSCRIPT
Konstruktor dan Destruktor
Algoritma dan Struktur Data
Kuliahkita - Edwin Lunando
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
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
Destruktor
Destruktor digunakan untuk menghancurkan objek.
Fungsi ini dipanggil ketika objek tidak lagi digunakan dan alokasi memori terhadap objek akan dibersihkan sepenuhnya dari program
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
Contoh Pendefinisian
{ Pendefinisian Pseudocode Tipe } type namaTipe : < namaTipe1 : tipe1, namaTipe2 : tipe2, …, namaTipeN : tipeN >
procedure Destruct();
procedure Construct();
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;
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;
}