Mengenal Tipe Data Abstrak Pada Java

Masih ingat dengan 3 jenis tipe data pada Java? Ada Tipe Data Primitif, Tipe Data Referensi dan Tipe Data Spesial.

Tipe Data Primitif berisi int, long, double, boolean dan sebagainya. Sedangkan Tipe Data Referensi diisi oleh String dan semua Class yang ada di Java. Tentunya setiap Class punya fungsi masing-masing, yang tidak dapat dibahas semua satu persatu. Terakhir adalah Tipe Data Spesial yang diisi oleh Array. Masing-masing dari ketiga tipe data tersebut memiliki ciri khas dan fungsi yang berbeda. Lalu, dimana Tipe Data Abstrak?

Tipe Data Abstrak

Tipe Data Abstrak (Abstract Data Type atau disingkat ADT) adalah sebuah konsep atau model untuk sebuah tipe data, yang mendefinisikan proses-proses khusus untuk tipe data tersebut. Sedangkan menurut definisi dari NIST, Tipe Data Abstrak adalah,

A set of data values and associated operations that are precisely specified independent of any particular implementation. - NIST

Tipe Data Abstrak hanya sebuah konsep atau model saja. Bentuk konkrit dari Tipe Data Abstrak adalah Struktur Data. Bentuk Struktur Data inilah yang dapat bermacam-macam jadinya pada setiap bahasa program. Sebagai contoh pada Java ada Struktur Data Stack dan Queue. Sedangkan pada JavaScript tidak ada class built-in untuk Struktur Data, kita harus buat sendiri atau menggunakan class yang sudah dibuat oleh developer lain.

Karena Tipe Data Abstrak hanyalah sebuah konsep dan model, maka implementasinya tidak lagi disebut sebagai Tipe Data Abstrak, melainkan Struktur Data.

Apa saja Tipe Data Abstrak

Ada beberapa jenis Tipe Data Abstrak yang populer digunakan, di antaranya:

  1. Stack, tipe data yang menggunakan prinsip tumpukan (stack) dalam menyimpan koleksi data.
  2. Queue, tipe data yang menggunakan prinsip antrian (queue) dalam menyimpan koleksi data.
  3. Linked List, tipe data yang terkoneksi secara berantai dari satu data ke data lainnya.
  4. Hash Table, tipe data yang menyimpan koleksi data menggunakan prinsip hashing.
  5. Tree, tipe data yang dapat menyimpan data secara hirarki.
  6. Graph, tipe data yang dapat saling terkoneksi satu dengan data lainnya.

Masing-masing Tipe Data Abstrak tersebut akan kita bahas lebih rinci secara terpisah. Untuk saat ini tentunya kita akan fokus dengan memahami tentang Tipe Data Abstrak secara umum dan apa saja Tipe Data Abstrak yang biasa digunakan.

Struktur Data

Berbeda dengan Tipe Data Abstrak, Struktur Data adalah bentuk konkrit dari konsep Tipe Data Abstrak. Misalkan saja kita mengetahui cara kerja Tipe Data Abstrak Stack, di dalam bahasa pemrograman Java kita dapat menggunakan Struktur Data Stack yang memiliki konsep sesuai dengan Tipe Data Abstrak.

Hanya saja, Struktur Data pada bahasa pemrograman sering kali memiliki fungsi tambahan yang tidak dijelaskan pada Tipe Data Abstrak. Hal ini biasa terjadi dalam rangka menyesuaikan kepada masing-masing bahasa pemrograman.

Menggunakan Tipe Data Abstrak (Struktur Data)

Berikut adalah contoh penggunaan Tipe Data Abstrak atau lebih tepatnya Struktur Data pada Java:

Tentu saja untuk menjalankan kode program di atas, kita harus membuat class Stack terlebih dahulu. Karena Java tidak menyediakan hampir sebagian besar Tipe Data Abstrak yang kita pelajari. Dan, memang umumnya Tipe Data Abstrak dapat dibuat pada Java ataupun berbagai bahasa pemrograman lainnya. Itulah sebabnya kita akan membahas masing-masing Tipe Data Abstrak di atas pada bab yang berbeda.

Kesimpulan

Dari beberapa definisi di atas, ada beberapa hal yang dapat kita pahami, antara lain:

  1. Tipe Data Abstrak adalah sebuah konsep atau model, sedangkan bentuk implementasinya adalah Struktur Data.
  2. Tipe Data Abstrak memiliki value dan operation tertentu yang dapat diaplikasikan pada tipe data yang lain.

Semua Tipe Data Abstrak yang akan dipelajari mulai dari Stack hingga Graph merupakan tipe data yang kompleks dan berstruktur. Untuk memahami konsep Tipe Data Abstrak dan Struktur Data lebih lanjut, silahkan pelajari tentang Struktur Data dan Manfaatnya.