← Back to list

Abstraksi || Java

Abstraksi Bayangkan kamu sedang mengendarai mobil. Kamu tidak perlu tahu semua detail rumit tentang cara mesin bekerja, kan? Yang penting…

Mahardika Bayu Rahmadi · 2024-10-22 04:44 · 2 claps · 3.1 min read
#java #abstract-class-in-java
Open on Medium ↗
Wiki topics: TLS · Design Tools & Workflow

Abstraksi || Java

Abstraksi Bayangkan kamu sedang mengendarai mobil. Kamu tidak perlu tahu semua detail rumit tentang cara mesin bekerja, kan? Yang penting mobilnya bisa berjalan. Nah, inilah yang disebut abstraksi dalam Pemrograman Berorientasi Objek (PBO)! Abstraksi membantu kita menyederhanakan hal-hal yang rumit dengan fokus hanya pada bagian-bagian yang penting saja. Jadi, daripada pusing memikirkan bagaimana semuanya bekerja, kita hanya fokus pada apa yang dilakukan objek tersebut.

Kelas Abstrak Pernah mendengar tentang rencana besar, tetapi belum siap digunakan langsung? Kelas abstrak persis seperti itu! Kelas abstrak adalah cetak biru yang tidak bisa digunakan langsung untuk membuat objek, tapi kita bisa mewarisinya dan menambahkan detailnya. Kelas abstrak ini bisa punya metode yang belum lengkap (metode abstrak) dan metode yang sudah lengkap. Ketika kelas lain (subclass) mewarisi kelas abstrak ini, mereka harus melengkapi metode yang belum lengkap. Ini seperti memberikan template dan membiarkan subclass menyelesaikan gambarnya!

Ciri-Ciri Kelas Abstrak:

  • Tidak bisa langsung digunakan untuk membuat objek.
  • Bisa punya metode yang setengah jadi (abstrak) dan yang sudah jadi (dengan implementasi).
  • Subclass wajib menyelesaikan metode abstrak yang belum lengkap, seolah-olah menambahkan warna ke dalam gambar cetak biru!

Praktikum

A. Study Kasus

  1. Membuka Java IDE
  2. Membuat structur package dan class

  1. Code class Kendaraan:
package Praktikum9;

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

    // Metode dengan implementasi
    void info() {
        System.out.println("Ini adalah kendaraan.");
    }
}
  1. Code class Mobil:
package Praktikum9;

// Kelas turunan dari Kendaraan
class Mobil extends Kendaraan {
    @Override
    void berjalan() {
        System.out.println("Mobil sedang berjalan dengan cepat.");
    }
}
  1. Code class Sepeda:
package Praktikum9;

class Sepeda extends Kendaraan {
    @Override
    void berjalan() {
        System.out.println("Sepeda sedang berjalan dengan pelan.");
    }
}
  1. Code class Main:
package Praktikum9;

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

        // Memanggil metode dari objek
        mobil.berjalan();
        sepeda.berjalan();
        mobil.info();
        sepeda.info();
    }
}
  1. Hasil / Output:

  1. Membuat objek lain dari kelas kendaraan, apakah bisa?

Tidak bisa membuat objek langsung dari kelas abstrak seperti Kendaraan. Kelas abstrak hanya digunakan sebagai template bagi kelas turunan untuk mengimplementasikan metode yang didefinisikan sebagai abstrak. Jika mencoba membuat objek langsung dari kelas abstrak, maka akan muncul error. Contoh:

Kendaraan kendaraan = new Kendaraan();  // Ini akan menghasilkan errorjava

Pesan error yang mungkin muncul:

Kendaraan is abstract; cannot be instantiated

B. Latihan/tugas

  1. Membuat package baru “Tugas9” dan class dengan susunan berikut:

  1. Code class Hewan:
package Tugas9;

// Definisi kelas abstrak Hewan
abstract class Hewan {
    // Metode abstrak
    abstract void suara();
}
  1. Code class Kucing:
package Tugas9;

// Kelas turunan dari Hewan untuk Kucing
class Kucing extends Hewan {
    @Override
    void suara() {
        System.out.println("Kucing mengeluarkan suara: Meong");
    }
}
  1. Code class Anjing:
package Tugas9;

// Kelas turunan dari Hewan untuk Anjing
class Anjing extends Hewan {
    @Override
    void suara() {
        System.out.println("Anjing mengeluarkan suara: Guk Guk");
    }
}
  1. Code class Main:
package Tugas9;

// Kode utama untuk pengujian
public class Main {
    public static void main(String[] args) {
        // Membuat objek dari kelas turunan
        Hewan kucing = new Kucing();
        Hewan anjing = new Anjing();

        // Memanggil metode suara dari masing-masing objek
        kucing.suara();
        anjing.suara();
    }
}
  1. Hasil / Output:

Kesimpulan

Kelas abstraksi merupakan sebuah cetak biru untuk class turunanya (subclass). Dengan adanya class ini maka akan lebih mudah dalam inisialisasi metode pada subclass sehingga memudahkan susunan dan pengembangan code lebih lanjut.

Github-ku

https://github.com/byuJR/PraktikumPBO-9

Referensi

Nata, I. A. (n.d.). Abstraksi dan Kelas Abstrak (Modul 9). Program Studi Teknologi Informasi, Universitas Tidar.


메타데이터
post_id
eb04326730a2
slug
abstraksi-java-eb04326730a2
url
https://medium.com/@mahardika.bayu.rahmadi/abstraksi-java-eb04326730a2
canonical_url
https://medium.com/@mahardika.bayu.rahmadi/abstraksi-java-eb04326730a2
author_url
https://medium.com/@mahardika.bayu.rahmadi
status
ok
fetched_at
2026-07-18 08:34:37