Uploaded by User66317

RESUME From Static Data Structure to Dynamic Data Structure

advertisement
RESUME : FROM STATIC DATA STRUCTURE TO DYNAMIC DATA STRUCTURE
Dalam ilmu komputer tentu tidak asing dengan Bahasa pemrograman, dalam Bahasa
pemrograman sendiri ada istilah algoritma dan struktur data. Algoritma pemrograman adalah
urutan atau langkah penyelesaian masalah dalam pemrograman komputer sedangkan struktur data
adalah suatu kumpulan objek-objek data yang memiliki aturan (terorganisir) yang kemudian
digolongkan berdasarkan operasi-operasi untuk memanipulasinya. Komponen yang dimuat dalam
struktur data ini dapat berupa objek data elementer atau objek data terstruktur lainnya. Objek data
elementer merupakan objek data yang hanya mempunyai sebuah nilai tunggal dan hanya
dimanipulasi sebagai sebuah satuan, contohnya adalah integer, Boolean, char dan lain-lain.
Sedangkan objek data terstruktur merupakan kumpulan dari objek-objek data yang lain, contoh
objek data terstruktur adalah array, record, list, stack/tumpukan, queue/antrian, tree/pohon,
set/himpunan, file/berkas dan lain-lain. 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.
Atribut-atribut penting untuk suatu tipe data terstruktur meliputi:
1. Jumlah komponen
Berdasarkan perubahan pada jumlah komponen selama eksekusi program, maka dapat
dikelompokkan menjadi struktur data statis (fixed size data structure) yang jumlah
komponennya tidak berubah, dan struktur data dinamis (variable size data structure) yang
jumlah komponennya dapat berubah.
2. Tipe untuk setiap komponennya
Apabila tipe data untuk seluruh komponennya harus sama, maka disebut struktur data
homogen, dan bila dimungkinkan komponennya mempunyai tipe data yang berbeda-beda,
maka disebut struktur data heterogen.
3. Nama-nama untuk memilih komponen
Hampir semua struktur data menyediakan operasi untuk mengakses komponen secara
individu. Pada suatu array, hal ini dilakukan dengan sebuah subscript/indeks berupa angka.
4. Jumlah maksimum komponen
Untuk sebuah struktur data dinamis mungkin perlu ditentukan dengan jelas.
5. Pengorganisasian semua komponen
Susunan yang paling umum adalah berupa barisan linier seperti pada array berdimensi 1,
record, list, stack dan file. Selanjutnya ada yang dapat dikembangkan menjadi struktur non
linear seperti array multi dimensi dan juga pohon/tree.
Struktur data statis merupakan struktur data yang jumlah komponennya tidak dapat
berubah atau sudah ditentukan sebelumnya. Contoh struktur data statis yaitu:
1. Array(Larik)
Larik adalah struktur data statik 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.
2. Record(Catatan)
Suatu objek benda biasanya mempunyai atribut yang perlu dicatat, setiap atribut yang perlu
dicatat, memerlukan sebuah variabel untuk menyimpannya. Array dapat dipakai untuk
menyimpan beberapa atribut yang jenisnya sama. Tetapi array tidak dapat menyimpan data
yang jenisnya berbeda-beda. Untuk mengumpulkan semua atribut atau data-data yang
jenisnya tidak sama, dapat menggunakan struktur data Record. Sama seperti Array, hampir
semua Bahasa pemrograman menyediakan struktur data Record sebagai struktur data
bawaan. Record adalah struktur data yang tersusun atas elemen-elemen yang jumlahnya
tertentu dan tipe data elemennya dapat berbeda-beda. Elemen sebuah record disebut field.
Sebagai struktur data statis, hanya elemen yang sudah didaftarkan tercatat di bagian
deklarasi saja yang dapat digunakan, dan tidak dapat menambah maupun menghapus
elemen.
Struktur data dinamis merupakan struktur data yang jumlah komponennya dapat berubahubah. Contoh struktur data dinamis yaitu:
1. Stack(Tumpukan)
Stack(tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) serta aturan
penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas”
TOP dan 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). Contohnya yaitu dalam
kehidupan sehari-hari setumpuk koran, dimana koran yang paling terakhir ditambahkan
dan ditaruh diatas adalah koran yang dapat dilihat.
2. Queue(Antrian)
Queue dalam pengertian singkatnya adalah antrian, queue adalah struktur data yang
mempunyai sifat FIFO(First In First OUT) yang artinya data yang pertama kali masuk
merupakan data yang akan keluar paling awal. Dalam queue dikenal dengan istilah elemen
pertama (HEAD) dan elemen terakhirnya (TAIL). Aturan penyisipan dan penghapusan
elemennya adalah penyisipan selalu dilakukan setelah elemen terakhir dan penghapusan
selalu dilakukan pada elemen pertama. Satu elemen yang lain dapat diakses melalui
informasi NEXT. Adapun contoh dari queue dalam kehidupan sehari-hari adalah saat
seseorang mengantri di sebuah bank, antrian pembayaran di Tol, antrian di SPBU dalam
mengisi bahan bakar transportasi dan lain sebagainya.
3. Linked List
Link list adalah desain tempat penyimpanan data yang terdiri dari node-node(simpulsimpul) yang saling terhubung. Secara umum link list juga disebut sebagai sekumpulan
elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya terdiri
dari dua bagian. Struktur berupa rangkaian elemen saling berkait dimana setiap elemen
dihubungkan elemen lain melalui pointer. Pointer adalah alamat elemen. Penggunaan
pointer untuk mengacu elemen berakibat elemen-elemen bersebelahan secara logik walau
tidak bersebelahan secara fisik di memori. Link list dapat diilustrasikan seperti kereta api,
dimana kereta api terdiri dari gerbong-gerbong yang saling terhubung yang dapat
mengangkut penumpang. Gerbong disini setara dengan node dalam link list yang berfungsi
untuk menyimpan data.
Download