Tugas Minggu 6 - Alpro 2 - Si UNIPDU
Constructor & Destructor
Di Pemrograman Java
A. Memahami Constructor dan Destructor
Constructor adalah method khusus yang akan di eksekusi pada saat pembuatan objek (instance). Fungsinya adalah memberikan nilai awal pada saat suatu objek dibuat.
Pada saat program dijalankan, constructor akan langsung memberikan nilai awal pada saat perintah new, membuat suatu objek.
Berikut contoh source code penggunaan Constructor:
package konstruktor;
public class user{
private String username;
private String password;
public User(){
System.out.println("eksekusi method constructor.."); //Bagian ini adalah constructor
}
}Constructor dengan Parameter
Constructor biasanya digunakan untuk initialize data untuk class. Untuk melakukan ini, kita harus membuat parameter sebagai inputan untuk constructor.
Contoh :
package konstruktor;
public class user{
private String username;
private String password;
public User(String username, String password){
this.username = username;
this.password = password;
}Destructor adalah method khusus yang akan di eksekusi saat objek dihapus dari memory. Meski Java sendiri tak memiliki method Destructor, karena Java menggunakan garbage collector untuk memanajemen memorinya.
Jadi si Garbage collector akan otomatis menghapus objek yang tidak digunakan.
Sementara untuk bahasa program lain seperti C++, karena C++ tak memiliki garbage collector. Kita menggunakan metode ini. Contoh source code nya kurang lebih seperti ini.
class User{
public:
User(String *username); // ini constructor
~User(); // ini destructor
private:
String username;
String password;
};
Dibawah ini merupakan source code penggunaan Constructor dan Destructor. Beserta outputnya// Contoh Source Code Constructor
class Construction {
float nilaiAkhir;
String nama, jurusan, fakultas, matakuliah;
Construction(int nilai_akhir, String namaMahasiswa, String matkul, String namaJurusan, String namaFakultas)
{
nilaiAkhir = nilai_akhir;
nama = namaMahasiswa;
jurusan = namaJurusan;
fakultas = namaFakultas;
matakuliah = matkul;
}
public String grade()
{
String nilaiGrade;
if(nilaiAkhir >= 80)
nilaiGrade = "A";
else if(nilaiAkhir >= 68)
nilaiGrade = "B";
else if(nilaiAkhir >= 56)
nilaiGrade = "C";
else if(nilaiAkhir >= 49)
nilaiGrade = "D";
else
nilaiGrade = "E";
return nilaiGrade;
}
public void cetak(){
System.out.println("Nama Mahasiswa : " +nama);
System.out.println("Mata Kuliah : " +matakuliah);
System.out.println("Nilai Mata Kuliah : " +grade());
System.out.println("Jurusan : " +jurusan);
System.out.println("Fakultas : " +fakultas);
}
public static void main(String[] args){
Construction hasil = new Construction(30 , "Ucok", "algoritma pemrograman", "Sistem Informasi", "Sains dan Teknologi");
hasil.cetak();
}
}// Output
// Contoh Source Code Destructor
class Destruction{
float nilaiAkhir, a;
Destruction(int nilai_akhir){
nilaiAkhir = nilai_akhir;
}
Destruction(int ab, int ac){
nilaiAkhir = ab + ac;
}
public String grade()
{
String nilaiGrade;
if(nilaiAkhir >= 80)
nilaiGrade = "A";
else if(nilaiAkhir >= 68)
nilaiGrade = "B";
else if(nilaiAkhir >= 56)
nilaiGrade = "C";
else if(nilaiAkhir >= 49)
nilaiGrade = "D";
else
nilaiGrade = "E";
return nilaiGrade;
}
public void cetak(){
System.out.println("Nilai = " +grade());
}
public static void main(String args[]){
Destruction hasil = new Destruction(10);
hasil.cetak();
Destruction hasilnya = new Destruction(70, 80);
hasilnya.cetak();
}
}
Komentar
Posting Komentar