Anda di halaman 1dari 14

STRUKTUR DATA

Royan Habibie Sukarna, S.Kom

Definisi

Struktur data adalah cara menyimpan atau


merepresentasikan data di dalam komputer agar
bisa dipakai secara efisien

Data adalah representasi dari fakta dunia nyata

Fakta atau keterangan tentang kenyataan yang


disimpan, direkam atau direpresentasikan dalam
bentuk tulisan, suara, gambar, sinyal atau
simbol

Hubungan Algoritma & Struktur Data

Algoritma yang baik + Struktur data yang tepat =


program yang baik

Pemilihan algoritma dan struktur data yang tepat harus


mempertimbangkan skala data, CPU, memori, dsb.

Perlu pengetahuan algoritma dan struktur apa saja yang


ada dan mungkin dipakai

Manfaat Struktur Data


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.
Membuat program lebih ringkas, lebih
bersih, lebih elegan, lebih mudah dan lebih
mampu berkinerja tinggi (karena efisien
dalam penggunaan memori dan waktu)
Program berjalan membutuhkan waktu
beberapa detik, di mana struktur yang lain
mungkin akan membutuhkan ribuan detik.

Linked List
Linked List adalah salah satu bentuk
struktur data, berisi kumpulan data (node)
yang tersusun secara sekuensial, saling
sambung-menyambung, dinamis dan
terbatas.
Linked List sering disebut juga Senarai
Berantai
Linked List saling terhubung dengan
bantuan variabel pointer
Masing-masing data dalam Linked List
disebut dengan node (simpul) yang
menempati alokasi memori secara dinamis
dan biasanya berupa struct yang terdiri
dari beberapa field.

Array Vs Linked List

Bentuk Node
Pengertian:
Single : artinya field pointer-nya hanya satu buah saja dan
satu arah serta pada akhir node, pointernya menunjuk NULL
Linked List : artinya node-node tersebut saling terhubung
satu sama lain.

Setiap node pada linked list mempunyai field yang berisi


pointer ke node berikutnya, dan juga memiliki field yang
berisi data.
Node terakhir akan menunjuk ke NULL yang akan digunakan
sebagai kondisi berhenti pada saat pembacaan isi linked list.

Linked List dalam Pascal


Variabel Statis, Dinamis, dan Pointer

Variabel Statis Vs Variabel Dinamis


Variabel Statis

Variabel Dinamis

Suatu tipe data yang bersifat statis


(ukuran dan urutannya sudah pasti)

Variabel yang akan dialokasikan hanya


pada saat diperlukan

Ruang memori yang dipakai oleh


variabel tersebut tidak dapat dihapus

Dapat dihapus pada saat program


dieksekusi

ukuran variabel akan selalu berubah.

Variabel Pointer

berisi alamat memori yang digunakan oleh


variabel dinamik
adalah suatu variabel yang menunjuk ke
alamat memori yang digunakan untuk
menampung data yang akan diproses.

Deklarasi Variabel Pointer :

Var <Nama Variabel> : ^<Tipe Data>


Contoh Pendeklarasian :
Var
JumlahData : ^Integer;
NamaSiswa : ^String[25];
NilaiSiswa : ^Real;

Pendeklarasian variabel pointer tidak jauh


berbeda dengan pendeklarasian variabel
biasa, hanya perlu ditambahkan simbol
topi ( ^ ) biasa juga disebut ceret atau
circumflex. Simbol topi tersebut menandakan
bahwa variabel tersebut menunjuk ke lokasi
tertentu di memori.

Operasi pada Pointer

Pada pointer ada dua operasi dasar yang


dapat dilakukan yaitu :
1. Operasi mengkopi simpul
2. Operasi mengkopi isi simpul

Contoh :
Var
P1, P2 : ^Byte;
=============================
==========
P1:=P2;
-> mengkopi simpul
P1^:=P2^;
-> mengkopi isi simpul

Linked List dalam Pascal

Deklarasi Linked List di dalam Pascal :


Type
PSimpul
= ^Simpul
Simpul = Record
Info : Tipe Data;
Next : PSimpul;
End;
Var
Head, Tail : PSimpul;

Variabel Head dan Tail selanjutnya dialokasikan


dengan statement New(), yang dihasilnya nantinya
merupakan link list yang sudah terbentuk.

Point-point dalam Linked List


1.
2.
3.

4.

5.

Link list selalu memiliki pointer petunjuk yang selalu


menunjuk pada awal dari list yang disebut Head.
Link list juga selalu memiliki pointer petunjuk menunjuk pada
akhir dari list yang disebut Tail, kecuali untuk jenis circular.
Setiap simpul yang terbentuk selalu memiliki nilai NIL,
kecuali jika simpul tersebut sudah ditunjuk oleh simpul yang
lainnya (Link list belum terhubung).
Posisi simpul terakhir pada link list selalu bernilai NIL karena
ia tidak menunjuk pada simpul yang lainnya, kecuali bentuk
circular.
Operasi yang dapat dilakukan pada Link List diantaranya
adalah :
a.
b.
c.

Menambah Simpul (di Depan, Belakang dan Tengah).


Menghapus Simpul (di Depan, Belakang dan Tengah).
Membaca isi link list (Membaca maju dan mundur).

Anda mungkin juga menyukai