Tugas Alpro2 – Minggu 6 – 4121053 – Erlangga JayaWardhana

C O N S T R U C T O R  &  D E S T R U C T O R

Pembahasan

Konstruktor adalah metode yang menentukan nilai awal  saat membuat objek. Saat program berjalan, konstruktor menentukan nilai awal segera setelah perintah baru membuat  objek. Berikut adalah beberapa hal dasar yang perlu diingat ketika bekerja dengan desainer:

  1. Nama Constructor sama dengan nama Class.
  2. Tidak ada return type yang diberikan kedalam Constructor Signature.
  3. Tidak ada return stetement, didalam tubuh constructor.

Constructor Dalam Java

# 1

package Constructor;

public class User {
        public String username;
        public String password;
        public String Nama;
        public int NIM;
        public double tinggi,berat;
       
        public User(String username, String password, String Nama, int NIM, double tinggi, double berat){
            this.username = username;
            this.password = password;
            this.Nama = Nama;
            this.NIM = NIM;
            this.tinggi = tinggi;
            this.berat = berat;

        }
           
    }
   
   
    class DemoConstructor{
        public static void main(String[] args) {
            User mahasiswa = new User("Objek Mahasiswa", "Baru/New/Anyar","Erlangga J", 4121053, 183.5, 90);
            System.out.println("===============================");
            System.out.println("Username: " + mahasiswa.username);
            System.out.println("Password: " + mahasiswa.password);
            System.out.println("Nama: " + mahasiswa.Nama);
            System.out.println("NIM: " + mahasiswa.NIM);
            System.out.println("Tinggi Badan: " + mahasiswa.tinggi);
            System.out.println("Berat Badan: " + mahasiswa.berat);
            System.out.println("===============================");
        }
}

Syarat Membuat Constructor :

  • Cara membuat constructor adalah dengan menuliskan nama method constructor sama seperti nama class.
  • Pastikan memberikan modifier public kepada Constructor, karena ia akan dieksekusi saat pembuatan objek (instance).
  • Karena Constructor kegunaannya menyiapkan data untuk class maka harus membuat parameter sebagai inputan untuk constructor.
Dan hasil dari Output Class tersebut seperti berikut :


# 2

package Constructor;

public class Konstruktor {
   
    String Nama;
    int nim;
    float nilaiakhir;

    Konstruktor (String nama, int NIM, int nilai_akhir){
        Nama = nama;
        nim = NIM;
        nilaiakhir = nilai_akhir;
       
    }
    public String grade() {
        String nilgrade;
        if(nilaiakhir >= 90)
        nilgrade = "A";
        else if(nilaiakhir >= 75)
        nilgrade = "B";
        else if(nilaiakhir >= 65)
        nilgrade = "C";
        else if(nilaiakhir >= 55)
        nilgrade = "D";
        else
        nilgrade = "E";
        return nilgrade;
    }
    public void cetak(){
        System.out.println();
        System.out.println("======================");
        System.out.println("Nama Mahasiswa = " + Nama);
        System.out.println("Nama Mahasiswa = " + nim);
        System.out.println("IPK yang didapat = " + grade());
        System.out.println("======================");
        System.out.println();

    }
    public static void main(String[] args) {
        Konstruktor hasil = new Konstruktor("Erlangga J", 4121053, 98);
        Konstruktor Terima = new Konstruktor("Bayu Zidan", 4121000, 67);
        hasil.cetak();
        Terima.cetak();
    }
}

Dan hasil dari Output Class tersebut seperti berikut :

Destructor dalam Java

Destruktor adalah metode khusus yang  dieksekusi ketika suatu objek dihapus dari memori. Java sendiri tidak memiliki metode destruktor karena Java menggunakan gerbage collector untuk manajemen memori. Oleh karena itu, gerbage collector secara otomatis menghapus objek yang tidak digunakan.

Sementara untuk bahasa pemrograman lain, seperti C++ kita bisa membuat destructor sendiri seperti ini:

class User {  
public:  
   User( String *username );  // <-- ini constructor  
   ~User(); //  <-- ini destructor.  
private:  
   String username;  
   String password;  
}; 


Percobaan Di Package BangunDatar

# BangunDatar.java
package BangunDatar;

public class BangunDatar {
    float luas(){
        System.out.println();
        System.out.println("============================");
        System.out.println("Menghitung laus bangun datar");
        return 0;
    }
   
    float keliling(){
        System.out.println("Menghitung keliling bangun datar");
        System.out.println("============================");
        System.out.println();
        return 0;
    }
}
# Lingkaran.java
package BangunDatar;
public class Lingkaran extends BangunDatar{
   
    // jari-jari lingkaran
    public float r;

    protected Lingkaran(float jari2){
        this.r = jari2;
    }

   
   
    public float luas(){
        float luas = (float) (Math.PI * r * r);
        System.out.println("Luas lingkaran: " + luas);
        return luas;
    }
   
    public float keliling(){
        float keliling = (float) (2 * Math.PI * r);
        System.out.println("Keliling Lingkaran: " + keliling);
        return keliling;
    }

}
# Persegi.java
package BangunDatar;
class Persegi extends BangunDatar {
    private float sisi;

    Persegi(float s){
        this.sisi = s;
    }

    float luas(){
        float luas = sisi * sisi;
        System.out.println("Luas Persegi: " + luas);
        return luas;
    }

    float keliling(){
        float keliling = 4 * sisi;
        System.out.println("Keliling Persegi: " + keliling);
        return keliling;
    }
    void setsisi(float s){
        sisi = s;
    }
}
# PersegiPanjang.java
package BangunDatar;
class PersegiPanjang extends BangunDatar {
    private double p,l;


    public PersegiPanjang(double p, double l){
        this.p = p;
        this.l = l;
    }
   
    public double getluas(){
        double luas;
        luas = p*l;
        System.out.print("Luas Persegi Panjang: ");
        return luas;
    }
    public double getKll(){
        double kll;
        kll= 2*(p+l);
        System.out.print("Luas Persegi Panjang: ");
        return kll;
    }        

}
# Segitiga.java
package BangunDatar;
public class Segitiga extends BangunDatar {
   
    float alas;
    float tinggi;

    public Segitiga(float a, float t){
        this.alas=a;
        this.tinggi=t;
    }


    float luas() {
        float luas = (float) 1/2 * (alas * tinggi);
        System.out.println("Luas Segitiga: " + luas);
        return luas;
    }  

    float keliling(){
        float miring = (float) Math.sqrt((alas*alas) + (tinggi*tinggi));
        float keliling = (float) alas+tinggi+miring;
        System.out.println("Keliling Lingkaran: " + keliling);
        return keliling;
    }
}
# Proses.java
package BangunDatar;

public class Proses {
    public static void main(String[] args) {
       
        // membuat objek bangun datar
        BangunDatar bangunDatar = new BangunDatar();
       
        // membuat objek persegi dan mengisi nilai properti
        Persegi persegi = new Persegi(8);
       
        // membuat objek Lingkaran dan mengisi nilai properti
        Lingkaran lingkaran = new Lingkaran(14);
       
        // membuat objek Persegi Panjang dan mengisi nilai properti
        PersegiPanjang gPersegiPanjang = new PersegiPanjang(12, 10);

       
        // membuat objek Segitiga dan mengisi nilai properti
        Segitiga Segitiga = new Segitiga(20, 10);

       
        // memanggil method luas dan keliling
        bangunDatar.luas();
        bangunDatar.keliling();
        System.out.println();
       
        persegi.luas();
        persegi.keliling();
        System.out.println("============================");
        System.out.println();
       
        lingkaran.luas();
        lingkaran.keliling();
        System.out.println("============================");
        System.out.println();
       
        System.out.println(+gPersegiPanjang.getluas());
        System.out.println(+gPersegiPanjang.getKll());
        System.out.println("============================");
        System.out.println();
       
        Segitiga.luas();
        Segitiga.keliling();
        System.out.println("****************************");
    }
}
# Output.java

Posting Komentar

Lebih baru Lebih lama

نموذج الاتصال