STRUKTUR DATA
- ·· Pengertian
Struktur
data merupakan metode untuk melakukan penyimpanan, penyusunan, dan pengaturan
data pada media penyimpanan sehingga data tersebut dapat digunakan secara
efisien. Dalam teknik pemrograman, struktur data berarti pengaturan dan penyusunan
dari tata letak, kolom-kolom data, baik kolom data yang tampak oleh pengguna
program maupun tata letak kolom pada memori yang tidak tampak oleh pengguna,
yang tidak tampak ini hanya digunakan untuk kepentingan proses dalam program
saja.
- · Kegunaan
Struktur
data digunakan untuk meningkatkan efisiensi penggunaan memori pada saat program
komputer sedang bekerja. Penggunaan struktur data yang tepat pada pemrograman
dapat membuat algoritma menjadi lebih mudah, kemudahan ini membuat program
lebih efisien dan sederhana.
Meningkatkan
efisiensi merupakan tujuan utama pengaplikasian struktur data. Dengan struktur
data, proses reservasi memoriyang tidak perlu akan diminimalisasi. Selain itu
struktur data juga menjamin kemudahan pemahaman algoritma, sehingga untuk
menyelesaikan permasalahan seperti perkalian matriks dan tabel akan menjadi
lebih mudah dipahami
- · Jenis-jenis Struktur Data
1. Struktur Data Sederhana
a. Array (Larik)
Larik
adalah struktur data statistik yang menyimpan sekumpulan elemen yang bertipe
sama. Setiap elemen diakses langsung melalui indeksnya. Indeks larik harus tipe
data yang menyatakan keterurutan misalnya integer atau karakter. Banyaknya elemen
larik harus sudah diketahui sebelum program dieksekusi. Tipe elemen larik dapat
berupa tipe sederhana, tipe terstruktur, atau tipe larik lain. Nama lain array
adalah LARIK, TABEL, atau VEKTOR.
b. Record (Catatan)
ADT adalah
definisi tipe dan sekumpulan primitif (operasi datar) terhadap tipe tersebut. Tipe
diterjemahkan menjadi tipe terdefinisi dalam bahasa pemrograman yang
bersangkutan.
2. Struktur Data Majemuk
a. Linier
1. Stack (Tumpukan)
Stack (tumpukan)
adlah list linier yang dikenali elemen puncaknya (top), aturan penyisipan dan
penghapusan elemennya tertentu (penyisipan selalu dilakukan “di atas” (top),
penghapusan selalu dilakukan pada top). Karena aturan penyisipan dan penghapusan
semacam itu, top adalah satu-satunya alamat tempat terjadi operasi. Elemen yang
ditambahkan paling akhir akan menjadi elemen yang akan dihapus. Dikatakan bahwa
elemen stack akan tersusun secara LIFO
(Last In First Out).
2. Queue (Antrian)
Queue (antrian) adalah list linier yang dikenali elemen
pertama (head) dan elemen terakhirnya (tail). Aturan penyisipan dan penghapusan
elemennya didefinisikan penyisipan selalu dilakukan setelah elemen terakhir,
penghapusan selalu dilakukan pada elemen pertama; satu elemen dengan elemen
lain dapat diakses melalui informasi next.
3. List dan Multi-List (Daftar)
List linier
adalah sekumpulan elemen bertipe sama, yang mempunyai keterurutan tertentu,
yang setiap elemennya terdiri dari 2 bagian, sebuah list linier dikenali dengan
(1) Elemen pertamanya, biasanya melalui alamat elemen pertama yang disebut
(first); (2) Alamat elemen berikutnya (suksesor). Jika kita mengetahui alamat
sebuah elemen, yang dapat diakses melalui field text; (3) Setiap elemen
mempunyai alamat, yaitu tempat elemen disimpan dapat diacu. Untuk mengacu
sebuah elemen, alamat harus terdefinisi. Dengan alamat tersebut informasi yang
tersimpan pada elemen list dapat diakses; (4) Elemen terakhirnya.
b. Non-Linier
1. Binary tree (Pohon Biner)
Sebuah pohon
biner (binary tree) adalah himpunan terbatas yang mungkin kosong atau terdiri
dari sebuah simpul yang disebut sebagai akar dan dua buah himpunan lain yang
disjoint yang merupakan pohon biner yang disebut sebagai sub pohon kiri (left)
dan sub pohon kanan (right) cari pohon biner tersebut. Pohon biner merupakan
tipe yang sangat penting dari struktur data dan banyak dijumpai dalam berbagai
terapan. Karakteristik yang dimiliki oleh pohon biner adalah bahwa setiap
simpul paling banyak hanya memiliki dua buah anak, dan mungkin tidak punya
anak. Istilah-istilah yang digunakan sama dengan istilah pada pohon secara
umum.
2. Graph (Graf)
Graph merupakan
struktur data yang paling umum. Jika struktur linier memungkinkan pendefinisian
keterhubungan sekuensial antara entitas data, struktur data tree memungkinkan
pendefinisian keterhubungan hirarkis, maka struktur graph memungkinkan
pendefinisian keterhubungan tak terbatas antara entitas data. Banyak entitas-entitas
data dalam masalah-masalah nyata secara alamiah memiliki keterhubungan langsung
(adjacency) secara tak terbatas demikian. Contoh: informasi tapologi dan jarak
antar kota-kota dipulau jawa. Dalam masalah ini kota X bisa berhubungan
langsung dengan hanya satu atau lima kota lainnya. Untuk memeriksa
keterhubungan dan jarak titik langsung antara dua kota dapat diperoleh
berdasarkan data keterhubungan-keterhubungan langsung dari kota-kota lainnya
yang memperantarainya. Representasi data struktur data liner ataupun hirarkis
pada masalah ini masih bisa digunakan namun membutuhkan pencarian-pencarian
yang kurang efisien. Struktur data graph secara eksplisit menyatakan
keterhubungan ini sehingga pencariannya langsung (straightforward) dilakukan
pada strukturnya sendiri.
- Referensi :