Struktur
Data
Struktur data
adalah cara menyimpan dan mengatur data secara terstruktur pada sistem komputer
atau database sehingga lebih mudah diakses. Secara teknis, data dalam bentuk angka,
huruf, simbol, dan lainnya ini diletakkan dalam kolom-kolom dan susunan tertentu.
Dalam
menyusun data, terdapat beberapa istilah yang perlu Anda pahami, yaitu node dan
indeks. Berikut adalah penjelasan tentang kedua istilah tersebut.
●
Node, yaitu elemen yang terdapat dalam struktur data.
Setiap node berisi pointer ke node selanjutnya.
●
Indeks, yaitu objek dalam sistem database yang bisa
mempercepat proses pencarian data.
Struktur
data bisa digunakan untuk mengelola database, melakukan kompres file, hingga mengolah
data lainnya. Praktis, struktur ini menjadi hal yang harus dipelajari karena dapat
membantu Anda untuk menyatukan berbagai elemen data secara efektif. Apalagi, struktur
data juga akan mempengaruhi ketepatan algoritma pemrograman.
Berikut
tipe struktur data yang digunakan untuk menyimpan data di komputer.
1. Array
Tipe Array mempunyai kumpulan elemen yang jaraknya saling berdekatan. Array dapat membantu seseorang untuk mencari data secara acak hanya menggunakan indeksnya.
Kapasitas elemen yang dapat dialokasikan pada tipe array bersifat statis. Jika Anda ingin menyisipkan
elemen baru ke array, maka harus membuat
array baru dengan ukuran yang lebih besar.
Sebaliknya, jika ingin menghapus elemen tertentu, Anda harus membuat array baru dengan ukuran yang lebih kecil.
Selain itu, array juga memungkinkan Anda untuk menyimpan
beberapa data dengan jenis yang sama dalam satu nama. Tipe array biasa digunakan untuk membangun struktur data, seperti vektor
dan matriks.
Keunggulan tipe array:
● Bisa
digunakan sebagai implementasi tipe lainnya, seperti queue dan stack.
● Proses
pencarian data bisa dilakukan lebih cepat.
Kekurangan tipe array:
● Penambahan
dan pengurangan data membutuhkan waktu yang lebih lama karena tipe array menampung data secara berurutan.
2. Linked List
Linked list adalah struktur data yang terdiri dari urutan data linier yang dihubungkan satu sama lain. Saat menggunakan tipe linked list, Anda harus mengakses data secara manual. Hal ini karena Anda tidak bisa mencari data dengan sistem acak.
Tipe linked list terbagi
menjadi tiga jenis, yaitu singly linked list,
doubly linked list, dan circular linked
list. Ketiganya dapat dibedakan dari proses traversal atau proses kunjungan
ke setiap node dalam satu waktu.
Keunggulan tipe linked list:
●
Ukuran lebih dinamis.
●
Alokasi penggunaan memori
bisa Anda sesuaikan dengan kebutuhan.
●
Penambahan atau pengurangan
data lebih cepat.
Kekurangan tipe linked list:
●
Menguras memori yang lebih
besar.
●
Tidak bisa kembali ke node sebelumnya (reverse traversal), kecuali pada jenis doubly linked list.
●
Proses traversal lebih panjang karena tidak langsung
mengakses data dengan indeks.
3. Stack
Stack adalah tipe struktur data yang linier dan mengikuti urutan tertentu. Adapun urutan yang digunakan adalah LIFO (Last In First Out) atau FILO (First In Last Out). Kedua istilah tersebut artinya sama, yaitu data yang terakhir masuk akan menjadi data yang keluar pertama kali. Sebaliknya, data yang pertama masuk akan menjadi data yang keluar terakhir.
Keunggulan tipe stack:
●
Dapat mengelola data secara
efisien.
●
Bisa membersihkan objek
secara otomatis.
●
Dapat mengontrol memori
dengan mandiri.
Kekurangan tipe stack:
●
Kapasitas memori yang sangat
terbatas.
●
Kemungkinan terjadi overflow ketika jumlah objek terlalu banyak.
●
Tidak dapat mengakses data
secara acak.
4. Queue
Queue adalah tipe struktur data linear yang mengikuti urutan tertentu, yaitu FIFO (First In First Out). Jadi, data yang masuk pertama kali adalah data yang pertama kali diambil. Analogi sederhana yang menggambarkan tipe ini adalah orang yang sedang mengantre. Siapa yang datang pertama, itulah yang dilayani terlebih dulu.
Keunggulan tipe queue:
● Data
yang masuk akan dilayani sesuai urutannya.
● Proses
antrean data lebih cepat dan optimal.
● Menangani
beberapa tipe data sekaligus.
Kekurangan tipe queue:
● Jika
waktu pelayanan habis, maka data yang terakhir masuk tidak bisa dilayani.
● Proses
yang rumit saat harus menambah atau menghapus elemen dari tengah.
● Butuh
waktu lama untuk mencari antrean.
5. Tree
Tree adalah tipe struktur data yang memiliki bentuk seperti pohon. Tipe tree efisien untuk menyimpan data secara hierarkis karena disusun dalam berbagai level. Jadi, tipe ini sering dianggap sebagai kumpulan node yang saling dihubungkan.
Setiap node bisa berisi beberapa
data atau link dari node lainnya. Beberapa
istilah yang ada pada tipe tree antara
lain:
●
Root:
node yang berada di paling atas..
●
Child
node: Turunan dari setiap node.
●
Parent
node: node yang berisi sub-node.
●
Siblings:
node yang berasal dari parent node yang sama.
●
Leaf
node: node
yang tidak memiliki turunan lagi.
Keunggulan tipe tree:
●
Proses mencari data bisa
dilakukan dengan cepat.
Kekurangan tipe tree:
●
Membutuhkan waktu yang lebih
lama untuk memasukkan data karena harus menyesuaikan dengan urutan nilainya.
6. Graph
Graph adalah tipe yang berisi beberapa node yang saling terhubung. Node pada tipe graph disebut sebagai simpul. Jadi, setiap garis akan saling menghubungkan dua simpul. Biasanya tipe ini digunakan untuk menunjukkan jaringan tertentu. Contohnya seperti jaringan telepon.
Tipe graph terbagi menjadi
dua jenis jenis, yaitu directed graph
dan undirected graph. Directed
graph artinya setiap garis akan terhubung ke semua simpul. Sedangkan undirected
graph artinya tidak semua simpul akan terhubung dengan garis. Jika sebuah
simpul tidak terhubung dengan simpul lainnya, maka disebut dengan isolated
vertex.
Keunggulan tipe graph:
●
Dapat membantu memeriksa
hubungan antar node dengan cepat.
●
Cocok digunakan untuk grafik
yang tidak mengandung banyak node.
Kekurangan tipe graph:
●
Membutuhkan waktu lama untuk
memodifikasi data.

Tidak ada komentar:
Posting Komentar