Dulu waktu aku kuliah, aku gak terlalu serius sama pelajaran ini. Tapi ternyata pemahaman ttg struktur data itu penting banget.
Sebenarnya buat apa sih struktur data itu? Kenapa penting dipahamin?
Jawabannya: Karena kita koding untuk menyelesaikan masalah sehari-hari di dunia nyata.
Contoh Masalah Sehari-hari di Dunia Nyata
Sehari-hari tanpa kita sadari, ternyata struktur data bener2 deket banget dengan kehidupan kita lho. Ayo coba kita ambil contoh:
-
Pertemanan di Facebook - merupakan sebuah struktur data graph, yaitu 1 vertex (dalam bahasa Indonesia; sudut. Atau dalam konteks ini setiap orang di Facebook) saling berhubungan dengan vertex lainnya. Penghubungnya disebut edge atau dlm bhs Indonesia; garis tepi;
-
Google Map - ini juga sebuah graph. Vertex nya bisa koordinat toko kopi kesayangan mu, atau tiap persimpangan, belokan atau koordinat posisimu. Edge nya adalah jalan raya-nya
-
Antrean di Restoran - Kalo dibawa ke dalam computer science bentuk data nya adalah Queue. (first-in first-out)
-
Tombol back/forward di Browser - Ini adalah sebuah Stack, kenapa begitu? Karena ketika kalian tekan tombol back atau forward pasti berurutan sesuai dengan urutan kunjungan kalian. (first-in last-out)
-
HTML - Kalo ini adalah sebuah Tree, coba bayangkan
<body>
adalah sebuah batang (trunk), dan mempunyai lebih dari satu cabang, dan Text di dalemdiv
merupakan daun-nya (leaves). Yuk kita visualisasikan.
<body>
<div>halo</div>
<div>dunia</div>
</div>
/*
body
/\
div div
/ \
hello dunia
/*
- MLM/Referal System - Ini juga adalah sebuah Tree, dimana satu orang mempunyai satu atau lebih downline.
- Silsilah Keluarga - Kakek mempunyai anak, anak mempunyai anak lagi dst. Yup, ini adalah sebuah Tree juga!
Nah, kebetulan ada penjelasan bagus tentang Struktur data (dalam bhs Inggris) + code nya juga dalam Javascript. Di tutorial tsb menjelaskan beberapa struktur data dibawah ini:
- List
- HashTable
- Stack
- Queue
- Graph
- LinkedList
- Trees
- Binary Search Tree
Link Tutorial: Itsy Bitsy Data Structure
Cusss, langsung gas baca tutorial nya dan praktekkan!!
Credit: James Kyle