Bagi seseorang yang sedang belajar untuk menjadi programmer, pasti udah
ngga asing lah ya sama kata struktur data ini atau dalam bahasa inggrisnya
adalah data structure. Pakai bahasa pemrograman apapun, struktur data
inilah yang jadi landasan nomor dua setelah kita mengenal algoritma. Bagi yang
masih noob, don’t worry ! Kuy kita belajar bareng disini.
Jadi, apa sih struktur data itu ? Fungsinya buat apa ? Kita dapat apa
kalau kita belajar struktur data ? Sewaktu saya masih dibangku kuliah, saya
benar-benar noob tentang pemrograman. Ketika pertama dikenalin matakuliah ini,
kesan pertama ga ada senengsenengnya. Seriuus. Waktu itu, sempat berfikir
gunanya apa sih matakuliah ini buat ke depannya ? Udah susah, banyak pula yang
harus dipelajari. Dan di penghujung semester, saya menemukan jawabannya. So ?
What is this ? Silahkan teruskan membaca J
Struktur data adalah susunan data yang terdapat dalam
memori. Kita bisa mempelajari bagaimana data itu diambil, diproses, disimpan
dan diolah dalam memori dengan struktur data. Jenis dan macam dari struktur
data yang akan kita pelajari ada arrays, linked lists, stacks, binary trees, hash tables dan yang
lainnya. Nah, seperti yang saya katakan sebelumnya, dasar utama dalam
pemrograman adalah Algoritma. Peran algoritma dalam struktur data adalah
membantu memanipulasi dalam proses pengolahan data seperti searching,
sorting.
Berikut rangkuman yang saya ambil dari buku
(Lafore,
2002) mengenai jenis-jenis struktur data beserta
plus minusnya ketika teman-teman ingin memilih salah satu dari struktur data
dibawah ini :
Jenis Struktur Data
|
Keuntungan
|
Kelemahan
|
Array
|
Proses insert (memasukkan data) cepat,
Proses akses data cepat jika diketahui indexnya
|
Pencarian lama
Proses hapus data lama
Jumlah size bersifat statis
|
Array terurut
|
Pencarian lebih cepat daripada array biasa
|
Proses insert dan delete data lama
Jumlah size bersifat statis
|
Stack
|
Last In – First Out
(Yang masuk terakhir, dieksekusi pertama)
|
Akses data per item masih lama
|
Queue
|
First In – First Out
(Yang masuk pertama, dieksekusi pertama)
|
Akses data per item masih lama
|
Linked List
|
Insert dan delete cepat
|
Pencarian lama
|
Binary tree
|
Pencarian, insert dan delete cepat (jika tree
seimbang)
|
Algoritma untuk hapus data rumit
|
Hash table
|
Akses data cepat jika key diketahui
Insert cepat
|
Delete dan akses data lama jika key tidak
diketahui,penggunaan memori tidak efisien
|
Heap
|
Insert, delete dan akses data cepat
|
Akses data lama
|
Graph
|
Pemodelan real-world
|
Algoritma yang digunakan kompleks
|
Lalu, apa aja nih yang mau dibahas disini ? Materi nya
coba saya mix dan olah dari beberapa sumber, sehingga bab yang akan dipelajari
dalam struktur data ini adalah sebagai berikut :
- Array
- Simple Sorting
- Stack and Queues
- Linked List
- Recursion
- Advanced Sorting
- Binary Trees
- Hash Table
- Collection : Set, List, Map
- Graph
Sepuluh jenis struktur data ini nantinya akan dibahas dengan menggunakan
bahasa pemrograman java ya. Kalau nanti banyak request tambahan materi dengan
topik yang sama dari teman-teman, comment dibawah ya. Akan dipertimbangkan
sebagai bahan masukan. Thankiss :*
Yang ingin download materi ini, silahkan klik disini.
Mengenal Struktur Data