Artikel Terbaru

7 Konsep Utama Penggunaan Abstraksi pada Java

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.

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.

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:
  • satu, Class abstrak adalah class yang dideklrasikan dengan menggunakan keyword abstract.
  • dua, Method abstrak adalah method yang dideklarasikan tanpa implementation.
  • tiga, Abstrak class mungkin memiliki atau tidak memiliki method abstrak. Beberapa dari abstrak class tersebut bisa saja memiliki method yang terkonsentrasi.
  • empat, 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.
  • lima, Class apapun yang mengandung lebih dari satu abstrak harus selalu dideklrasikan dengan menggunakan keyword abstrack.
  • enam, Tidak akan ada object dari class abstrak. Class abstrak tidak bisa diinisialisasi secara langsung dengan menggunakan operator new.
  • tujuh, Class abstrak dapat memiliki parameter constructor dan default constructor yang akan selalu tersedia pada class abstrak.

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
  • satu, Enkapsulasi adalah mekanisme menyembunyikan data atau menyembunyikan informasi  , sedangkan abstraksi adalah mekanisme yang menjelaskan rincian data yang disembunyikan (implementation hiding) tersebut.
  • dua, 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
  • satu, Mengurangi kompleksitas dari tampilan berbagai hal.
  • dua, Menghindari duplikasi kode dan meningkatkan reusability.
  • tiga, Meningkatkan keamanan dari aplikasi atau program yang hanya menyediakan rincian penting untuk diperlihatkan kepada user.

Komentar

  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

Posting Komentar

Respon komentar 7 x 24 jam, so please be patient :D

Hot Artikel!!!

Enkapsulasi pada Java

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

6 Contoh Program Method Overloading pada Java