Pengertian
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) 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.
struktur
data umum
1. Larik
(Bahasa Inggris: array),
dalam ilmu komputer, adalah suatu tipe data terstruktur
yang dapat menyimpan banyak data dengan suatu nama yang sama dan
menempati tempat di memori yang berurutan (kontigu) serta
bertipe data sama pula.
Larik dapat diakses berdasarkan indeksnya. Indeks
larik umumnya dimulai dari 0 dan ada pula yang dimulai dari angka bukan 0.
Pengaksesan larik biasanya dibuat dengan menggunakan perulangan (looping).
· Larik Satu Dimensi
Larik satu dimensi merupakan jenis larik dasar dan jenis
larik yang paling sering digunakan, pemakaian larik satu dimensi terutama
dipakai dalam tipe data string (terutama dalam bahasa Bahasa pemrograman C).
· Larik Dua Dimensi
Larik dua dimensi merupakan tipe larik yang lain. Larik
dua dimensi sering dipakai untuk merepresentasikan tabel dan matriks dalam
pemrograman.
2. List
List atau senarai adalah sebuah pemikiran/konsep struktur
data yang sangat dasar pada pemrograman agar lebih fleksibel, di mana setiap
elemen akan ditambahkan saat dibutuhkan, tidak dialokasikan dengan tempat
tertentu di dari awal.
· List statis
merupakan list dengan jumlah elemen yang sudah dibatasi.
contoh : array
· List Dinamis
adalah List dengan jumlah maksimal elemen tidak
ditentukan pada kode program. contoh : pointer.
Tipe – Tipe List :
· List kosong
hanya terdiri dari sebuah penunjuk elemen yang berisi
NULL (kosong). List kosong tidak memiliki satu buah elemen pun sehingga hanya
berupa penunjuk awal elemen yang berisi NULL (kosong)
· List tunggal
adalah sebuah list yang elemennya hanya menyimpan
informasi elemen setelahnya (next) sehingga jalannya pengaksesan list hanya
dapat dilakukan secara maju.
· List ganda
adalah sebuah list yang elemennya menyimpan informasi
elemen sebelumnya dan informasi elemen setelahnya (dua buah pengait) sehingga
proses penelusuran list dapat dilakukan secara maju dan mundur.
3. Stack
Stack atau tumpukan adalah sebuah kumpulan data dimana
suatu data diletakkan di atas data yang lain. Dengan demikian stack adalah
struktur data yang menggunakan konsep LIFO. Sehingga elemen terakhir yang
disimpan dalam stack menjadi elemen pertama yang diambil.
· Stack dengan
representasi statis
biasanya diimplementasikan dengan menggunakan array.
Sebuah array memiliki tempat yang dialokasikan di awal sehingga sebuah elemen
yang dimasukan dalam sebauh array terbatas pada tempat yang ada pada array.
· Stack dengan
representasi dinamis
biasa diimplementasikan dengan menggunakan pointer yang
menunjuk pada elemen-elemen yang dialokasikan pada memori.
4. Queue
Queue/antrian adalah ordered list dengan penyisipan di
satu ujung, sedang penghapusan di ujung lain. Ujung penyisipan biasa disebut
rear/tail, sedang ujung penghapusan disebut front/head. Fenomena yang muncul
adalah elemen yang lebih dulu disisipkan akan juga lebih dulu diambil. Queue
berdisiplin FIFO (First In, First Out). Queue merupakan kasus khusus ordered
list. Dengan karakteristik terbatas itu maka kita dapat melakukan optimasi
representasi ADT Queue untuk memperoleh kerja paling optimal.
Karakteristik Queue memang terbatas, tetapi Queue
merupakan kakas dasar penyelesaian masalah-masalah besar, seperti simulasi
fenomena antrian di dunia nyata, serta fenomena antrian di pengolahan data.
Beberapa fenomena dunia nyata berupa antrian diantaranya : antrian pembelian
tiket di depan loket untuk bis, kereta api, bioskop; antrian mobil di depan
gerbang jalan tol; antrian kendaraan di jalanan umum; dll.
Representasi Queue dapat dilakukan dengan empat cara,
yaitu:
· Representasi Sekuen
· Representasi Sekuen
linear
· Representasi Sekuen
Melingkar
· Representasi Dinamis
5.
Pohon
Pohon
adalah suatu struktur data yang digunakan secara luas yang menyerupai struktur
pohon dengan sejumlah simpul yang terhubung.
Simpul
Sebuah
Simpul dapat mengandung sebuah nilai atau suatu kondisi atau menggambarkan
sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri. Setiap
simpul dalam sebuah pohon memiliki nol atau lebih simpul anak (child nodes),
yang berada dibawahnya dalam pohon (menurut perjanjian, pohon berkembang ke
bawah, tidak seperti yang dilakukannya di alam). Sebuah simpul yang memiliki
anak dinamakan simpul ayah (parent node) atau simpul leluhur (ancestor node)
atau superior. Sebuah simpul paling banyak memiliki satu ayah. Tinggi dari
pohon adalah panjang maksimal jalan ke sebuah daun dari simpul tersebut. Tinggi
dari akar adalah tinggi dari pohon. Kedalaman dari sebuah simpul adalah panjang
jalan ke akarnya dari simpul tersebut.
-
Daun (Leaf
nodes)
9, 14,
19, 67 dan 76 adalah daun.
Semua
simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node).
Sejak mereka terletak pada tingkat paling bawah, mereka tidak memiliki anak
satupun. Seringkali, daun merupakan simpul terjauh dari akar. Dalam teori
grafik, sebuah daun adalah sebuah sudut dengan tingkat 1 selain akar (kecuali
jika pohonnya hanya memiliki satu sudut; maka akarnya adalah daunnya juga).
Setiap pohon memiliki setidaknya satu daun.
Dalam
pohon berdasarkan genetic programming sebuah daun (juga dibilang terminal)
adalah bagian terluar dari sebuah program pohon. Jika dibandingkan dengan
fungsinya atau simpul dalam, daun tidak memiliki argumen. Di banyak kasus dalam
daun-GP input ke programnya.
-
Simpul
dalam (Internal nodes)
Sebuah
simpul dalam adalah semua simpul dari pohon yang memiliki anak dan bukan
merupakan daun. Beberapa pohon hanya menyimpan data di dalam simpul dalam,
meskipun ini memengaruhi dinamika penyimpanan data dalam pohon. Sebegai contoh,
dengan daun yang kosong, seseorang dapat menyimpan sebuah pohon kosong dengan
satu daun. Bagaimanapun juga dengan daun yang dapat menyimpan data, tidak
dimungkinkan untuk menyimpan pohon kosong kecuali jika seseorang memberikan
beberapa jenis penanda data di daun yang menandakan bahwa daun tersebut
seharusnya kosong (dengan demikian pohon itu seharusnya kosong juga).
-
Simpul (node)
Sebuah
Simpul dapat mengandung sebuah nilai atau suatu kondisi atau menggambarkan
sebuah struktur data terpisah atau sebuah bagian pohon itu sendiri. Setiap
simpul dalam sebuah pohon memiliki nol atau lebih simpul anak (child nodes),
yang berada dibawahnya dalam pohon (menurut perjanjian, pohon berkembang ke
bawah, tidak seperti yang dilakukannya di alam). Sebuah simpul yang memiliki
anak dinamakan simpul ayah (parent node) atau simpul leluhur (ancestor node)
atau superior. Sebuah simpul paling banyak memiliki satu ayah. Tinggi dari
pohon adalah panjang maksimal jalan ke sebuah daun dari simpul tersebut. Tinggi
dari akar adalah tinggi dari pohon. Kedalaman dari sebuah simpul adalah panjang
jalan ke akarnya dari simpul tersebut.
-
Daun (Leaf nodes)
9, 14,
19, 67 dan 76 adalah daun.
Semua
simpul yang berada pada tingkat terendah dari pohon dinamakan daun (leaf node).
Sejak mereka terletak pada tingkat paling bawah, mereka tidak memiliki anak
satupun. Seringkali, daun merupakan simpul terjauh dari akar. Dalam teori
grafik, sebuah daun adalah sebuah sudut dengan tingkat 1 selain akar (kecuali
jika pohonnya hanya memiliki satu sudut; maka akarnya adalah daunnya juga).
Setiap pohon memiliki setidaknya satu daun.
Dalam
pohon berdasarkan genetic programming sebuah daun (juga dibilang terminal)
adalah bagian terluar dari sebuah program pohon. Jika dibandingkan dengan
fungsinya atau simpul dalam, daun tidak memiliki argumen. Di banyak kasus dalam
daun-GP input ke programnya.
-
Simpul dalam
Sebuah
simpul dalam adalah semua simpul dari pohon yang memiliki anak dan bukan
merupakan daun. Beberapa pohon hanya menyimpan data di dalam simpul dalam,
meskipun ini memengaruhi dinamika penyimpanan data dalam pohon. Sebegai contoh,
dengan daun yang kosong, seseorang dapat menyimpan sebuah pohon kosong dengan
satu daun. Bagaimanapun juga dengan daun yang dapat menyimpan data, tidak
dimungkinkan untuk menyimpan pohon kosong kecuali jika seseorang memberikan
beberapa jenis penanda data di daun yang menandakan bahwa daun tersebut
seharusnya kosong (dengan demikian pohon itu seharusnya kosong juga).
Sebaliknya,
beberapa pohon hanya menyimpan data dalam daun, dan menggunakan simpul dalam
untuk menampung metadata yang lain, seperti jarak nilai dalam sub pohon yang
berakar pada simpul tersebut. Jenis pohon ini berguna untuk jarak yang
meragukan.
Sumber
:
https://id.wikipedia.org/wiki/Struktur_data
http://salehcahyadi.blogspot.co.id/2012/11/struktur-data-list-stack.html
https://denysiswanto88.wordpress.com/2012/12/20/struktur-data-queueantrian/
Tidak ada komentar:
Posting Komentar