Struktur
data linear adalah kumpulan komponen-komponen yang tersusun membentuk satu
garis linear. Bila komponen-komponen ditambahkan (atau dikurangi), maka struktur-struktur
tersebut berkembang (atau menyusut). Pemakaian sturktur data yang tepat di
dalam proses pemrograman akan menghasilkan algoritma
yang lebih jelas dan tepat , sehingga menjadikan program
secara keseluruhan lebih efisien dan sederhana. Struktur
data yang ‘standar’ yang biasanya digunakan di bidang informatika adalah :
- Linked List
Linked List adalah suatu struktur data yang merupakan
himpunan terurut. Misal didefinisikan suatu linear list A yang terdiri atas T
buah elemen sebagai berikut :
A
= [a1, a2, .........., aT]
Jika T = 0, maka A dikatakan sebagai “Null List”.
Suatu elemen dari sembarang
posisi pada linear list A dapat dihilangkan. Sebaliknya, suatu elemen baru
dapat dimasukkan ke dalam list dan dapat menempati sembarang posisi pada list
tersebut. Jadi suatu linear list dapat berkurang atau bertambah setiap saat.
Linked List merupakan struktur data dinamis. Data
disimpan dalam bentuk rangkaian seperti rangkaian gerbong kereta api. Setiap
gerbong disebut node. Setiap node mempunyai dua buah bagian , yaitu medan
informasi (tempat data) , dan penyambung (link field) yang berisi alamat node
berikutnya.
Jenis-jenis Linked List:
·
Double
linked list Non Circular
·
Single
linked list Circular
·
Single
linked list Non Circular
- Stack (Tumpukan)
Stack adalah struktur
data linear dimana penambahan atau pengurangan komponen dilakukan di satu ujung
saja. Stack merupakan suatu bentuk khusus dari linear list di mana operasi
penyisipan dan penghapusan atas elemen-elemennya hanya dapat dilakukan pada
satu sisi saja yang disebut sebagai “TOP”.
Stack juga merupakan struktur
data yang seolah olah data ditempatkan di atas data yang lain. Diibaratkan
seperti menumpuk piring, maka data yang baru datang akan ditempatkan di atas
data yang sebelumnya.
Ada operasi dasar yang
didefinisikan pada stack, yaitu :
1). Push : Operator ini berfungsi
untuk menambahkan satu elemen ke dalam stack. Notasi yang digunakan adalah : PUSH(E,S) Artinya : menambahkan elemen
E ke dalam stack S. Elemen yang baru masuk ini akan menempati posisi TOP. Jadi
: TOP(PUSH(E,S)) = E.
Akibat dari operasi ini
jumlah elemen dalam stack akan bertambah, artinya NOEL(S) menjadi lebih besar
atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false).
2). Pop : Operator ini
berfungsi untuk mengeluarkan satu elemen dari dalam stack. Notasinya : POP(S)
Elemen yang keluar dari dalam stack adalah
elemen yang berada pada posisi TOP. Akibat dari operasi ini jumlah elemen stack
akan berkurang atau NOEL(S) berkurang dan elemen pada posisi TOP akan berubah.
Operator POP ini tidak dapat digunakan pada stack kosong, artinya : POP(CREATE(S)) = error condition.
- Queue (Antrian)
Queue (Antrian) adalah struktur
data linear dimana penambahan komponen dilakukan di satu ujung, sementara
pengurangan dilakukan di ujung lain (yang satu lagi). Queue merupakan struktur
data yang seolah olah penempatan datanya seperti orang mengantri di loket. Data
yang baru akan datang ditempatkan yang paling akhir. Manfaat dari Queue yaitu :
- digunakan OS untuk
mengatur eksekusi task dalam suatu sistem untuk mencapai perlakuan yang “adil”
(seringkali queue disebut waiting line)
- untuk mailbox dalam
komunikasi antar proses
- untuk buffer dalam
mekanisme printspooler, komunikasi data
- untuk simulasi dan
modeling (misalnya simulasi sistem pengendali lalu lintas udara) dalam
memprediksi performance
- Tree ( Pohon)
Tree merupakan struktur data yang menempatkan data
seperti pohon biner , yaitu pohon yang hanya memiliki 2 cabang. Implementasinya
menggunakan pointer dua link field.
0 komentar:
Posting Komentar