Pengertian Struktur Data
Struktur data adalah tata letak data yang berisi kolom-kolom data (kolom yang tampak oleh user maupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna). Setiap baris dari kumpulan kolom-kolom tersebut dinamakan catatan (record). Lebar kolom untuk data dapat berubah dan bervariasi. Ada kolom yang lebarnya berubah secara dinamis sesuai masukan dari pengguna, dan juga ada kolom yang lebarnya tetap. Dengan sifatnya ini, sebuah struktur data dapat diterapkan untuk pengolahan database (misalnya untuk keperluan data keuangan) atau pengolah kata untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Struktur data juga merupakan kumpulan dari objek-objek data yang lain.
Atribut-atribut penting untuk suatu tipe data terstruktur meliputi :
a. Jumlah Komponen
Berdasarkan jumlah komponen selama eksekusi program, maka dapat dikelompokkan menjadi :
– Struktur Data Statis (Jumlah komponennya tidak berubah)
– Struktur Data Dinamis (Jumlah komponennya dapat berubah)
b. Tipe untuk setiap komponennya
Apabila tipe data untuk seluruh komponennya harus sama, maka disebut Struktur Data Homogen, dan bila dimungkinkan komponennya mempunyai tipe data yang berbeda-beda, maka disebut Struktur Data Heterogen.
c. Nama-nama untuk memilih komponen
Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara individu. Pada suatu array (kumpulan data yang mempunyai tipe sama), hal ini dilakukan dengan sebuah indeks berupa angka.
d. Jumlah maksimum komponen
Tidak semua jenis struktur data harus ditentukan jumlah maksimum komponen, namun untuk sebuah tipe data dinamis mungkin perlu ditentukan dengan jelas.
e. Pengorganisasian semua komponennya
Susunan yang paling umum adalah berupa barisan linier seperti pada array berdimensi 1, record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non linier seperti array multi dimensi dan juga pohon/tree.
Operasi-operasi pada struktur data meliputi :
a. Operasi seleksi komponen
Proses pada struktur data seringkali merupakan proses pada masing-masing komponen untuk kemudian diproses dengan operasi primitive atau prosedur dan fungsi yang didefinisikan oleh programmer. Operasi seleksi komponen adalah operasi untuk mengakses komponen dan membuatnya tersedia untuk pemrosesan dengan operasi yang lain. Operasi ini dapat dibedakan menjadi operasi akses secara random dimana komponen struktur data yang diakses dapat berganti-ganti, dan operasi akses secara berurutan, dimana komponen-komponen diakses satu demi satu dalam urutan/rangkaian pemrosesan.
b. Operasi struktur data secara keseluruhan
Operasi ini memungkinkan mengambil struktur data secara keseluruhan sebagai argumennya dan menghasilkan struktur data yang baru.
c. Penyisipan dan Penghapusan komponen
Operasi ini akan mengubah jumlah komponen dan berpengaruh pada representasi dan pengelolaan penyimpanan.
d. Pembuatan dan penghapusan struktur data
Implementasi Tipe Struktur Data
Isu-isu yang berkembang dan mempengaruhi pemilihan representasi penyimpanan meliputi pemilihan komponen dari sebuah struktur data menjadi makin efisien dan kemungkinan untuk mencapai efisiensi secara keseluruhan pada pengelolaan penyimpanan. Dua bentuk representasi penyimpanan untuk struktur data adalah :
1. Representasi berurutan (sequential representation)
Struktur data disimpan dalam sebuah blok berurutan yang mencakup descriptor dan komponen-komponennya.
2. Representasi terhubung(linked representation)
Struktur data disimpan pada beberapa blok penyimpanan di tempat yang berbeda-beda dalam memori. Blok-blok tersebut dihubungkan/disambung dengan pointer-pointer. Sebuah pointer dari blok A ke blok B dinyatakan dengan menyimpan alamat blok B, pada suatu lokasi yang disediakan dalam blok A. Sebuah pointer(penunjuk) diantara dua blok memori disebut penghubung(link).