Selasa, 16 Agustus 2011

Data dan Struktur Data

Salah satu hal penting yang tidak dapat ditinggalkan adalah Data. Data dapat diperoleh dari berbagai sumber. Mereka dapat diperoleh dari hasil pengukuran di laboratorium, dari hasil survey, angket dan sebagainya. Dengan berbagai macam cara data di transformasi menjadi informasi. Informasi sangat penting, karena memberikan dasar bagi pembuatan keputusan yang mantap dan ilmiah. Dalam satu Lembaga atau Organisasi, baik yang bersifat komersial dan industrial, bahkan organisasi yang bagaimanapun bentuknya, Data dipandang sebagai suatu kekayaan yang penting dan mahal.

Memang kadang-kadang sulit untuk didapat. Komposisi data dan logika dari algoritma yang memanfaatkan data tersebut berhubungan sangat erat. Data sederhana dapat kita himpun ke dalam suatu Struktur Data yang memuat informasi tentang hubungan antara item yang terdapat didalamnya. Data sederhana yang kita kenal, terdiri dari berbagai jenis atau type. Untuk mengelola data yang bermacam-macam jenis tersebut secara baik, guna menghasilkan informasi, pengetahuan mengenai struktur data amatlah penting.
Struktur Data adalah koleksi atau kelompok data yang dapat dikarakterisasikan oleh organisasi serta operasi yang didefenisaikan terhadapnya.

Struktur data sangat penting dalam sistem komputer. Terhadap setiap variabel didalam program, secara eksplisit  ataupun implisit, didefenisikan struktur data yang akan menentukan operasi yang berlaku terhadap variabel tersebut. Struktur data yang dibicarakan ini merupakan Struktur Data Logik. Bukan penyajian data secara fisik di storage.
Pada   garis  besarnya,  Data  dapat   dikatagorikan menjadi  :
  • Type Data Sederhana, atau Data Sederhana yang terdiri dari  :
  • Data Sederhana Tunggal, misalnya Integer, Real, Boolean serta Karakter.
  • Data Sederhana Majemuk, misalnya String.
Type data ini dengan berbagai cara dapat diorganisasikan menjadi berbagai Struktur Data.
Struktur Data, meliputi  :
1. Struktur Data Sederhana, misalnya Array dan Record.
2. Struktur Data Majemuk, terdiri atas :
@  Linear, misalnya Stack, Queue, serta Linear Link List.
@  Non Linear, misalnya Pohon  Biner  (Binary Tree),   Pohon  Cari   Biner    (Binary  Search Tree),  Pohon  Cari  M-Way  (M-Way Search Tree), Tree, General Tree serta Graph.
Kedua katagori diatas, terutama diperuntukkan bagi data didalam storage utama (main storage). Data yang diperuntukan bagi storage tambahan mempunyai struktur data yang dikenal sebagai Organisasi File. Type organisasi file diantaranya adalah Organisasi Squential, Organisasi Relative, Organisasi Indexed Squential, dan Organisasi Multikey. Dua buah struktur data sederhana adalah Array dan Record. Array merupakan struktur data yang terurut dan homogen, terdiri dari item yang bertipe data sama. Sedangkan Record merupakan struktur data yang boleh terdiri atas keterangan berbagai type data. Struktur data dari tatanan yang lebih tinggi terbentuk dari Record, disini termasuk daftar linear atau linear list (terutama antrian dan tumpukan) serta Graph. Pemakain struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan menjadi lebih sederhana. Algoritma berkerja atas dasar data yang menunjukan fakta dari permasalahan kita dalam dunia nyata. Algoritma dan Data menunjukan hasil dari pelaksanaan program, dan mempunyai hubungan yang simbolik. Dalam hal ini semakin cocok komposisi data untuk suatu aplikasi tertentu, semakin mudah algoritma tersebut melaksanakan tugasnya. Untuk menyederhanakan pelaksanaan algoritma, dianjurkan untuk mengatur data menjadi suatu unsur logika yang lebih tinggi dibandingkan variabel biasa. Unsur logika tersebut membentuk Struktur Data.
Dengan perkataan lain, suatu struktur data merupakan koleksi dari satuan data sederhana yang terorganisir dengan aturan tertentu. Oleh karena itu struktur data dicirikan oleh  :
1.  Jenis atau type data pembentuknya.
2.  Hubungan antara satuan data tersebut.
Contoh  :
Sebuah program akan dirancang untuk memberi simulasi kepada kemampuan kerja komputer. Algoritma simulasi ini memerlukan data tentang waktu dari pekerjaan yang akan diproses.

Sejumlah satuan data terbentuk, masing-masing menunjukan waktu tiba dari pekerjaan, kebutuhan data oleh komputer, dan sebagainya. Kemudian program akan mencontoh proses dari pekerjaan semu yang dibentuk oleh sistem komputer untuk disimulasikan. Program akan menjadi lebih jelas dan lebih sederhana apabila data yang menjadi bagian dari tiap-tiap pekerjaan diorganisir  ke dalam suatu unsur tunggal, yakni berupa sebuah record. Kemudian akan menjadi jelas lagi apabila record seperti itu diatur membentuk suatu struktur data yang lebih tinggi tingkatannya lagi, sehingga menjadi bentuk first-in-first-out (FIFO) sesuai  dengan waktu tiba pekerjaan yang diwakilinya. Struktur data seperti ini disebut Antrean (Queue).

Struktur Data tertentu seperti Array biasanya selalu tersedia bagi pemrogram didalam bahasa pemrograman tingkat tinggi yang dipakai.  Namun ada pula struktur data yang tidak tersedia, seperti misalnya struktur Tumpukan (Stack). Untuk itu harus disusun sendiri oleh Pemrogram dengan menggunakan variabel bertype sederhana ataupun dari struktur data yang telah tersedia. Sebuah Array merupakan dasar dari struktur data. Sebuah Array dapat menyatukan satuan data sederhana dan sejenis yang masing-masing mendapat nama secara kolektif dan dari indeks atau subskrip yang memberikan identifikasi terhadap posisi elemennya. Sebuah record terbentuk dari beberapa type data sederhana dan termasuk string. Data tersebut dibentuk sebagai unsur tunggal karena mereka memberikan gambaran dari obyek permasalahan yang nyata sehari-hari. Record biasanya ditingkatkan menjadi struktur data yang lebih tinggi, melalui nilai dari salah satu satuan datanya (disebut field). Variabel yang sederhana, Record dan juga Array, seperti kita katakan terdahulu, dapat diorganisir menjadi struktur data yang lebih tinggi. Struktur tersebut banyak yang bersifat dinamis, artinya bahwa dalam pelaksanaan program yang memakai struktur data tersebut, banyak komponen yang dapat berubah, ada komponen yang dapat dihilangkan  dan dimasukkan.

Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.