diktat pbo
DESCRIPTION
Oleh : Adam Mukharil B. S.Kom. DIKTAT PBO. BAB V – KONSTRUKTOR DAN DESTRUKTOR. PENGERTIAN KONSTRUKTOR. Fungsi khusus yang namanya sama dengan nama class. Digunakan untuk inisialisasi . Dipanggil otomatis pertama kali saat instansiasi objek. Tidak mengembalikan nilai. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/1.jpg)
BAB V – KONSTRUKTOR DAN DESTRUKTOR
DIKTAT PBO
Oleh:Adam Mukharil B. S.Kom.
![Page 2: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/2.jpg)
PENGERTIAN KONSTRUKTOR
1. Fungsi khusus yang namanya sama
dengan nama class.
2. Digunakan untuk inisialisasi.
3. Dipanggil otomatis pertama kali saat
instansiasi objek.
4. Tidak mengembalikan nilai.
5. Konstruktor dapat dioverloading.
![Page 3: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/3.jpg)
CONTOH KONSTRUKTOR C++
class titik{
private:
int x;
int y;
public:
titik(){
cout<<“Konstruktor titik dijalankan!”
<<endl;
}
};
![Page 4: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/4.jpg)
CONTOH KONSTRUKTOR C++
main()
{
titik a;//kostruktor akan dijalankan
system(“pause”);
return 0;
}
![Page 5: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/5.jpg)
CONTOH KONSTRUKTOR JAVApublic class Titik{
private int x;
private int y;
public Titik(){
System.out.println(“Konstruktor titik
dijalankan!”);
}
}
![Page 6: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/6.jpg)
CONTOH KONSTRUKTOR JAVA
public class TesTitik {
public static void main(String[] args) {
Titik a=new Titik();
}
}
![Page 7: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/7.jpg)
INISIALISASI DI KONSTRUKTOR(C++)
class titik{
private:
int x;
int y;
public:
titik(int x,int y){
this->x=x;
this->y=y;
cout<<"Konstruktor titik sedang dijalankan!“
<<endl;
}
};
![Page 8: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/8.jpg)
int main(int argc, char *argv[])
{
titik a(10,10);
system("PAUSE");
return EXIT_SUCCESS;
}
INISIALISASI DI KONSTRUKTOR(C++)
![Page 9: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/9.jpg)
INISIALISASI DI KONSTRUKTOR(JAVA)
class titik{
private int x;
private int y;
public titik(int x,int y){
this.x=x;
this.y=y;
System.out.println(“Konstruktor titik
dijalankan);
}
}
![Page 10: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/10.jpg)
public class TesTitik {
public static void main(String[] args) {
Titik a=new Titik(10,10);
}
}
INISIALISASI DI KONSTRUKTOR(JAVA)
![Page 11: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/11.jpg)
OVERLOADING KONSTRUKTOR
1. Memiliki konsep yang sama dengan
overloading method.
2. Dibedakan berdasarkan paramater
(jumlah atau tipe data).
3. Pemanggilan konstruktor tergantung pada
instansiasi objek.
![Page 12: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/12.jpg)
OVERLOADING KONSTRUKTOR(C++)
class titik{ private: int x; int y; public: titik(){ cout<<"Konstruktor titik 1 dijalankan!"<<endl; }
titik(int x,int y){ this->x=x; this->y=y; cout<<"Konstruktor titik 2 sedang dijalankan!“ <<endl; }};
![Page 13: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/13.jpg)
OVERLOADING KONSTRUKTOR(C++)
int main(int argc, char *argv[])
{
titik a;
cout<<endl;
titik b(10,10);
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
![Page 14: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/14.jpg)
OVERLOADING KONSTRUKTOR(JAVA)
public class Titik { private int x; private int y;
public Titik() { System.out.println("Konstruktor titik 1 dijalankan!"); }
public Titik(int x, int y) { this.x = x; this.y = y; System.out.println("Konstruktor titik 2 dijalankan!"); }}
![Page 15: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/15.jpg)
OVERLOADING KONSTRUKTOR(JAVA)
public class TesTitik {
public static void main(String[] args) {
Titik a=new Titik();
Titik b=new Titik(10,10);
}
}
![Page 16: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/16.jpg)
DEFAULT VALUE
Pada saat membuat konstruktor dengan
parameter, nilai-nilai parameternya bisa
diberikan nilai default.
![Page 17: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/17.jpg)
CONTOH DEFAULT VALUE (C++)
class titik{ private: int x; int y;
public: titik(int x=0,int y=0){
cout<<"Konstruktor titik dijalankan!“ <<endl; } };
![Page 18: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/18.jpg)
CONTOH DEFAULT VALUE (C++)
int main(int argc, char *argv[])
{
titik a;
cout<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}
![Page 19: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/19.jpg)
DESTRUKTOR
1. Fungsi khusus yang namanya sama dengan
nama class tetapi diawali dengan simbol
‘~’.
2. Digunakan untuk membebaskan memori.
3. Dipanggil secara otomatis pada saat objek
dihancurkan.
4. Tidak mengembalikan nilai.
5. Tidak berparameter.
![Page 20: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/20.jpg)
DESTRUKTOR
6. Tidak dapat dioverloading.
7. Destruktor hanya terlihat jika instansiasi
objeknya menggunakan alokasi memori
dinamis.
8. Java mempunyai fasilitas GARBAGE
COLLECTION sehingga tidak perlu untuk
membuat destruktor secara eksplisit.
![Page 21: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/21.jpg)
CONTOH DEFAULT VALUE (C++)
class titik{
private:
int x;
int y;
public:
~titik(){
cout<<"Destruktor titik dijalankan!";
}
};
![Page 22: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/22.jpg)
ALOKASI MEMORI DINAMIS
Cara instansiasi objek menggunakan memori
dinamis sehingga apabila memerlukan objek
baru tidak perlu mendeklarasikan ulang di
dalam array objeknya.
![Page 23: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/23.jpg)
ALOKASI MEMORI DINAMIS
KODE DICOBA LANGSUNG!!!
![Page 24: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/24.jpg)
EPISODE AKAN DATANG
UTSDAN
POLYMORPHISM
![Page 25: DIKTAT PBO](https://reader035.vdokumen.com/reader035/viewer/2022062217/56814a98550346895db7a71c/html5/thumbnails/25.jpg)