Jumat, 24 Mei 2013

STRUKTUR DATA

Dalam istilah ilmu komputer, sebuah struktur data adalah cara penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga data tersebut 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) atau pun 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.


Fakta atau keterangan tentang kenyataan yang disimpan, direkam atau direpresentasikan dalam bentuk tulisan, suara, gambar, sinyal atau simbol

Secara garis besar type data dapat dikategorikan menjadi :

1. Type data sederhana
a. Type data sederhana tunggal, misalnya
Integer, real, boolean dan karakter
b. Type data sederhana majemuk, misalnya
String

2. Struktur Data, meliputi
a. Struktur data sederhana, misalnya array dan record
b. Struktur data majemuk, yang terdiri dari
Linier : Stack, Queue, serta List dan Multilist
Non Linier : Pohon Biner dan Graph

 Materi-materi yang dipelajari pada struktur data dan algoritma pada java :
  1. Analisis algoritma
  2. Abstract data type (ADT) dan Java Collection API
  3. Pemograman secara rekursif
  4. Pengurutan (sorting)
  5. Implementasi struktur data linear, yaitu : list, stack, queue
  6. Struktur data hirarkis, yaitu: tree
  7. Binary search tree, AVL tree, Btree, Binary heap
  8. Hashtable
  9. Graph
Pentingnya belajar struktur data dan algoritma adalah pada pemilihan struktur data maupun algoritma yang tepat dapat membuat program lebih efisien, mudah, dan elegan.

Selain itu alasan lain untuk mempelajari struktur data dan algoritma adalah :
  1. Menganalisa kelebihan dan kekurangan dari masing-masing struktur data.
  2. Cara yang terbaik untuk memahami masing-masing struktur data adalah membuatnya.
  3. Pada industri, bahasa yang digunakan tidaklah selalu Java. Mungkin saja di bahasa tersebut tidak terdapat library untuk struktur data. 
  4. Melatih berpikir tentang efisiensi

Hubungan struktur data dengan algoritma

Dengan pemilihan struktur data yang baik maka masalah yang kompleks dapat diselesaikan sehingga algoritma dapat digunakan secara efisien, operasi-operasi penting dapat dieksekusikan dengan sumber daya yang lebih kecil memory yang lebih kecil dan waktu eksekusi yang lebih cepat.
Ciri algoritma yang baik :
  1. Input : ada minimal 0 input/lebih
  2. Output :ada minimal 1 output/lebih
  3. Define : ada kejelasan apa yang dilakukan
  4. Efective : langkah yang dikerjakan harus efektif.
Terminate : langkah harus dapat berhenti (stop) secara jelas
Bahasa pemograman bisa memiliki tipe data
  1. Built in : sudah tersedia oleh bahasa pemograman tersebut tidak berorientasi pada persoalan yang dihadapi
  2. UDT (User Defined Type) dibuat oleh pembuat program (pemograman) mendekati penyelesaian yang dihadapi. Contoh : record pada pascal, struct pada C dan Class pada Java.
  3. ADT (Abstract Data Type), memperluas konsep UDT dengan menambahkan pengkapsulan/enkapulasi berisi sifat-sifat dan operasi-operasi yang bisa dilakukan terhadap kelas tersebut


referensi:
http://id.wikipedia.org/wiki/Struktur_data
http://sdajava.blogspot.com/
http://agusp3rmana.wordpress.com/modulku/struktur-data/
http://aqwamrosadi.staff.gunadarma.ac.id/

Tidak ada komentar:

Posting Komentar