STRUKTUR DATA
DOSEN PEMBIMBING
DISUSUN OLEH
1
KATA PENGANTAR
Alhamdulillah, pertama penulis mengucapkan rasa syukur dan segala puji kepada Allah SWT
yang telah melimpahkan segala Rahmat dan KaruniaNYA, sehingga makalah Struktur Data
ini dapat diselesaikan. Makalah Struktur Data ini diharapkan dapat mendukung mahasiswa
dalam memahami matakuliah Struktur Data. Modul ini dibuat berdasarkan sumber-sumber
yang sudah banyak digunakan. Pada makalah ini membahas mengenai konsep Struktur Data
secara umum.Akhir kata, penulis menyampaikan terimakasih yang tulus kepada pihak-pihak
yang telah memberikan bantuan dan dukungannya sehingga penulis dapat menyelesaikan
penulisan makalah ini. Pada akhir kata, penulis memohon maaf yang sebesar-besarnya jika
dalam penulisan makalah ini masih banyak kekurangan dan kelemahannya. Penulis memohon
adanya sumbangan ide, kritik dan saran untuk perbaikan penulisan makalah ini supaya lebih
baik ke depannya.
2
DAFTAR ISI
Cover .................................................................................................................... 1
3
BAB I
PENDAHULUAN
Bagi programmer, istilah struktur data tentu bukanlah sesuatu yang asing di telinga. Bahkan
programmer tentu juga paham apa saja tipe struktur data. Ini wajar saja mengingat struktur data
itu adalah salah satu bagian penting ketika seorang programmer hendak membuat suatu
program.Contohstrukturdatadapatdilihatpadaberkas-berkaslembar-sebar(spreadsheet),pangkal-
data(database),pengolahankata,citrayangdipampat(dikompres),jugapemampatanberkasdengantekn
iktertentuyangmemanfaatkanstrukturdata. Data dapat diperoleh dari berbagai sumber, misalkan
hasil pengukuran laboratorium, hasil survei, hasil angket dan lain sebagainya. Komposisi data dan
logika dari algoritma yang memanfaatkan data tersebut berhubungan sangat erat. Data sederhana
dapat kita himpun ke dalam suatu struktur data yang memuat informasi tentang hubungan antara
item yang terdapat di dalamnya. Dalam istilah ilmu komputer, sebuah struktur data adalah cara
penyimpanan, penyusunan dan pengaturan data di dalam media penyimpanan komputer sehingga
data tersebut dapat digunakan secara efisien.
4
BAB II
PEMBAHASAN
5
2.Tipe Tree
Seperti namanya, tipe yang kedua ini bisa diibaratkan dengan akar di suatu pohon. Jadi,
tipe ini bisa dimaknai sebagai kumpulan node dan masing-masing node tersebut tersusun
dari value dan juga berbagai referensi lainnya. Nah, Tree yang terdiri atas maksimal 2 anak
akan disebut sebagai Binary Tree. Jika Anda lihat, Binary Tree mempunyai dua sub Tree
yang terletak di bagian kiri serta kanan. Ciri-cirinya adalah bagian kiri mempunyai nilai
root yang lebih kecil dibandingkan dengan bagian yang kanan. Untuk mengakses data
dalam
istilah-istilah umum dalam tree :
a) Prodecessor : node yang berada diatas node tertentu.
b) Successor : node yang berada di bawah node tertentu.
c) Ancestor : seluruh node yang terletak sebelum node tertentu dan terletak pada jalur yang
sama.
d) Descendant : seluruh node yang terletak sesudah node tertentu dan terletak pada jalur
yang sama.
e) Parent : predecssor satu level di atas suatu node.
f) Child : successor satu level di bawah suatu node.
g) Sibling : node-node yang memiliki parent yang sama dengan suatu node.
h) Subtree : bagian dari tree yang berupa suatu node beserta descendantnya dan memiliki
semua karakteristik dari tree tersebut.
i) Size : banyaknya node dalam suatu tree.
j) Height : banyaknya tingkatan/level dalam suatu tree.
k) Root : satu-satunya node khusus dalam tree yang tak punya predecssor.
l) Leaf : node-node dalam tree yang tak memiliki seccessor.
m) Degree : banyaknya child yang dimiliki suatu node.
3.Tipe Queue
Tipe struktur data yang lainnya ialah Queue. Ini adalah struktur data yang bersifat LIFO
atau Last In First Out. Dalam Queue ini juga ada 3 operasi sekaligus yang bisa Anda
lakukan yakni peek atau melihat data yang paling awal dari suatu Queue, dequeue atau
menghapus data yang pertama dari Queue dan enqueue atau memasukkan data dalam
Queue. Sama seperti stack, kelas ini juga memiliki beberapa operasi.
sebagai berikut :
enqueue(item) menambahkan suatu item baru ke ujung saru antrian. Perlu item dan
tidak mengembalikan sesuatu.
dequeue() menghapus item depan dari antrian. Tidak memerlukan parameter dan
mengembalikan itemnya. Antrian termodifikasi.
peek() mengintip top item dari stack tetapi tidak menghapusnya. Tidak memerlukan
parameter dan stack tidak berubah.
4.Tipe Stack
Stack ini adalah tipe yang mirip seperti Queue. Tipe ini juga mempunyai sifat LIFO karena
termasuk struktur data yang linear. Selayaknya Queue, dalam Stack ini juga ada 3 jenis
operasi sekaligus yang bisa dilakukan. Operasi pertama ialah Peek atau memantau data
teratas Stack. Operasi kedua ialah Push atau yang bisa diartikan sebagai memasukkan suatu
data baru dalam Stack, dan operasi yang terakhir ialah Pop atau menghapus data yang
paling atas dalam Stack.
6
stack ini memiliki beberapa operasi, yaitu:
push(item)menambahkan suatu item baru ke atas (top) dari stack. Perlu item dan tidak
mengembalikan apapun.
pop()menghapus item teratas dari stack. Tidak perlu parameter dan mengembalikan
item. Stack berubah.
peek()mengintip top item dari stack tetapi tidak menghapusnya. Tidak memerlukan
parameter dan stack tidak berubah.
Jika diartikan secara kasar, maka Linked List berarti daftar yang terhubung. Ya, sesuai
dengan namanya, tipe satu ini memang berupa potongan-potongan aneka macam data yang
tersimpan secara acak. Berbagai potongan data tersebut akan ada dalam memori komputer
dan data yang dimaksud memiliki referensi yang saling menunjuk satu sama lain. Jadi,
sudah paham bukan kenapa tipe ini disebut sebagai Linked List? Dalam tipe satu ini, data
yang pertama biasa disebut sebagai head, sementara data yang terakhir akan disebut
sebagai tail. Jika melihat jumlah data yang diinput atau dimasukkan, Linked List memiliki
kemampuan untuk terhubung baik itu secara singly linked list ataupun doubly linked list.
Maksud dari singly linked list ialah data bisa diakses hanya dengan arah maju mulai dari
data pertama atau head ke data terakhir atau tail. Data tersebut tidak bisa diakses
sebaliknya, yakni dari tail ke head. Sementara untuk doubly linked list, data bisa diakses
dari dua arah yakni dari head ke tail atau sebaliknya, dari tail ke head. Dengan kata lain,
aksesnya bisa dibuat bolak balik.
Di dalam Linked List pun ada beberapa Operasi yang perlu diketahui yaitu:
Insert di awal
Insert di akhir
Remove sebuah nilai
Remove node pertama
Traversing forward and reverse
7
6.Tipe Array
Selanjutnya ialah tipe Array. Ini adalah tipe yang memiliki kumpulan elemen dan elemen-
elemen tersebut jaraknya saling berdekatan dalam memori. Dalam Array ada beberapa jenis
operasi yang dipakai yaitu replace, sort, delete, insert, search dan lain sebagainya. Tipe ini
juga mempunyai dua jenis dimensi, yaitu 1 dimensi dan juga multi-dimensi.
Di dalam Array terdapat beberapa Operasi yang perlu kita ketahui, yaitu:
Insert = Data pada array dapat ditambahkan baik di awal, tengah, maupun akhir.
#untuk menambah data di akhir
Arr.append(data)
#untuk menambah data di index awal atau di tengah kita menggunakan index-nya
Arr.insert(index,data)
Search/Read = Untuk mengambil data pada array kita lakukan dengan menggunakan index
dari data tersebut.
Arr[index]
Remove = Mengapus data pada array dapat dilakukan berdasarkan index ataupun langsung
tertuju pada data apa yang akan kita hapus.
#Menghapus data berdasarkan index
del Arr[index]
Arr.pop(index)
Arr.pop() #remove data terakhir
#Remove data berdasarkan data
Arr.remove(data)
8
BAB III
KESIMPULAN
3.1 Kesimpulan
Struktur data merupakan salah satu bahan dasar pembuatan program. Pemakaian struktur data
yang tepat di dalam proses pemrograman, akan menghasilkan algoritma yang jelas dan tepat
sehingga menjadikan program secara keseluruhan lebih sederhana Array merupakan bagian
dari struktur data yaitu termasuk kedalam struktur data sederhana yang dapat di definisikan
sebagai pemesanan alokasi memory sementara pada komputer.Apabila kita membuat program
dengan data yang sudah kita ketahui batasnyamaka kita lmenggunakan Array (type data
statis), namun apabila datanya belum kita ketahui batasnya maka gunakan pointer (type data
dinamis ).
9
DAFTAR PUSTAKA
https://id.m.wikipedia.org/wiki/Struktur_data
https://qwords.com/blog/apa-itu-struktur-data/
https://www.it-jurnal.com/pengertian-struktur-data/
https://hendroagungs.blogspot.com/2015/11/struktur-data-dalam-istilah-ilmu.html?m=1
https://medium.com/@fahmiprasetiiio/struktur-data-2de34750df89
10