← Back to list

Abstraksi dan Kelas Abstrak di Java dengan NetBeans

Abstraksi

Wahyu Dwi Yulianto · 2024-10-21 13:53 · 0 claps · 3.6 min read
#abstract-class-in-java #oop #java #abstract
Open on Medium ↗
Wiki topics: TLS · Design Tools & Workflow

Abstraksi dan Kelas Abstrak di Java dengan NetBeans

Abstraksi

Abstraksi adalah salah satu pilar utama dalam Pemrograman Berorientasi Objek (PBO). Tujuannya adalah untuk menyembunyikan detail implementasi dan menampilkan hanya fungsionalitas penting dari suatu objek. Abstraksi membantu dalam memecah sistem yang kompleks menjadi bagian-bagian yang lebih sederhana.Dengan abstraksi, kita fokus pada apa yang dilakukan objek, bukan bagaimana caranya.

Kelas Abstrak

Kelas abstrak adalah kelas yang tidak dapat diinstansiasi langsung. Kelas ini digunakan sebagai cetak biru bagi kelas lain yang mewarisinya. Kelas abstrak bisa memiliki metode abstrak (metode tanpa implementasi) dan metode biasa (metode dengan implementasi).

Karakteristik Kelas Abstrak :

  1. Tidak dapat dibuat objeknya secara langsung.
  2. Bisa memiliki metode abstrak dan metode dengan implementasi.
  3. Subclass yang mengimplementasikan kelas abstrak wajib mengimplementasikan semua metode abstrak yang ada.

Praktikum

Langkah pertama yaitu membuat proyek baru dengan nama PraktikumPBO_9. Kemudian, membuat package baru dengan nama praktikum9.

Buat kelas Abstrak kendaraan dengan kode program sebagai berikut :

// Definisi kelas abstrak
abstract class Kendaraan {
    // Metode abstrak
    abstract void berjalan();

    // Metode dengan implementasi
    void info() {
        System.out.println("Ini adalah kendaraan.");
    }
}

Penjelasan :

kelas kendaraan adalah kelas yang tidak bisa dibuat menjadi objek langsung. Ini berfungsi sebagai template untuk kelas-kelas lain.

abstract void berjalan(); : Metode ini harus diimplementasikan di kelas turunan. Kelas yang mewarisi Kendaraan harus menjelaskan bagaimana kendaraan itu “berjalan”.

void info() : Metode ini mencetak “Ini adalah kendaraan.” dan bisa digunakan oleh kelas turunan tanpa perlu diubah.

kemudian selanjutnya membuat kelas turunan seperti kode berikut

// Kelas turunan Mobil
class Mobil extends Kendaraan {
    @Override
    void berjalan() {
        System.out.println("Mobil sedang berjalan dengan cepat.");
    }
}

// Kelas turunan Sepeda
class Sepeda extends Kendaraan {
    @Override
    void berjalan() {
        System.out.println("Sepeda sedang berjalan dengan pelan.");
    }
}

penjelasan :

kelas Mobil

Mobil adalah sebuah kelas yang mewarisi dari kelas abstrak Kendaraan. Metode berjalan() diimplementasikan untuk menampilkan pesan “Mobil sedang berjalan dengan cepat.”, yang menggambarkan perilaku spesifik dari kendaraan jenis mobil.

kelas Sepeda

Sepeda juga merupakan kelas turunan dari Kendaraan. Metode berjalan() di sini diimplementasikan untuk menampilkan pesan “Sepeda sedang berjalan dengan pelan.”, menunjukkan bahwa sepeda memiliki cara berjalan yang berbeda dibandingkan mobil.

setelah itu membuat kelas main seperti kode berikut

// Kode utama untuk pengujian
public class Main {
    public static void main(String[] args) {
        Kendaraan mobil = new Mobil();
        Kendaraan sepeda = new Sepeda();

        mobil.berjalan(); 
        mobil.info();     
        sepeda.berjalan();
        sepeda.info();     
    }
}

penjelasan :

Kelas Main berfungsi sebagai titik awal program untuk menjalankan pengujian.

Kendaraan mobil = new Mobil(); : Membuat objek mobil dari kelas Mobil, tetapi menyimpannya sebagai tipe Kendaraan. Kendaraan sepeda = new Sepeda(); : Membuat objek sepeda dari kelas Sepeda, juga disimpan sebagai tipe Kendaraan.

mobil.berjalan(); : Memanggil metode berjalan() pada objek mobil, mencetak “Mobil sedang berjalan dengan cepat.” mobil.info(); : Memanggil metode info() pada objek mobil, mencetak “Ini adalah kendaraan.” sepeda.berjalan(); : Memanggil metode berjalan() pada objek sepeda, mencetak “Sepeda sedang berjalan dengan pelan.” sepeda.info(); : Memanggil metode info() pada objek sepeda, mencetak “Ini adalah kendaraan.”

outputnya seperti pada gambar berikut

Tugas

Membuat kelas abstrak Hewan dengan metode abstrak suara().

// Definisi kelas abstrak Hewan
abstract class Hewan {
    // Metode abstrak
    abstract void suara();
}

Membuat dua kelas turunan, yaitu Kucing dan Anjing, yang mengimplementasikan metode suara() sesuai dengan suara hewan tersebut.

Kelas Kucing turunan dari Hewan

Kelas Kucing turunan dari Hewan

// Kelas turunan Kucing
class Kucing extends Hewan {
    @Override
    void suara() {
        System.out.println("Kucing mengeluarkan suara: Meong");
    }
}

Kelas Anjing turunan dari Hewan

Kelas Anjing turunan dari Hewan

// Kelas turunan Anjing
class Anjing extends Hewan {
    @Override
    void suara() {
        System.out.println("Anjing mengeluarkan suara: Guk Guk");
    }
}

setelah itu membuat kelas MainHewan

public class MainHewan {
    public static void main(String[] args) {
        Hewan kucing = new Kucing();
        Hewan anjing = new Anjing();

        kucing.suara(); 
        anjing.suara(); 
    }
}

maka outputnya akan seperti pada gambar dibawah ini

Link GitHub : https://github.com/WahyuDwii/Kuliah/tree/main/Praktikum%20PBO/PraktikumPBO_9

Referensi :

Nata, Imam A. (2024). Modul 9— Abstraksi dan Kelas Abstrak.

https://www.petanikode.com/java-oop-abstract/


메타데이터
post_id
fc368034232b
slug
abstraksi-dan-kelas-abstrak-di-java-dengan-netbeans-fc368034232b
url
https://medium.com/@WahyuDwi_/abstraksi-dan-kelas-abstrak-di-java-dengan-netbeans-fc368034232b
canonical_url
https://medium.com/@WahyuDwi_/abstraksi-dan-kelas-abstrak-di-java-dengan-netbeans-fc368034232b
author_url
https://medium.com/@WahyuDwi_
status
ok
fetched_at
2026-07-18 08:34:37