PENGERTIAN, JENIS - JENIS, CONTOH, KELEBIHAN DAN KEKURANGAN STRUKTUR DATA
STRUKTUR DATA
A. Pengertian
Dalam ilmu komputer, struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam meia penyimpanan komputer sehingga data dapat digunakan secara efisien.
Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolom yang tampak oleh pengguna (user) ataupun 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 untuk pengolah kata (word processor) yang kolomnya berubah secara dinamis. Contoh struktur data dapat dilihat pada berkas-berkas lembar-sebar (spreadsheet), pangkal-data (database), pengolahan kata, citra yang dipampat (dikompres), juga pemampatan berkas dengan teknik tertentu yang memanfaatkan struktur data.
B. Kegunaan
1.) Memudahkan dalam memahami dan memecahkan masalah algoritma
2.) Meningkatkan efisiensi memori saat program komputer sedang bekerja
3.) Proses reservasi memori yang tidak perlu akan diminimalisasi
C. Jenis-jenis
1. Struktur data sederhana , meliputi:
a. Array (Larik)
Larik adalah struktur data statik yang menyimpan sekumpulan elemen yang bertipe sama, misalnya tipe sederhana, tipe terstruktur dan lain-lain. Setiap elemen dapat diakses langsung melalui indeksnya. Indeks larik harus berupa tipe data yang berurutan dan banyaknya elemen larik harus diketahui dahulu sebelum program dieksekusi.
b. Record (catatan)
Catatan adalah kumpulan data yang terdiri dari beberapa field (isian) dengan berbagai macam tipe data.
2. Struktur data majemuk, meliputi:
a. Linear
Queue (Antrian)
Queue (Antrian) adalah list linear yang dikenali elemen pertama (head) dan elemen terakhirnya (tail). Aturan penyisipan selalu dilakukan setelah elemen terakhir, dan aturan penghapusan selalu dilakukan pada elemen pertama. Antar elemen satu dengan yang lain dapat diakses melalui informasinext.
Stack (Tumpukan)
Stack (Tumpukan) adalah list linear yang dikenali elemen puncaknya (top). Aturan penyisipan selalu dilakukan diatas top, dan aturan penghapusan selalu dilakukan pada top. Elemen yang di tambahkan paling terakhir itulah elemen yang akan dihapus. Elemen stack tersusun secara LIFO (Last In First out).
List dan Multi-List (Daftar)
List dan Multi-List (Daftar) adalah sekumpulan list linear dengan elemen yang bertype sama dan memiliki urutan tertentu. Setiap elemennya memiliki 2 bagian.
b. Non Linear
Binary tree (Pohon Biner)
Binary tree (Pohon Biner) adalah himpunan terbatas yang mungkin kosong atau terdiri dari sebuah simpul yang disebut akar dan dua buah himpunan lain yang disjoint yang disebut sub pohon kiri (left) dan sub pohon kanan (right). Karakteristik pohon biner adalah setiap simpul paling banyak hanya memiliki dua buah anak dan mungkin tidak punya anak.
Graph (Graf)
Graph (Graf) adalah struktur data yang paling umum. Struktur graph memungkinkan keterhubungan tak terbatas antara entitas-entitas data.
Contoh Penerapan Struktur Data
1. List
a. Dalam kehidupan sehari – hari :
Daftar presensi kelas dimana terdapat list dari siswa yang berurut sesuai NIM. Selain itu juga ada Daftar menu makanan pada restoran yang menyajikan menu urut dari harga terendah hingga termahal.Daftar menu makanan
b. Dalam lingkup informatika.
Penyajian data list lagu dalam pembuatan aplikasi pemutar musik.
2. Queue
a. Dalam kehidupan sehari- hari :
Saat menunggu antrian dokter umum dimana ada konsep first in – first out atau pertama masuk pertama keluar. Jika antrian kita paling pertama maka kitalah yang pertama kali akan dipanggil oleh dokter.
b. Dalam lingkup informatika :
Aplikasi pendaftaran yang menggunakan limit waktu dan beberapa season atau periode. Dimana jika kita mendaftar pada season yang pertama maka otomatis kita akan tercatat pada database pendaftar pertama.
3. Stack
a. Dalam kehidupan sehari-hari :
Pengambilan Koran yang tertumpuk di dalam kardus. Hal ini mengandung konsep stack dimana first in – last out, Koran yang pertama ditaruh pada tumpukan akan diambil paling terakhir saat pengurutan pembacaan tumpukan.
b.Dalam lingkup informatika :
Sistem pengeluaran peluru pada game FPS (first player shooter) dimana peluru yang ter-load pertama kali maka akan keluar pada saat akhir dan sebaliknya terjadi pada peluru yang ter-load terakhir kali.
- Kelebihan dan kekurangan dari struktur data :
a. Array :
-Kelebihan :
1. Struktur data paling mudah
2. Memori ekonomis, bila semua elemen terisi
3. Waktu akses sama kesetiap elemen
-Kekurangan :
1. Boros memori jika banyak elemen yang tidak digunakan
2. Struktur data statis.
b. Ordered Array
-Kelebihan : lebih cepat dalam urusan pencarian data jika dibandingkan dengan array biasa.
-Kekurangan : lambat dalam pengisian data dan penghapusan data, selain itu ukurannya tetap, walaupun array tidak terisi penuh.
c. Stack
-Kelebihan :
1. Penambahan dan penghapusan data dapat dilakukan dengan cepat, yaitu O (1)
2. Selama memori masih tersedia, penambahan data bias terus dilakukan. Dengan demikian tidak ada kekhawatiran terjadinya stack overflow.
-Kekurangan :
1. Setiap sel tidak hanya menyimpan value saja, melainkan juga pointer ke sel berikutnya. Hal ini menyebabkan implementasi stack memakai linked list akan memerlukan memori yang lebih banyak dari pada kalau di implementasikan dengan Array.
2. Tiap elemen pada linked list hanya bisa diakses dengan cara sekuensial, sehingga lambat, yaitu O (n).
d. Queue
-Kelebihan :
1. Data yang pertama masuk maka akan pertama dilayani.
-Kekurangan :
1. Data yang terakhir masuk, bila waktu pelayanan habis kemungkinan bisa tidak dilayani.
Referensi;
Anjas
BalasHapus