Tugas Alpro2 – Minggu 12 – 4121053 – Erlangga JayaWardhana

 


ABSTRACT

Abstraction adalah proses untuk menyembunyikan detail implementasi dari user sehingga hanya sisi fungsionalitas saja yang ditampilkan, atau dengan kata lain user akan menerima informasi mengenai apa yang dapat dilakukan oleh suatu objek namun user tidak akan mengetahui bagaimana objek itu melakukannya.

Apa sih Class Abstrak? 🤔

Class abstrak adalah class yang masih tidak jelas atau bentuknya memang abstrak. Karena bentuknya saja abstrak jadi tidak bisa dibuat menjadi objek

Sebuah class abstrak bisa disebut abstrak harus memiliki satu atau lebih method abstrak. jadi method abstrak tidak memiliki implentasi

Paham ? Tidak ya?

Oke jadi method abstrak itu method tanpa isi, hanya ada nama saja dan class yang menggunakan method ini, secara otomatis akan menjadi class abstrak

// ini abstrak method
void sayHello();

// ini bukan abstrak method karena
// punya implementasi di body method
void greeting(){
  System.out.println("Hello Java");
}


Kenapa Memakai Class Abstrak? 🤔

Kita tahu, class abstrak adalah kelas murni (tanpa objek) dan tidak boleh memiliki objek (tidak boleh ada instansiasi) sehingga belum bisa digunakan secara langsung.

Kelas ini digunakan sebagai basis bagi penurunan kelas kelas lainnnya, sehingga tidak dapat diinstansiasi secara langsung menjadi objek.

Karena itu, agar class abstrak dapat digunakan, maka ia harus dibentuk dulu konkritnya. Caranya bagaimana?

Cara membuat class abstrak menjadi konkrit adalah dengan membuat implementasi dari method-method yang masih abstrak. Ini bisa kita lakukan dengan pewarisan (inheritance). Method-method yang abstract akan diimplementasikan oleh kelas turunannya melalui override.

B 🙄: "Mengapa sih class harus dibuat menjadi abstrak? Kan bisa saja kita pakai class yang biasa." 

A😎: "Iya, bisa-bisa saja. Tapi pada suatu kondisi tertentu, class induk tidak ingin kita buat sebagai objek. karena kode methodnya belum jelas mau diimplementasikan seperti apa. Maka class ini sebaiknya dijadikan abstrak."

B 🙄: "Ohh jadi begitu ya.."

A😎: "Iya Adek"

Nih Aku Kasih Contoh Program Class Abstrak 😎

Pertama Bikin Class Induknya dulu seperti ini 😏

#Abstract.java
package pkgabstract;

public abstract class Abstract {

    String Color;
    int Harga;
    String Merk;

    public String getColor() {
        return Color;
    }

    public void setColor(String Color) {
        this.Color = Color;
    }

    public int getHarga() {
        return Harga;
    }

    public void setHarga(int Harga) {
        this.Harga = Harga;
    }

    public String getMerk() {
        return Merk;
    }

    public void setMerk(String Merk) {
        this.Merk = Merk;
    }
   
    abstract int getCC();
}

Setelah itu bikin kelas Anaknya 😏

#Yamaha.java
package pkgabstract;

public class Yamaha extends Abstract {
   
    private double D;
    private double L;

    public double getD() {
        return D;
    }

    public void setD(double D) {
        this.D = D;
    }

    public double getL() {
        return L;
    }

    public void setL(double L) {
        this.L = L;
    }
   
    @Override
    int getCC(){
        return (int) (3.14*(D*D) * L)/1000 ;
    }
}

#Honda.java

package pkgabstract;

public class Honda extends Abstract {
   
    private double D;
    private double L;

    public double getD() {
        return D;
    }

    public void setD(double D) {
        this.D = D;
    }

    public double getL() {
        return L;
    }

    public void setL(double L) {
        this.L = L;
    }
   
    @Override
    int getCC(){
        return (int) (3.14*(D*D) * L)/1000 ;
    }
   
}

#Suzuki.java
package pkgabstract;

public class Suzuki extends Abstract {
    private double D;
    private double L;

    public double getD() {
        return D;
    }

    public void setD(double D) {
        this.D = D;
    }

    public double getL() {
        return L;
    }

    public void setL(double L) {
        this.L = L;
    }
   
    @Override
    int getCC(){
        return (int) (3.14*(D*D) * L)/1000 ;
    }
}

Nah yang terakhir tinggal buat class Main untuk pemanggilan 😎

#MainNih.java
package pkgabstract;

public class MainNih {
    public static void main(String[] args){
       
        Yamaha A = new Yamaha();
        Honda B = new Honda();
        Suzuki C = new Suzuki();
       
        A.setMerk("N MAX");
        A.setColor("Black");
        A.setD(29);
        A.setL(60);
        A.setHarga(25000000);
       
        B.setMerk("TIGER");
        B.setColor("HEREX");
        B.setD(31.75);
        B.setL(62.2);
        B.setHarga(7500000);
       
        C.setMerk("SATRIA FU");
        C.setColor("PINK");
        C.setD(31);
        C.setL(48.8);
        C.setHarga(15000000);
       
        System.out.println("SPESIFIKASI MOTOR");
        System.out.println("===========================");
        System.out.println();
        System.out.println("Merk Motor : "+A.getMerk());
        System.out.println("Warna Motor : "+A.getColor());
        System.out.println("Kapasitas Mesin : "+A.getCC()+"cc");
        System.out.println("Harga Motor : "+A.getHarga());
        System.out.println();
        System.out.println("*");
        System.out.println();
        System.out.println("Merk Motor : "+B.getMerk());
        System.out.println("Warna Motor : "+B.getColor());
        System.out.println("Kapasitas Mesin : "+B.getCC()+"cc");
        System.out.println("Harga Motor : "+B.getHarga());
        System.out.println();
        System.out.println("*");
        System.out.println();
        System.out.println("Merk Motor : "+C.getMerk());
        System.out.println("Warna Motor : "+C.getColor());
        System.out.println("Kapasitas Mesin : "+C.getCC()+"cc");
        System.out.println("Harga Motor : "+C.getHarga());
        System.out.println();
        System.out.println("==========================");
    }
}
Dan... Hasil Akhirnya seperti ini 😎

Output


Gampang gak?

Gampang lah ya masa Ngga.. Ya kan.. 😎

Selamat mencoba

terima kasih

Sumber :

Moh. Shohibul Wafa, S. M. (2022). MODUL 9 – MENGENAL CLASS ABSTRAK. Modul Praktikum Algoritma dan Pemrograman 2 Sistem Informasi UNIPDU Jombang, 1-8.

Muhardian, A. (2020, Januari 05). Tutorial Java OOP: Mengenal Class Abstrak dan Cara Pakainya. Retrieved from PetaniKode: https://www.petanikode.com/java-oop-abstract/

Posting Komentar

Lebih baru Lebih lama

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