Anda di halaman 1dari 5

DATA DAN STRUKTUR DATA

Aulia Hidayah Ginting1, Santa Maria Sopiana Silalahi2, Harris Nur Fadlan3, 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 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. B. Linked List

2. Struktur Data. Linked list merupakan struktur data yang


Struktur data terdiri dari: memuat sekumpulan elemen bertipe sama yang
a. Struktur data sederhana memiliki keterurutan tertentu dimana setiap
1) Array merupakan type data elemen saling berhubungan dengan elemen lain
terstruktur yang mampu melalui suatu pointer.
menyimpan data dengan tipe Linked list juga dikenal sebagai struktur data
sama. Array terdiri dari array yang terdiri dari urutan record data yang mana
dimensi 1, 2 dimensi dan array setiap record memiliki field yang menyimpan
dimensi banyak (multidimensi). alamat referensi dari alamat record selanjutnya.
2) Record Tipe linked list ini dapat berupa bagian-bagian
Type data record dapat dari aneka macam data yang tersimpan secara
menampung tipe data yang acak. Linked list terdiri dari node-node yang saling
berbeda-beda. terhubung. Dalam linked list , data atau node yang
b. Struktur data majemuk pertama disebut head dan node yang terakhir
Struktur data majemuk terdiri dari : disebut tail.
1) Linier Operasi penambahan atau penghapusan sebuah
Seperti : Stack (tumpukan), Linear node dapat mengubah nilai pada pointer linknya.
Linked List dan Queue (antrian). Beberapa jenis linked list, yaitu :
2) Non Linier a. Singly Linked List (satu arah)
Seperti : Tree (pohon), Binary Merupakan linked list yang memiliki
Tree (Pohon Biner), General Tree hanya satu variabel pointer saja dan
dan Graph. pointer tersebut menunjuk ke node
selanjutnya. Field pada tail menunjuk ke
NULL.
PEMBAHASAN Contoh :
struct mahasiswa(
A. Array/Larik. char nama[50];
int usia;
Array/Larik merupakan struktur data struct mahasiswa *next;
sederhana yang menyimpan sekumpulan elemen )*head,*tail;
yang terurut dan bertipe sama. Array juga dapat b. Doubly Linked List (bolak-balik)
diartikan sebagai pemesanan alokasi memori Suatu linked list yang mempunyai dua
sementara pada komputer. Array dapat juga variabel pointer yaitu pointer yang
digambarkan sebagai elemen yang disusun vertikal menunjuk ke node selanjutnya dan
sehingga diberi nama tabel.setiap elemen array sebelumnya. Head dan tailnya menunjuk
diakses langsung melalui indeksnya. Indeks array ke NULL.
harus bertipe data yang terurut seperti integer Contoh :
maupun karakter. struct mahasiswa(
Array terdiri dari array dimensi satu, array char nama[30];
dimensi dua, array dimensi –n. int usia;
Array dapat dideklarasikan sebagai berikut : struct mahasiswa*next,*prev;
tipe_data )*head,*tail;
nama_var_array[ukuran]; c. Singly Circular Linked List
keterangan : d. Doubly Circular Linked List
tipe data : jenis tipe data elemen yang tersimpan di Setiap operasi pada linked list perlu operasi
array (mis; int, float, char) sekuensial dari node pertama. Operasi dalam
nama_var_array : nama variabel yang dipakai. linkled list :
Ukuran : jumlah maksimal elemen array. a. Insert di awal
Dalam array ada beberapa jenis operasi yang b. Insert di akhir
digunakan, yaitu replace, insert, delete, seacrh, c. Remove sebuah nilai
sort, dan lain-lain. d. Remove node pertama
e. Traversing forward dan reverse #define MAX 100
typedef struct{
int data[MAX];
C. Stack (Tumpukan) int head;
int tail;
Stack atau tumpukan merupakan bentuk dari } Queue;
linier list dimana penambahan dan penghapusan Queue antrian;
elemennya hanya dapat dilakukan pada satu posisi, Operasi pada queue :
yaitu posisi akhir dari list (Top). Stack dapat juga 1) CREATE : untuk menunjukkan dan
diartikan sebagai sekumpulan data yang organisasi membentuk awal terbentuknya suatu
atau strukturnya bersifat tumpukan atau antrean.
menyerupai tumpukan. 2) ISEMPTY : memeriksa apakah queue atau
Stack memiliki karakteristik LIFO (Last-In- antrian sudah penuh atau kosong.
First-Out), dimana objek yang pertama masuk 3) ISFULL : memeriksa apakah antrian sudah
dalam stack akan menjadi objek yang pertama penuh atau belum.
keluar dari stack. Stack dapat diimplementasikan 4) ENQUEUE : menambahkan elemen ke
dalam array ataupun linked list. dalam antrian, penambahan dilakukan
Stack dibagi menjadi dua bagian yaitu Single pada elemen paling belakang.
Stack dan Double Stack. 5) DEQUEUE : untuk menghapus head dari
a. Single stack adalah stack dimana hanya antrian.
terdiri dari satu koleksi. 6) CLEAR : untuk menghapus elemen antrian
Terdapat tiga proses utama dalam single dengan cara membuat tail dan head = -1.
stack :
1) Inisialisasi, yaitu proses awal untuk
menyimpan indeks petunjuk stack. E. Tree (Pohon)
2) Push, yaitu proses memasukkan data
baru ke stack indeks selanjutnya. Tree atau pohon merupakan struktur data non
3) Pop, yaitu proses pengambilan atau linear yang dapat diartikan sebagai data yang
pengeluaran data dari stack dengan terorganisir yang saling terkait dan menyerupai
indeks yang disimpan. bentuk pohon. Tree juga dapat didefinisikan
b. Double stack adalah stack yang terdiri dari sebagai kumpulan dari data atau node dimana salah
dua single stack. satu node disebut sebagai akar dan node lain
Terdapat lima proses utama dalam double terpecah menjadi himpunan yang tidak saling
stack, yaitu: inisialisasi, PUSH1, POP1, terikat dan berhubungan yang disebut dengan
PUSH2, POP2 subtree.
Deklarasi stack : Dalam tree structure, setiap node dapat
Deklarasi MAX_STACK mempunyai 0 atau lebih node anak (child). Node
#define MAX_STACK 5 yang memiliki node anak disebut dengan node
Operasi pada stack : induk (parent). Node paling atas dalam piramida
1) ISEMPTY : untuk memeriksa apakah tree disebut leaf (daun) dan node yang terletak
stack dalam keadaan kosong pada pangkal tree disebut dengan node root (akar).
2) ISFULL : untuk memeriksa apakah stack Kumpulan seluruh node pada kedalaman yang
sudah penuh diberikan disebut dengan tingkat atau level.
3) PUSH : menambahkan item pada posisi Kedalaman node (depth) merupakan panjang jalan
paling atas (TOP). dari root (akar) ke node. Setiap node memiliki dua
4) POP : menghapus elemen pada posisi linke edge dimana satu node hanya dapat didatangi
paling atas. oleh satu link tetapi satu node dapat mengeluarkan
5) CLEAR : untuk mengosongkan stack. banyak link.
D. Queue (Antrian)
F. Binary Tree (Pohon Biner)
Queue adalah struktur data dimana data yang
pertama masuk adalah data yang pertama dapat Binary tree (pohon biner) dapat didefinisikan
dihapu. Struktur data queue memiliki karakteristik sebagai suatu kumpulan node yang masing-masing
FIFO (First in First Out). simpulnya hanya dapat memiliki paling banyak
Deklarasi queue : dua subtree (anak) yang saling terpisah atau tidak
terikat yang disebut dengan left subtree (cabang Banyaknya verteks disebut dengan order dan
kiri) dan right subtree (cabang kanan). banyaknya edge (ruas) dikenal dengan size dari
Binary tree merupakan bentuk dari tree yang graph. Suatu graph yang tidak memiliki self-loop
beraturan. Karakteristik lain dari binary tree yaitu dapat juga disebut sebagai graph sederhana atau
dimungkinkan tidak memiliki node (simpul). Tree simple graph.
dapat dibuat menggunakan linked list non circular a. Graph terarah (directed graph) yaitu urutan
secara rekursif. simpul yang memiliki arti
Binary tree dapat dideklarasikan sebagai b. Graph tak terarah (undirected graph/ non-
berikut : directed graph) yaitu urutan simpul dalam
Deklarasi struct busur tidak terlalu dipentingkan.
Typedeft struct Tree{ c. Graph berbobot (weighted graph) yaitu
int data; jika setiap busur memiliki nilai yang
Tree *left; menyatakan keterhubungan pada dua
Tree *right; simpul, maka busur tersebut dapat
} dinyatakan berbobot.
Deklarasi variabel
Tree *pohon;
Istilah-istilah dalam binary tree :
1) Size : jumlah dari keseluruhan node yang KESIMPULAN
terdapat pada ponon biner.
2) Depth (kedalaman) : yaitu panjang jalur Struktur data merupakan salah satu bahan
yang menghubungan node sampai ke node dasar yang cukup penting dalam pembuatan
anak paling ujung (daun). Depth juga program dimana struktur data berfungsi
dikenal dengan istilah height. mengelompokkan dan mengorganisasikan data
3) Full Binary Tree (pohon biner penuh) yaitu sehingga penerapan logika program menjadi lebih
pohon biner yang setiap node memiliki dua berstruktur dan lebih sederhana.
node anak dan setiap cabang mempunyai Beberapa struktur data yaitu Array (larik)
panjang ruas yang sama sebagai pemesanan alokasi memori sementra
4) Perfect Binary Tree (pohon biner dalam komputer, Stack (tumpukan) yang
sempurna) atau dapat disebut juga dengan merupakan kumpulan data yang saling berbentuk
complete binary tree merupakan pohon tumpukan, Linked List sebagai struktur data yang
biner dimana semua node kecuali leaf memiliki record data, Queue (antrian) yaitu
memiliki dua anak dan tiap cabang struktur data dimana data pertama masuk adalah
mempunyai panjang ruas yang berbeda. data yang pertama keluar, struktur data Tree dan
5) Pohon biner similer yaitu dua pohon Binary Tree dan struktur data Graph.
dimana memiliki struktur yang sama
namun memiliki informasi yang berbeda.
6) Pohon biner ekivalent yaitu dua pohon
yang mempunyai struktur dan informasi
yang sama.
7) Pohon biner miring (Skewed tree)

G. Graph

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
to many. Suatu graph mengandung dua himpunan
yaitu himpunan V dan himpunan E. Himpunan V
merupakan himpunan verteks dan E himpunan
yang terdefinisi antara pasangan verteks.
DAFTAR PUSTKA

Sjukani. Moh. 2009. Struktur Data


(Algoritma & Struktur Data 2) Dengan C, C++.
Edisi 3. Jakarta : Mitra Wacana Media
Hidayati. Nur. 2016. STRUKTUR DATA.
Makalah
Sihombing. Johnson. Tanpa Tahun.
Penerapan Stack dan Queue Pada Array dan
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
Data Dalam Pemrograman.
https://qwords.com/blog/apa-itu-struktur-data/
(Diakses tanggal 22 April 2021)
Fauzi. Cecep A. 2018. Data Struktur. :
https://medium.com/@cecepahmadfauzi93/data-
struktur-23cc996fe157 (Diakses tanggal 21 April
2021)

Anda mungkin juga menyukai