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 :
- Analisis algoritma
- Abstract data type (ADT) dan Java Collection API
- Pemograman secara rekursif
- Pengurutan (sorting)
- Implementasi struktur data linear, yaitu : list, stack, queue
- Struktur data hirarkis, yaitu: tree
- Binary search tree, AVL tree, Btree, Binary heap
- Hashtable
- 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 :
Selain itu alasan lain untuk mempelajari struktur data dan algoritma adalah :
- Menganalisa kelebihan dan kekurangan dari masing-masing struktur data.
- Cara yang terbaik untuk memahami masing-masing struktur data adalah membuatnya.
- Pada industri, bahasa yang digunakan tidaklah selalu Java. Mungkin saja di bahasa tersebut tidak terdapat library untuk struktur data.
- 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 :
- Input : ada minimal 0 input/lebih
- Output :ada minimal 1 output/lebih
- Define : ada kejelasan apa yang dilakukan
- Efective : langkah yang dikerjakan harus efektif.
Terminate : langkah harus dapat berhenti (stop) secara jelas
Bahasa pemograman bisa memiliki tipe data
- Built in : sudah tersedia oleh bahasa pemograman tersebut tidak berorientasi pada persoalan yang dihadapi
- UDT (User Defined Type) dibuat oleh pembuat program (pemograman) mendekati penyelesaian yang dihadapi. Contoh : record pada pascal, struct pada C dan Class pada Java.
- 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