Anda di halaman 1dari 5

DATA DAN STRUKTUR DATA

Rizky agung saragiih’, Surya3, Habibi Syahrozi4, Indra Gunawan5


Program Studi Teknik Informatika, STIKOM Tunas Bangsa Pematangsiantar
Jl.Jend.Sudirman Blok A No.1-3 Pematangsiantar
Email : auliahidayah69@gmail.com1, santasilalahi14@gmail.com2, harrisnurfadlan@gmail.com3,
habibisyahrozisembiring@gmail.com4

ABSTRAK
Dalam dunia teknologi dan informasi, Pengolah data atau informasi dibagi berdasarkan struktur dari data
atau informasi tersebut. Struktur Data merupakan metode atau cara penyimpanan, penyususan,
pengorganisasian, pengelompokan dan pengaturan berbagai data dalam suatu media penyimpanan dalam
sistem komputer sehingga dapat dimanfaatkan secara efektif dan efisien. Penggunaan struktur data yang
tepat dalam pemrograman menghasilkan Algoritma yang lebih tepat dan jelas sehingga membuat
keseluruhan program menjadi lebih sederhana. Dalam teknik pemrograman, struktur data dapat juga
diartikan sebagai tata letak data yang memuat kolom data, baik yang terlihat oleh pengguna (user) ataupun
yang tidak terlihat untuk keperluan dalam pemrograman. Sebuah struktur data dapat digunakan untuk
pengolahan database atau untuk pengolah kata yang kolomnya berubah secara beraturan.

Kata Kunci : Struktur Data, Node, Tipe Data

ABSTRAC
In the world of technology and information, processing data and information is divided based on the
structure of the data or information. Data structure is a method or method of storing, arranging,
organizing, grouping, and arranging various data in a storage medium in a computer system so that it can
be utilized effectively and efficiently. The use of proper data structures in programming results in more
precise and clear algorithms and makes the whole program simpler. In programming techniques, data
structures can also be interpreted as data layouts that contain columns of data, either visible to the user or
invisible for programming purpose. A data structure can be used for database processing or for word
processing whose columns change regularly.

Keywords : Data Structure, Node, Type data

PENDAHULUAN a. Type data sederhana tunggal


➢ Integer
Salah satu hal yang terpenting dan tidak Integer merupakan bilangan
dapat dipisahkan dalam penggunaan komputer bulat yang tidak mengandung
adalah data. Data merupakan suatu fakta-fakta pecahan, seperti: -1,0,1,2
tertentu sehingga menghasilkan kesimpulan dalam ➢ Float
menarik suatu kesimpulan. Data adalah representasi Float merupakan type data
dari fakta dunia nyata yang disimpan, direkam, bilangan pecahan,
direpresentasikan tidak hanya dalam bentuk teks ➢ Boolean
tetapi juga dalam bnetuk suara, sinyal maupun Hanya mempunyai dua bentuk
simbol. output yaitu True dan False
Struktur data adalah mempresentasikan dan dinyatakan dengan 1 dan 0,
data pada memory secara logika dan setiap variabel satuan data yang dipakai hanya
di dalam program dikarakterisasikan secara satu bit saja.
eksplisit atau implisit. Sebagai dasar teknik dari ➢ Character
database, Struktur data diperlukan dalam Type data yang meliputi digit
perencanaan algoritma dan penyusunan program. numerik, character alfabetik
Type data dapat dikategorikan sebagai dan special character.
berikut : b. Type data sederhana majemuk,
1. Type data sederhana misalnya string.
String terbentuk dari kumpulan
karakter sebanyak 256 (default) dan
jangkauan nilai dari 0-255.

2. Struktur Data.
Struktur data terdiri dari:
a. Struktur data sederhana
Gambar 1.1 Ilustrasi Array
1) Array merupakan type data
terstruktur yang mampu
Dalam array ada beberapa jenis operasi yang
menyimpan data dengan tipe sama.
digunakan, yaitu replace, insert, delete, seacrh, sort,
Array terdiri dari array dimensi 1, 2
dan lain-lain.
dimensi dan array dimensi banyak
(multidimensi).
2) Record
B. Linked List
Type data record dapat
menampung tipe data yang
Linked list merupakan struktur data yang
berbeda-beda.
memuat sekumpulan elemen bertipe sama yang
b. Struktur data majemuk
memiliki keterurutan tertentu dimana setiap elemen
Struktur data majemuk terdiri dari :
saling berhubungan dengan elemen lain melalui
1) Linier
suatu pointer.
Seperti : Stack (tumpukan), Linear
Linked list juga dikenal sebagai struktur data
Linked List dan Queue (antrian).
yang terdiri dari urutan record data yang mana
2) Non Linier
setiap record memiliki field yang menyimpan
Seperti : Tree (pohon), Binary Tree
alamat referensi dari alamat record selanjutnya.
(Pohon Biner), General Tree dan
Tipe linked list ini dapat berupa bagian-bagian
Graph.
dari aneka macam data yang tersimpan secara acak.
Linked list terdiri dari node-node yang saling
terhubung. Dalam linked list , data atau node yang
PEMBAHASAN
pertama disebut head dan node yang terakhir
disebut tail.
A. Array/Larik.
Operasi penambahan atau penghapusan sebuah
node dapat mengubah nilai pada pointer linknya.
Array/Larik merupakan struktur data sederhana
Beberapa jenis linked list, yaitu :
yang menyimpan sekumpulan elemen yang terurut
a. Singly Linked List (satu arah)
dan bertipe sama. Array juga dapat diartikan sebagai
Merupakan linked list yang memiliki hanya
pemesanan alokasi memori sementara pada
satu variabel pointer saja dan pointer
komputer. Array dapat juga digambarkan sebagai
tersebut menunjuk ke node selanjutnya.
elemen yang disusun vertikal sehingga diberi nama
Field pada tail menunjuk ke NULL.
tabel.setiap elemen array diakses langsung melalui
Contoh :
indeksnya. Indeks array harus bertipe data yang
struct mahasiswa(
terurut seperti integer maupun karakter.
char nama[50];
Array terdiri dari array dimensi satu, array
int usia;
dimensi dua, array dimensi –n.
struct mahasiswa *next;
Array dapat dideklarasikan sebagai berikut :
)*head,*tail;
tipe_data
b. Doubly Linked List (bolak-balik)
nama_var_array[ukuran];
Suatu linked list yang mempunyai dua
keterangan :
variabel pointer yaitu pointer yang
tipe data : jenis tipe data elemen yang tersimpan di
menunjuk ke node selanjutnya dan
array (mis; int, float, char)
sebelumnya. Head dan tailnya menunjuk ke
nama_var_array : nama variabel yang dipakai.
NULL.
Ukuran : jumlah maksimal elemen array.
Contoh :
struct mahasiswa(
char nama[30];
int usia;
struct mahasiswa*next,*prev; Terdapat lima proses utama dalam double
)*head,*tail; stack, yaitu: inisialisasi, PUSH1, POP1,
c. Singly Circular Linked List PUSH2, POP2
d. Doubly Circular Linked List Deklarasi stack :
Deklarasi MAX_STACK
#define MAX_STACK 5

Gambar 1.2 Single dan Double linked list

Setiap operasi pada linked list perlu operasi


sekuensial dari node pertama. Operasi dalam linkled
list :
a. Insert di awal
b. Insert di akhir Gambar 1.3 Ilustrasi Stack
c. Remove sebuah nilai
d. Remove node pertama Operasi pada stack :
e. Traversing forward dan reverse 1) ISEMPTY : untuk memeriksa apakah stack
dalam keadaan kosong
2) ISFULL : untuk memeriksa apakah stack
C. Stack (Tumpukan) sudah penuh
3) PUSH : menambahkan item pada posisi
Stack atau tumpukan merupakan bentuk dari paling atas (TOP).
linier list dimana penambahan dan penghapusan 4) POP : menghapus elemen pada posisi
elemennya hanya dapat dilakukan pada satu posisi, paling atas.
yaitu posisi akhir dari list (Top). Stack dapat juga 5) CLEAR : untuk mengosongkan stack.
diartikan sebagai sekumpulan data yang organisasi
atau strukturnya bersifat tumpukan atau menyerupai
tumpukan. D. Queue (Antrian)
Stack memiliki karakteristik LIFO (Last-In-
First-Out), dimana objek yang pertama masuk Queue adalah struktur data dimana data yang
dalam stack akan menjadi objek yang pertama pertama masuk adalah data yang pertama dapat
keluar dari stack. Stack dapat diimplementasikan dihapus. Struktur data queue memiliki karakteristik
dalam array ataupun linked list. FIFO (First in First Out).
Stack dibagi menjadi dua bagian yaitu Single Deklarasi queue :
Stack dan Double Stack. #define MAX 100
a. Single stack adalah stack dimana hanya typedef struct{
terdiri dari satu koleksi. int data[MAX];
Terdapat tiga proses utama dalam single int head;
stack : int tail;
1) Inisialisasi, yaitu proses awal untuk } Queue;
menyimpan indeks petunjuk stack. Queue antrian;
2) Push, yaitu proses memasukkan data
baru ke stack indeks selanjutnya.
3) Pop, yaitu proses pengambilan atau
pengeluaran data dari stack dengan
indeks yang disimpan.
b. Double stack adalah stack yang terdiri dari
dua single stack.
Gambae 1.4 Ilustrasi Queue
Operasi pada queue :
1) CREATE : untuk menunjukkan dan Binary tree (pohon biner) dapat didefinisikan
membentuk awal terbentuknya suatu sebagai suatu kumpulan node yang masing-masing
antrean. simpulnya hanya dapat memiliki paling banyak dua
2) ISEMPTY : memeriksa apakah queue atau subtree (anak) yang saling terpisah atau tidak terikat
antrian sudah penuh atau kosong. yang disebut dengan left subtree (cabang kiri) dan
3) ISFULL : memeriksa apakah antrian sudah right subtree (cabang kanan).
penuh atau belum. Binary tree merupakan bentuk dari tree yang
4) ENQUEUE : menambahkan elemen ke beraturan. Karakteristik lain dari binary tree yaitu
dalam antrian, penambahan dilakukan pada dimungkinkan tidak memiliki node (simpul). Tree
elemen paling belakang. dapat dibuat menggunakan linked list non circular
5) DEQUEUE : untuk menghapus head dari secara rekursif.
antrian. Binary tree dapat dideklarasikan sebagai
6) CLEAR : untuk menghapus elemen antrian berikut :
dengan cara membuat tail dan head = -1. Deklarasi struct
Typedeft struct Tree{
int data;
E. Tree (Pohon) Tree *left;
Tree *right;
Tree atau pohon merupakan struktur data non }
linear yang dapat diartikan sebagai data yang Deklarasi variabel
terorganisir yang saling terkait dan menyerupai Tree *pohon;
bentuk pohon. Tree juga dapat didefinisikan sebagai Istilah-istilah dalam binary tree :
kumpulan dari data atau node dimana salah satu 1) Size : jumlah dari keseluruhan node yang
node disebut sebagai akar dan node lain terpecah terdapat pada ponon biner.
menjadi himpunan yang tidak saling terikat dan 2) Depth (kedalaman) : yaitu panjang jalur
berhubungan yang disebut dengan subtree. yang menghubungan node sampai ke node
Dalam tree structure, setiap node dapat anak paling ujung (daun). Depth juga
mempunyai 0 atau lebih node anak (child). Node dikenal dengan istilah height.
yang memiliki node anak disebut dengan node 3) Full Binary Tree (pohon biner penuh) yaitu
induk (parent). Node paling atas dalam piramida pohon biner yang setiap node memiliki dua
tree disebut leaf (daun) dan node yang terletak pada node anak dan setiap cabang mempunyai
pangkal tree disebut dengan node root (akar). panjang ruas yang sama
4) Perfect Binary Tree (pohon biner
sempurna) atau dapat disebut juga dengan
complete binary tree merupakan pohon
biner dimana semua node kecuali leaf
memiliki dua anak dan tiap cabang
mempunyai panjang ruas yang berbeda.
5) Pohon biner similer yaitu dua pohon
dimana memiliki struktur yang sama namun
Gambar 1.5 Ilustrasi Tree (Pohon) memiliki informasi yang berbeda.
6) Pohon biner ekivalent yaitu dua pohon yang
Kumpulan seluruh node pada kedalaman yang mempunyai struktur dan informasi yang
diberikan disebut dengan tingkat atau level. sama.
Kedalaman node (depth) merupakan panjang jalan 7) Pohon biner miring (Skewed tree)
dari root (akar) ke node. Setiap node memiliki dua
linke edge dimana satu node hanya dapat didatangi
oleh satu link tetapi satu node dapat mengeluarkan G. Graph
banyak link.
Graph merupakan struktur data linear yang
dapat didefinisikan sebagai himpunan atau
keterhubungan tak terbatas antara verteks (entitas
data). Graph juga dapat didefinisikan dengan
F. Binary Tree (Pohon Biner) struktur yang elemennya memiliki hubungan many
to many. Suatu graph mengandung dua himpunan
yaitu himpunan V dan himpunan E. Himpunan V Sjukani. Moh. 2009. Struktur Data
merupakan himpunan verteks dan E himpunan yang (Algoritma & Struktur Data 2) Dengan C, C++.
terdefinisi antara pasangan verteks. Edisi 3. Jakarta : Mitra Wacana Media
Banyaknya verteks disebut dengan order dan Hidayati. Nur. 2016. STRUKTUR DATA.
banyaknya edge (ruas) dikenal dengan size dari Makalah
graph. Suatu graph yang tidak memiliki self-loop Sihombing. Johnson. Tanpa Tahun.
dapat juga disebut sebagai graph sederhana atau Penerapan Stack dan Queue Pada Array dan
simple graph. Linked List Dalam Java. Jurnal
Kurniawan. Roby. Tanpa Tahun. Artikel
Struktur Data. Jurnal
Salsabila. N C. Tanpa Tahun. Fungsi dan
Pemahaman Struktur Data. Jurnal
Wijaya. Yogga P. Tanpa Tahun. Algoritma
dan Struktur Data. Jurnal
Andikafisma. Tanpa Tahun. Struktur Data. :
https://andikafisma.wordpress.com/struktur-data/
(Diakses tanggal 22 April 2021)
Andy. 2020. Mengenal 6 Tipe Struktur
Gambar 1.6 Ilustrasi Graph Data Dalam Pemrograman.
https://qwords.com/blog/apa-itu-struktur-data/
a. Graph terarah (directed graph) yaitu urutan
(Diakses tanggal 22 April 2021)
simpul yang memiliki arti
Fauzi. Cecep A. 2018. Data Struktur. :
b. Graph tak terarah (undirected graph/ non-
https://medium.com/@cecepahmadfauzi93/data-
directed graph) yaitu urutan simpul dalam
struktur-23cc996fe157 (Diakses tanggal 21 April
busur tidak terlalu dipentingkan.
2021)
c. Graph berbobot (weighted graph) yaitu jika
setiap busur memiliki nilai yang
menyatakan keterhubungan pada dua
simpul, maka busur tersebut dapat
dinyatakan berbobot.

KESIMPULAN

Struktur data merupakan salah satu bahan


dasar yang cukup penting dalam pembuatan
program dimana struktur data berfungsi
mengelompokkan dan mengorganisasikan data
sehingga penerapan logika program menjadi lebih
berstruktur dan lebih sederhana.
Beberapa struktur data yaitu Array (larik)
sebagai pemesanan alokasi memori sementra dalam
komputer, Stack (tumpukan) yang merupakan
kumpulan data yang saling berbentuk tumpukan,
Linked List sebagai struktur data yang memiliki
record data, Queue (antrian) yaitu struktur data
dimana data pertama masuk adalah data yang
pertama keluar, struktur data Tree dan Binary Tree
dan struktur data Graph.

DAFTAR PUSTKA

Anda mungkin juga menyukai