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 : Habibisyahrozisembiring@gmail.com suryaputra2112a@gmail.com
rizkyagungm24@gmail.com

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 Float merupakan type data
representasi dari fakta dunia nyata yang disimpan, bilangan pecahan,
direkam, direpresentasikan tidak hanya dalam ➢ Boolean
bentuk teks tetapi juga dalam bnetuk suara, sinyal Hanya mempunyai dua bentuk
maupun simbol. output yaitu True dan False
Struktur data adalah mempresentasikan dan dinyatakan dengan 1 dan
data pada memory secara logika dan setiap variabel 0, satuan data yang dipakai
di dalam program dikarakterisasikan secara hanya 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.
Array terdiri dari array dimensi 1, digunakan, yaitu replace, insert, delete, seacrh, sort,
2 dimensi dan array dimensi dan lain-lain.
banyak (multidimensi).
2) Record
Type data record dapat B. Linked List
menampung tipe data yang
berbeda-beda. Linked list merupakan struktur data yang
b. Struktur data majemuk memuat sekumpulan elemen bertipe sama yang
Struktur data majemuk terdiri dari : memiliki keterurutan tertentu dimana setiap
1) Linier elemen saling berhubungan dengan elemen lain
Seperti : Stack (tumpukan), Linear melalui suatu pointer.
Linked List dan Queue (antrian). Linked list juga dikenal sebagai struktur data
yang terdiri dari urutan record data yang mana
2) Non Linier
Seperti : Tree (pohon), Binary setiap record memiliki field yang menyimpan
Tree alamat referensi dari alamat record selanjutnya.
(Pohon Biner), General Tree dan Tipe linked list ini dapat berupa bagian-bagian
dari aneka macam data yang tersimpan secara acak.
Graph.
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.
Operasi penambahan atau penghapusan sebuah
A. Array/Larik.
node dapat mengubah nilai pada pointer linknya.
Beberapa jenis linked list, yaitu :
Array/Larik merupakan struktur data sederhana
a. Singly Linked List (satu arah)
yang menyimpan sekumpulan elemen yang terurut
Merupakan linked list yang memiliki hanya
dan bertipe sama. Array juga dapat diartikan
satu variabel pointer saja dan pointer
sebagai pemesanan alokasi memori sementara pada
tersebut menunjuk ke node selanjutnya.
komputer. Array dapat juga digambarkan sebagai
Field pada tail menunjuk ke NULL.
elemen yang disusun vertikal sehingga diberi nama
Contoh :
tabel.setiap elemen array diakses langsung melalui
struct mahasiswa(
indeksnya. Indeks array harus bertipe data yang
char nama[50];
terurut seperti integer maupun karakter.
int usia;
Array terdiri dari array dimensi satu, array
struct mahasiswa *next;
dimensi dua, array dimensi –n.
)*head,*tail;
Array dapat dideklarasikan sebagai berikut :
b. Doubly Linked List (bolak-balik)
tipe_data
Suatu linked list yang mempunyai dua
nama_var_array[ukuran];
variabel pointer yaitu pointer yang
keterangan :
menunjuk ke node selanjutnya dan
tipe data : jenis tipe data elemen yang tersimpan di
sebelumnya. Head dan tailnya menunjuk
array (mis; int, float, char)
ke NULL.
nama_var_array : nama variabel yang dipakai.
Contoh :
Ukuran : jumlah maksimal elemen array.
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
antrian sudah penuh atau kosong. terikat yang disebut dengan left subtree (cabang
3) ISFULL : memeriksa apakah antrian sudah kiri) dan 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 Istilah-istilah dalam binary tree :
sebagai kumpulan dari data atau node dimana salah 1) Size : jumlah dari keseluruhan node yang
satu node disebut sebagai akar dan node lain terdapat pada ponon biner.
terpecah menjadi himpunan yang tidak saling 2) Depth (kedalaman) : yaitu panjang jalur
terikat dan berhubungan yang disebut dengan yang menghubungan node sampai ke node
subtree. anak paling ujung (daun). Depth juga
Dalam tree structure, setiap node dapat dikenal dengan istilah height.
mempunyai 0 atau lebih node anak (child). Node 3) Full Binary Tree (pohon biner penuh) yaitu
yang memiliki node anak disebut dengan node pohon biner yang setiap node memiliki dua
induk (parent). Node paling atas dalam piramida node anak dan setiap cabang mempunyai
tree disebut leaf (daun) dan node yang terletak panjang ruas yang sama
pada pangkal tree disebut dengan node root (akar). 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 memiliki informasi yang berbeda.
Gambar 1.5 Ilustrasi Tree (Pohon) 6) Pohon biner ekivalent yaitu dua pohon
yang mempunyai struktur dan informasi
Kumpulan seluruh node pada kedalaman yang yang sama.
diberikan disebut dengan tingkat atau level. 7) Pohon biner miring (Skewed tree)
Kedalaman node (depth) merupakan panjang jalan
dari root (akar) ke node. Setiap node memiliki dua
linke edge dimana satu node hanya dapat didatangi G. Graph
oleh satu link tetapi satu node dapat mengeluarkan
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
struktur yang elemennya memiliki hubungan many
F. Binary Tree (Pohon Biner)
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 (Algoritma & Struktur Data 2) Dengan C, C++.
yang 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