STRUKTUR DATA
Struktur
Data adalah cara penyimpanan
dan pengorganisasian data-data pada memori
komputer maupun file secara efektif sehingga dapat digunakan secara
efisien,
termasuk operasi-operasi di dalamnya. Stuktur data bias juga didefinisikan Kelompok
item data yang terorganisasi yang dianggap sebagai suatu unit. Disebut juga
sebagai jenis data kompleks (complex data type) atau data aggregates
Struktur data dibagi menjadi 2, yaitu:
1. Sederhana : Array, Record
2. Majemuk :
- Linier : Linier Linked List, Stack,
Queue
- Non Linier : Binary Tree, Binary
Search Tree, General Tree, Tree, Graf
Pemakaian struktur data yang tepat di
dalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan
tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan
sederhana.
Array (Larik)
Ø Set item data yang disusun secara baik
menjadi rangkaian dan diacu atau ditunjuk oleh satu identifier
Contoh
: Nilai = (56 42 89 65 48)
Ø Item data individual dalam array bisa
ditunjuk secara terpisah dengan menyatakan posisinya dalam array itu
·
Nilai(1)
menunjuk 56
·
Nilai(2)
menunjuk 42
Ø Bilangan yang ditulis dalam tanda kurung
menandakan posisi item individual dalam array (disebut juga subscript / indeks)
Ø Variabel bisa digunakan sebagai
subscript, misalnya
Nilai(i).
·
Jika
i = 2 maka menunjuk ke Nilai(2) yaitu 42
·
Jika
i = 4 maka menunjuk ke Nilai(4) yaitu 65
Ø Item data individual dalam suatu array
sering disebut elemen
Ø Matriks
·
Array
yang hanya berisi bilangan dan tidak ada data alfabetisnya
Ø Klasifikasi Array
·
Array
1 dimensi
·
Array
multi dimensi
Array Multi Dimensi
Ø Mempunyai elemen-elemen yang disusun ke
dalam baris dan kolom dan digunakan sebagai tabel data
Contoh
: Nilai ujian dari mahasiswa satu kelas untuk beberapa mata kuliah bisa
ditempatkan dalam array 2 dimensi
Penanganan Array
Metode dasar penanganan array :
·
Mencari
nilai terbesar
·
Mencari
nilai terkecil
·
Menghitung
nilai rata-rata
·
Menghitung
nilai total
·
Menghitung
jumlah nilai di bawah rata-rata
Menyortir Array (Sort)
·
Buble
sort
·
Straight
selection sort
Mencari/Meneliti Array (Search)
·
Linear
search
String
Ø Rangkaian karakter yang ditangani
sebagai unit data tunggal
Ø Contoh (string literal) :
“ABC,
32fl2. 3h”
“Kucing
dalam karung”
Ø Contoh (variabel string) :
A =
“Universitas”
B =
“Gunadarma”
Ø Berada dalam bentuk array karakter 1
dimensi
Ø Fixed-length string (String yang panjangnya
tetap)
Mempunyai
jumlah tempat karakter yang tetap yang tersedia (bisa digunakan) untuk penyimpanan
data
Ø Variable-length string (String yang panjangnya
berubah-ubah)
Memberi data
sejumlah spasi (ruang) sesuai yang ia perlukan
Operasi pada String
Ø Concatenation
Penggabungan
dua atau lebih string
Contoh
:
A =
“Universitas”
B = “Gunadarma”
C =
A + B
maka
C = “UniversitasGunadarma”
Ø Substring
Mengambil
bagian dari suatu stringContoh A = “Universitas”
B =
“Gunadarma”
C =
Left(A, 3)
D =
Right(B, 5)
E =
Substr(A, 4, 5)
Maka
C =
“Uni”
D =
“darma”
E = “versi”
Record
Ø Seperti array 1 dimensi
Ø Terdiri dari serangkaian item data yang
terkait
Ø Item data berurutan yang ada dalam
record bisa mempunyai jenis yang berbeda
Ø Contoh : Mengorganisasikan 3 item data
yang berbeda ke dalam struktur data tunggal
NIP
: string(8)
Nilai
: real
Lulus
: Boolean
Ø Setiap elemen memiliki identifier
sendiri
Ø Elemen dari suatu record disebut field
Ø Array Record (Tabel)
·
Kumpulan
dua atau lebih record
·
Deklarasi
Array Record
Variable
Mahasiswa
: Array [1..5] of record
NIP
: string(8)
Nilai : real
Lulus
: boolean
End record
List
Memberikan cara yang fleksibel untuk
penanganan item data secara urut
Perubahan terhadap urutan tersebut dapat
dicapai (dilakukan) dengan perpindahan data yang minimal dan kehilangan ruang
penyimpanan yang sedikit
Contoh : Kalimat "Ahmad does not
like cake" dituliskan sebagai suatu list, seperti berikut :
Beberapa istilah
·
DATUM
: item data dalam list
·
POINTER
: penunjuk yang menyambungkan item data satu dengan yang lain
·
NODE
/ elemen : elemen dari suatu list yang terbentuk dari datum dan pointer
·
TERMINATOR
: pointer terakhir dari list
·
START
POINTER : menyatakan tempat datum pertama
·
FREE
STORAGE POINTER : menyatakan di mana datum berikutnya bisa mengarah atau menuju
Deklarasi List
List dapat dideklarasikan sebagai sebuah
array record
Variable
kalimat : Array [1..7] of record
Datum : string
Next : integer
End record
Operasi pada List
ü Deletion : penghapusan elemen suatu list
Ketika
elemen suatu list dihapus, tempat penyimpanan yang telah dikosongkan dapat digunakan
lagi
ü Insertion : penyisipan elemen ke dalam suatu
list
ü Search : pencarian elemen dalam suatu
list
Tree
Struktur data hirarki
Dikonstruksi menggunakan aturan preseden
untuk item data, misal : menggunakan rangkaian alphabet atau numerik
Beberapa Istilah :
ü NODE : elemen dari suatu tree. Setiap
node memiliki (sedikitnya) dua pointer yaitu left pointer dan right pointer
ü ROOT NODE : datum pertama yang
ditempatkan dalam tree
ü PARENT NODE : node yang memiliki node di
bawahnya (sub-node)
ü CHILD NODE : node yang berada di bawah parent
ü LEAF NODE : node yang tidak mempunyai
child
Contoh : bilangan-bilangan ini (56 42 89
65 48) ditempatkan ke dalam tree
Catatan :
·
Node
paling kiri berisi bilangan terkecil
·
Node
paling kanan berisi bilangan terbesar
Sumber :
http://maranugraha.staff.gunadarma.ac.id/Downloads/files/30783/Struktur+Data+1.pdf