Hai semua! Kabarnya masih baik bukan ? J

    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.