Anda di halaman 1dari 8

Nama : Anisa

Nim : 2204411752

Kela : 2N

Mata Kuliah : Struktur Data

Dosen Pengampuh : Isdayani, S.Kom.,M.pd.

STRUKTUR DATA

A. Pengertian Struktur Data


Selain algoritma, Struktur data juga merupakan elemen peting dalam pemrograman
dasar. Dalam struktur data ini akan dipelajari bagaimana cara mengatur dan menyimpan data
yang akan diolah secara efektif dan efisien tergantung pada masalah yang akan dipecahkan.

Dalam istilah ilmu computer, struktur data yaitu cara penyimpanan, penyusunan dan
pengaturan data di dalam media penyimpanan computer sehingga data tersebut dapat
digunakan secara efisien.. Tergantng pada kebutuhan dan proyek, penting untuk memilih
struktur data yang tepat untuk proyek. Misalnya jika kita ingin menyimpan data secara
berurutan dalam memori, maka kita dapat menggunakan struktur data Array. Dalam
perencanaan algoritma dan penyusunan program diperlukan struktur data sebagai dasar
teknik dari Database. Dengan menggunakan sruktur data yang tepat dalam proses
pemrograman, maka algoritma yang dihasilkan akan lebih jelas dan tepat yang membuat
program secara keseluruhan lebih efisien dan sederhana.

Untuk membuat menjadi struktur data, kita harus melakukan aktivitas terhadap obek data
terlebih dahulu, yaitu :

1. v Mendeskripsikan kumpulan operasi sah yang diterapkan ke elemen-elemen objek


data.
2. v Menunjukkan mekanisme kerja operasi-operasi.
B. Jenis-Jenis Struktur Data
Pada dasarnya, strutur data dibagi menjadi dua kategoori:
1. Struktur Data Linier
Elemen disusun secara berurutan step by step yang membuat mereka lebih mudah
diimplementasikan karena elemen disusun dalam urutan tertentu. Namun, struktur data
linier mungkin bukan pilihan terbaik jika kompleksitas program meningkat karena
kompleksitas operasional.
a. Array ( Larik);
Dalam array, elemen dalam memori diatur dalam memori berkelanjutan. Semua
elemen array mempunyai tipe yang sama dan jenis elemen yang dapat disimpan
dalam bentuk array ditentukan oleh bahasa pemrograman.

Gambar 1 struktur data array

b. Stack ( Tumpukan)
Dalam struktur data tumpukan, elemen disimpan dalam prinsip LIFO (Last In,
first out) yang berarti elemen terakhir yang disimpan dalam tumpukan keping pada
menara Hanoi di mana keeping terakhir yang disimpan di tumpukan akan dilepas
terlebih dahulu.

Gambar 2 Struktur data stack


c. Queue (Antrian atau Urutan)
Berbeda dengan stack, struktur data ini bekerja dengan prinsip FIFO dimana
elemen pertama yang disimpan dalam antrian akan dihilangkan terlebih dahulu.

Gambar 3 Struktur data queue

d. Linked List ( Daftar tertaut)


Pada struktur data ini, elemen data dihubungkan melalui serangkaian node dan
setiap node tersebut berisi item data dan alamat ke node berikutnya.

Gambar 4 Struktur data Linked List

e. Hash Table
Dapat digunakan untuk urutan linier maupun non-linier. Namun, dalam
penerapannya, table hash lebih sering digunajkan pada urutan linier. Tipe ini
menyimpan data secara asosiatif dalam format array. Dengan begitu kita dapat
mengakses data secara cepat hanya melalui indeksnya. Ada beberapa operasi utama
yang digunakan dalam hash table yaitu, searc, insert dan delete. Contoh penerapam
hash table yaitu pada proses pencarian data data nama dan nomor telepon.

Gambar 5 Struktur data hush table

2. Struktur Data Non-Linier


Berbeda dengan struktur data linier, elemen dalam struktur data non-linier tidak
berada dalam urutan apapun. Sebaliknya mereka disusun secara hierarkis di mana satu
elemen akan terhubung ke satu atau lebih elemen. Struktur data non-linier terbagi lagi
menjadi graph dan dan tree.
a. Graph
Struktur data graph berisi beberapa noode yang saling terhubung. Node pada tipe
ini disebut dengan simpul. Tipe ini biasanya digunakan untuk membuat jaringan
tertentu. Misalnya, jaringan telepon atau jaringan komputer. Graph dibagi menjadi 2
jenis yaitu, directed graph yang berarti setiap garis akan terhubung ke semua simpul
dan undirected graph yaitu tidak semua simpul akan terhubung dengan garis. Apabila
simpul tidak terhubung dengan simpul lain, maka disebut dengan isolated vertex.

Beberapa graph yang popular yaitu:


a) Spanning Tree and Minimum Spanning Tree
b) Stongly Connected Components
c) Adjacency Matrix
d) Adjacency List

Gambar 6 Struktur data graph (grafik)

b. Tree

Tipe tree seringkali digunakan untuk menyimpan data secara hierarkis karena
disusun di berbagai level. Maka dari itu tipe in dianggap sebagai kumpulan node yang
salng terhubung. Setiap node berisikan beberapa data atau link dari node lainnya. Ada
beberapa istilah pada tipe tree yaitu; root, child node, parent node, siblings dan leaf
node.

Beberapa Tree yang popular yaitu:

a) Binary Tree
b) Binary Search Tree
c) AVL Tree
d) B-Tree
e) B+ Tree
f) Red-Black Tree
Gambar 7 Struktur data tree

C. Kelebihan dan Kekurangan Struktur Data


1. Array
Kelebihan :
 Dapat diguakan untuk implementasi struktur data lainnya seperti queue dan
stack.
 Pencarian data dapat dilakukan secara cepat.
Kekurangan :
 Penambahan atau pengurangan data membutuhkan waktu yang cukup lama
ketika tipe array hanya menampung data secara berurutan.
 Boros memori jika banyak elemen yang tidak digunakan
2. Stack
Kelebihan :
 Membantu mengelola data secara efisien.
 Dapat menghapus objek secara otomatis.
 Dapat mengontrol penggunaan memori secara mandiri.
Kekurangan :
 Kapasitas memori sangat terbatasa
 Dapat terjadi overlow apabila jumlah objek terlalu banyak.
 Tidak bisa mengakses data secara acak
3. Queue
Kelebihan :
 Data yang masuk akan diproses sesuai urutannya.
 Proses antrian data lebih cepat dan optimal.
 Dapat menangani beberapa tipe data sekaligus
Kekurangan :
 Data yang terakhir masuk tidak dapat diproses apabila waktu pemrosesan telah
habis.
 Terdapat proses yang cukup rumit jika harus menambah atau menghapus elemen
dari tengah.
 Butuh waktu yang cukup lama untuk mencari antrean.
4. Linked List
Kelebihan :
 Ukuran lebih dinamis.
 Penggunaan memori dapat disesuaikan dengan kebutuhan.
 Penambahan atau pengurangan data lebih cepat dilakukan.

Kekurangan :

 Memakai memori yang cukup besar.


 Tidak dapat kembali ke mode sebelumnya (reverse traversal), kecuali pada jenis
doubly linked list.
 Proses traversal lebih lama karena tidak langsung mengakses data dengan indeks.
5. Hash Table
Kelebihan :
 Akses cepat bila kunci diketahui.
 Pneyisipan data cepat.
Kekurangan :
 Algoritma penghapusan data ada yang sederhana ada juga yang kompleks
 Akses pelan jika kunci tidak diketahui.
6. Graph
Kelebihan:
 Dapat digunakan untuk memeriksa hubungan antar node secara cepat.
 Cocok digunakan untuk grafik yang tidak memiliki banyak node.
Kekurangan :
 Membutuhkan waktu yang lama apabila ingin memodifikasi data.
7. Tree
Kelebihan :
 Proses pencarian data dapat dilakukan dengan cepat
Kekurangan :
 Membutuhkan waktu lama ketika memasukkan data karena harus menyesuaikan
dengan urutan nilainya.

Anda mungkin juga menyukai