Anda di halaman 1dari 6

DOSEN PEMBIMBING

Indra Gunawan, M. Kom

DITULIS OLEH

Ahmad Ghiyas Ahyar (2001001)

Egi Laksono (2001010)

Fahrizal Rizki (2001012)

Indra Gunawan, M. Kom

PROGRAM STUDI TEKNIK INFORMATIKA

STIKOM TUNAS BANGSA

KPEMATANGSIANTAR

2021
DATA DAN STRUKTUR DATA

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.

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 Dalam array ada beberapa jenis operasi yang
karakter sebanyak 256 (default) dan digunakan, yaitu replace, insert, delete, seacrh, sort,
jangkauan nilai dari 0-255. dan lain-lain.
2. Struktur Data.
Struktur data terdiri dari: B. Linked List
a. Struktur data sederhana
1) Array merupakan type data Linked list merupakan struktur data yang
terstruktur yang mampu memuat sekumpulan elemen bertipe sama yang
menyimpan data dengan tipe sama. memiliki keterurutan tertentu dimana setiap
Array terdiri dari array dimensi 1, elemen saling berhubungan dengan elemen lain
2 dimensi dan array dimensi melalui suatu pointer.
banyak (multidimensi). Linked list juga dikenal sebagai struktur data
2) Record yang terdiri dari urutan record data yang mana
Type data record dapat setiap record memiliki field yang menyimpan
menampung tipe data yang alamat referensi dari alamat record selanjutnya.
berbeda-beda. Tipe linked list ini dapat berupa bagian-bagian
b. Struktur data majemuk dari aneka macam data yang tersimpan secara acak.
Struktur data majemuk terdiri dari : Linked list terdiri dari node-node yang saling
1) Linier terhubung. Dalam linked list , data atau node yang
Seperti : Stack (tumpukan), Linear pertama disebut head dan node yang terakhir
Linked List dan Queue (antrian). disebut tail.
2) Non Linier Operasi penambahan atau penghapusan sebuah
Seperti : Tree (pohon), Binary node dapat mengubah nilai pada pointer linknya.
Tree Beberapa jenis linked list, yaitu :
(Pohon Biner), General Tree dan a. Singly Linked List (satu arah)
Graph. Merupakan linked list yang memiliki hanya
satu variabel pointer saja dan pointer
tersebut menunjuk ke node selanjutnya.
PEMBAHASAN Field pada tail menunjuk ke NULL.
Contoh :
A. Array/Larik. struct mahasiswa(
char nama[50];
Array/Larik merupakan struktur data sederhana int usia;
yang menyimpan sekumpulan elemen yang terurut struct mahasiswa *next;
dan bertipe sama. Array juga dapat diartikan )*head,*tail;
sebagai pemesanan alokasi memori sementara pada b. Doubly Linked List (bolak-balik)
komputer. Array dapat juga digambarkan sebagai Suatu linked list yang mempunyai dua
elemen yang disusun vertikal sehingga diberi nama variabel pointer yaitu pointer yang
tabel.setiap elemen array diakses langsung melalui menunjuk ke node selanjutnya dan
indeksnya. Indeks array harus bertipe data yang sebelumnya. Head dan tailnya menunjuk
terurut seperti integer maupun karakter. ke NULL.
Array terdiri dari array dimensi satu, array Contoh :
dimensi dua, array dimensi –n. struct mahasiswa(
Array dapat dideklarasikan sebagai berikut : char nama[30];
tipe_data int usia;
nama_var_array[ukuran];
keterangan :
tipe data : jenis tipe data elemen yang tersimpan di
array (mis; int, float, char)
nama_var_array : nama variabel yang dipakai.
Ukuran : jumlah maksimal elemen array.
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
Setiap operasi pada linked list perlu operasi #define MAX_STACK 5
sekuensial dari node pertama. Operasi dalam
linkled list : Operasi pada stack :
a. Insert di awal 1) ISEMPTY : untuk memeriksa apakah
b. Insert di akhir stack dalam keadaan kosong
c. Remove sebuah nilai 2) ISFULL : untuk memeriksa apakah stack
d. Remove node pertama sudah penuh
e. Traversing forward dan reverse 3) PUSH : menambahkan item pada posisi
paling atas (TOP).
4) POP : menghapus elemen pada posisi
C. Stack (Tumpukan) paling atas.
5) CLEAR : untuk mengosongkan stack.
Stack atau tumpukan merupakan bentuk dari
linier list dimana penambahan dan penghapusan
elemennya hanya dapat dilakukan pada satu posisi, D. Queue (Antrian)
yaitu posisi akhir dari list (Top). Stack dapat juga
diartikan sebagai sekumpulan data yang organisasi Queue adalah struktur data dimana data yang
atau strukturnya bersifat tumpukan atau pertama masuk adalah data yang pertama dapat
menyerupai tumpukan. dihapus. Struktur data queue memiliki karakteristik
Stack memiliki karakteristik LIFO (Last-In- FIFO (First in First Out).
First-Out), dimana objek yang pertama masuk Deklarasi queue :
dalam stack akan menjadi objek yang pertama #define MAX 100
keluar dari stack. Stack dapat diimplementasikan typedef struct{
dalam array ataupun linked list. int data[MAX];
Stack dibagi menjadi dua bagian yaitu Single int head;
Stack dan Double Stack. int tail;
a. Single stack adalah stack dimana hanya } Queue;
terdiri dari satu koleksi. Queue antrian;
Terdapat tiga proses utama dalam single
stack :
1) Inisialisasi, yaitu proses awal untuk
menyimpan indeks petunjuk stack.
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.
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
F. Binary Tree (Pohon Biner) 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.

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
DAFTAR PUSTKA
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
a. Graph terarah (directed graph) yaitu urutan
Salsabila. N C. Tanpa Tahun. Fungsi dan
simpul yang memiliki arti
Pemahaman Struktur Data. Jurnal
b. Graph tak terarah (undirected graph/ non-
Wijaya. Yogga P. Tanpa Tahun. Algoritma
directed graph) yaitu urutan simpul dalam
dan Struktur Data. Jurnal
busur tidak terlalu dipentingkan.
Andikafisma. Tanpa Tahun. Struktur Data. :
c. Graph berbobot (weighted graph) yaitu jika
https://andikafisma.wordpress.com/struktur-data/
setiap busur memiliki nilai yang
(Diakses tanggal 22 April 2021)
menyatakan keterhubungan pada dua
Andy. 2020. Mengenal 6 Tipe Struktur
simpul, maka busur tersebut dapat
dinyatakan berbobot. Data Dalam Pemrograman.
https://qwords.com/blog/apa-itu-struktur-data/
(Diakses tanggal 22 April 2021)
Fauzi. Cecep A. 2018. Data Struktur. :
KESIMPULAN https://medium.com/@cecepahmadfauzi93/data-
struktur-23cc996fe157 (Diakses tanggal 21 April
2021)
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.

Anda mungkin juga menyukai