Lompat ke konten Lompat ke sidebar Lompat ke footer

Menampilkan Komponen Penting Java Menggunakan Abstraksi

Data abstraksi adalah proses menampilkan komponen utama yang dianggap penting dari data rincian yang ditampilkan oleh user pada bahasa pemrograman Java. Data yang bersifat tidak penting atau tidak esensial tidak akan ditampilkan pada userContoh: Sebuah kendaraan akan ditampilkan sebagai sebuah kendaraan daripada satuan penyusun komponennya  seperti roda, kaca, dan lain sebagainya.

Sebelum lebih lanjut mempelajari artikel tentang cara Menampilkan Komponen Penting Java Menggunakan Abstraksi, terlebih dahulu pelajari materi tentang: Cara Bertukar Objek Java dan Fungsinya, Menerima Turunan Program Java Menggunakan Inheritance, dan Enkapsulasi Java dan Fungsinya.

Data abstraksi juga didefinisikan sebagai proses identifikasi karakteristik kebutuhan dari object dengan mengabaikan rincian yang tidak relevan. Properties dan behavior dari object berbeda dengan object lainnya dari tipe data yang sama, dan juga, membantu dalam proses klasifikasi atau pengelompokkan dari sebuah object.

Abstraksi merupakan salah satu konsep penting dalam pemrograman berorientasi objek. Dalam bahasa pemrograman Java, abstraksi memungkinkan pengembang untuk menyembunyikan detail implementasi tertentu dari pengguna, sementara hanya menampilkan informasi yang diperlukan. Dengan menggunakan abstraksi, pengembang dapat membuat kode yang lebih bersih, terstruktur, dan mudah dimengerti.

Java memiliki beberapa mekanisme untuk mengimplementasikan abstraksi, termasuk kelas abstrak dan antarmuka. Dalam artikel ini, akan dibahas bagaimana menggunakan abstraksi untuk menampilkan komponen penting dalam bahasa pemrograman Java.

Contoh, Seseorang yang sedang mengendarai kendaraan. Pada saat berkendara, hal yang diketahui oleh orang atau driver tersebut adalah cara untuk menekan gas guna meningkatkan kecepatan dari kendaraan yang dikendarainya, atau cara menekan rem guna menghentikan laju dari kendaraan, tetapi driver tidak mengetahui bagaimana proses yang terjadi ketika menekan gas pada kendaraan hingga dapat meningkatkan kecepatan dari laju kendaraan yang dikendarai oleh driver tersebut. Driver tidak mengetahui proses mekanisme dari mesin kendaraan ataupun implementasi dari proses peningkatan laju kendaraan ketika proses menekan gas, rem, dan lain sebagainya.

Pada Java, proses abstraksi dapat dilakukan dengan menggunakan interface.

Class Abstrak dan Method Abstrak:
  • Class abstrak adalah class yang dideklrasikan dengan menggunakan keyword abstract.
  • Method abstrak adalah method yang dideklarasikan tanpa implementation.
  • Abstrak class mungkin memiliki atau tidak memiliki method abstrak. Beberapa dari abstrak class tersebut bisa saja memiliki method yang terkonsentrasi.
  • Sebuah method yang akan didefinisikan sebagai abstrak harus selalu didefinisikan ulang dalam subclass, hal ini dilakukan guna menciptakan overriding compulsory atau membuat subclass itu sendiri sebagai abstrak.
  • Class apapun yang mengandung lebih dari satu abstrak harus selalu dideklrasikan dengan menggunakan keyword abstrack.
  • Tidak akan ada object dari class abstrak. Class abstrak tidak bisa diinisialisasi secara langsung dengan menggunakan operator new.
  • Class abstrak dapat memiliki parameter constructor dan default constructor yang akan selalu tersedia pada class abstrak.

Kelas Abstrak Java

Kelas abstrak adalah kelas yang tidak dapat diinstansiasi, tetapi dapat memiliki metode abstrak (tanpa implementasi) yang harus diimplementasikan oleh kelas turunannya. Dengan menggunakan kelas abstrak, pengembang dapat memodelkan entitas yang memiliki karakteristik umum, tetapi juga memiliki perbedaan dalam implementasi.

Contoh:

abstract class Bentuk 

{abstract void gambar();}


class Lingkaran extends Bentuk {

void gambar()

{System.out.println("Gambar lingkaran");}

}


class Persegi extends Bentuk {

void gambar() 

{System.out.println("Gambar persegi");}

}


public class Main {


public static void 

main(String[] args

{

Bentuk bentuk1 = new Lingkaran();

Bentuk bentuk2 = new Persegi();

        

bentuk1.gambar();

bentuk2.gambar();

}


}

Dari contoh yang diperlihatkan sebelumnya, bentuk adalah kelas abstrak yang memiliki metode abstrak gambar(). Kelas Lingkaran dan Persegi adalah turunan dari kelas Bentuk yang mengimplementasikan metode gambar() sesuai dengan kebutuhan.

Baca Juga:

Antarmuka Java

Antarmuka adalah kontrak yang mendefinisikan perilaku yang harus diikuti oleh kelas yang mengimplementasikannya. Dengan menggunakan antarmuka, pengembang dapat menciptakan pola perilaku yang konsisten di berbagai kelas.

Contoh:

interface Suara 

{void bersuara();}


class Anjing implements Suara {

public void bersuara() 

{System.out.println("Guk guk");}

}


class Kucing implements Suara {

public void bersuara() 

{System.out.println("Meong");}

}


public class Main {

public static void main(String[] args

{

Suara hewan1 = new Anjing();

Suara hewan2 = new Kucing();

        

hewan1.bersuara();

hewan2.bersuara();

}


}

Dari contoh yang diperlihatkan sebelumnya, Suara adalah antarmuka yang memiliki metode bersuara(). Kelas Anjing dan Kucing mengimplementasikan antarmuka Suara dan harus menyediakan implementasi untuk metode bersuara().

Penggunaan Class Abstrack dan Method Abstrak dan Contohnya

Ada suatu kondisi dimana harus mendefinisikan sebuah superclass guna mendeklarasikan struktur yang memberikan abstraksi tanpa menyediakan implementasi secara penuh dari setiap method. Terkadang programmer ingin menciptakan sebuah superclass yang hanya mendefinisikan gambaran umum yang dapat dibagikan (shared) terhadap sebuah subclass itu sendiri.

Contoh sederhana, seperti digunakan pada computer-aided design system atau game simulation.

// program Java

// mengilustrasikan konsep

// dari abstraksi.

abstract class Shape 

 

String color; 

 

/* method abstract */

abstract double area(); 

public abstract String toString(); 

 

// class abstract yang

// memiliki constructor.

public Shape(String color){ 

System.out.println("Constru"

+"ctor shape dipanggil"); 

this.color = color;} 

 

/* method terpusat */ 

public String getColor() { 

return color;} 

 

 

 

 

class Circle extends Shape 

{

 

double radius; 

 

public Circle(String color,double radius){ 

/* memanggil constructor shape */ 

super(color); 

System.out.println("Constru"

+"ctor circle dipanggil"); 

this.radius = radius;} 

 

@Override

double area() 

{return Math.PI * Math.pow(radius, 2);} 

 

@Override

public String toString() 

{return "Warna circle adalah " 

+super.color 

+"dan luas : "

+area();} 

 

}

 

 

 

class Rectangle extends Shape

 

double length; 

double width; 

 

public Rectangle(String color,double length,double width){ 

// memanggil constructor shape 

super(color); 

System.out.println("Constru"

+"ctor rectangle dipanggil"); 

this.length = length; 

this.width = width;} 

 

@Override

double area() 

{return length*width;} 

 

@Override

public String toString()

{return "Warna rectangle"

+" adalah "

+super.color

+"dan luas : "

+area();} 

 

}

 

 

 

public class Test 

 

public static void main(String[] args

Shape s1 = new Circle("Merah", 2.2); 

Shape s2 = new Rectangle("Kuning", 2, 4); 

System.out.println(s1.toString()); 

System.out.println(s2.toString()); 

}

 

}

Output:
Constructor shape dipanggil
Constructor circle dipanggil
Constructor shape dipanggil
Constructor 
rectangle dipanggil
Warna circle adalah Merahdan luas : 15.205308443374602
Warna rectangle adalah Yellowdan luas : 8.0

Enkapsulasi vs Data Abstraksi:
  • Enkapsulasi adalah mekanisme menyembunyikan data atau menyembunyikan informasi  , sedangkan abstraksi adalah mekanisme yang menjelaskan rincian data yang disembunyikan (implementation hiding) tersebut.
  • Enkapsulasi menggabungkan data dan method serta memberikan aksi terhadap data tersebut, sedangkan data abstraksi berkaitan dengan cara menampilkan interface kepada user dan menyembunyikan rincian dari implementasinya.

Keunggulan dari Abstraksi:
  • Mengurangi kompleksitas dari tampilan berbagai hal, dimana abstraksi memungkinkan untuk fokus pada detail yang penting dan mengabaikan yang tidak penting, sehingga mengurangi kompleksitas kode.
  • Menghindari duplikasi kode dan meningkatkan reusability.
  • Dengan menyembunyikan detail implementasi, abstraksi membuat kode lebih mudah dimengerti dan dipelihara.
  • Dengan membuat kelas abstrak atau antarmuka, maka dapat dihasilkan kode yang dapat digunakan kembali dalam berbagai konteks.
  • Meningkatkan keamanan dari aplikasi atau program yang hanya menyediakan rincian penting untuk diperlihatkan kepada user.

6 komentar untuk "Menampilkan Komponen Penting Java Menggunakan Abstraksi"

  1. Apa yang dimaksud dengan proses abstraksi pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Abstraksi merupakan proses menyembunyikan detail implementasi data dari akses pengguna, dimana hanya fungsionalitas yang akan diberikan atau dapat dibaca oleh pengguna tersebut. Dengan kata lain, pengguna atau user hanya akan mendapatkan informasi tetang apa yang akan dilakukan oleh object itu saja ketimbang bagaimana cara atau proses tersebut dapat dilakukan.

      Hapus
  2. Apa tujuan dari penggunaan abstraksi pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Tujuan utama dari data abstraksi pada pemrograman Java adalah untuk menyembunyikan detail atau rincian data yang sifatnya tidak terlalu diperlukan untuk diketahui oleh pengguna.

      Abstraksi dapat memilih data dari sekumpulan yang lebih besar untuk menampilkan detail object yang relevan terhadap user. Dimana hal ini dapat membantu dalam pengurangan kompleksitas dan upaya dalam pembuatan program, dan sekaligus merupakan salah satu konsep penting pada OOP Java.

      Hapus
  3. Pada bagian apa konsep abstraksi dapat diterapkan pada bahasa pemrograman Java?

    BalasHapus
    Balasan
    1. Pada Java, konsep abstraksi diterapkan pada penggunaan interface atau class abstract.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -