Review materi data struktur di semester 2
Assalamualaikum! Dengan meningkatnya
kasus COVID-19 di Indonesia ini mendingan kita belajar di blog ini, lumayan lah
itung2 nambah ilmu dan membantu para dokter juga dengan #Dirumahaja. Semoga kalian
sehat-sehat saja yaa!
LINKED LIST
Linked list adalah sekumpulan
elemen bertipe sama, yang mempunyai keterurutan tertentu, yang setiap elemennya
terdiri dari dua bagian. Dan linked list saling terhubung dengan bantuan
variabel pointer Masing-masing data dalam Linked List disebut dengan node
(simpul) yang menempati alokasi memori secara dinamis dan biasanya berupa
struct yang terdiri dari beberapa field. berikut gambaran kecil mengenai linked
list.
Didalam Linked List terdapat
beberapa bagian lagi
1. Linked List Circular Double
Linked List
Pengertian secara umumnya DLLC
itu Linked list yang menggunakan pointer, dimana setiap node memiliki 3 field,
yaitu:
1 field pointer yang menunjuk
pointer berikutnya "next",
1 field menunjuk pointer
sebelumnya " prev ",
1 field yang berisi data untuk
node tersebut .
Double Linked List Circular
pointer next dan prev nya menunjuk ke dirinya sendiri secara circular. Bentuk
Node nya.

2. Linked List Non Circular
Double Linked List Non Circular (DLLNC)
adalah Double Linked List yang
memiliki 2 buah pointer yaitu pointer next dan prev. Pointer next menunjuk pada
node setelahnya dan pointer prev menunjuk pada node sebelumnya.

Single Linked List Non Circular
(SLLNC)
Adalah Linked
List yang pointer nya selalu mengarah ke Node yang menampung *next bernilai
NULL, jadi arahnya tidak menunjuk pointer didepannya sehingga tidak dapat
kembali ke pointer - pointer sebelumnya. SLLNC ini juga memiliki 2 bagian, ada
Tambah dan ada Hapus, masing - masing bagian ini juga masih meliputi 3 fungsi
lain yaitu Belakang, Tengah, dan depan.
Oke kita lanjut ke materi kedua
tentang Stack & Queue
STACK
adalah salah satu list linear
dalam struktur data yang digunakan untuk menyimpan dan mengambil data dengan
konsep LIFO (Last In First Out). Dalam
prosesnya, untuk memasukkan sebuah data ke dalam stack atau dengan kata lain ke
bagian atas dari sebuah tumpukan digunakan perintah push. Dan untuk memindahkan
data dari tempat tersebut digunakan perintah pop. Sedangkan dalam
penyajiannya, stack bisa memakai array atau linked list.
2. Push ()
digunakan untuk menempatkan
beberapa elemen data ke dalam tumpukan atau membuat simpul baru dengan nilai
apa pun dan menempatkannya di kepala daftar yang ada. Push di bagi menjadi 2,
yaitu PushDepan (head) dan PushBelakang (tail). PushDepan berarti data yg
paling baru dimasukkan akan berada di depan data lainnya, dan begitu pula
sebaliknya dgn PushBelakang berarti data yang paling bary akan berada di
belakang data lainnya.
3. Peek()
berfungsi untuk melihat data yang
berada pada tumpukan paling atas (akan dikeluarkan).
4. isEmpty()
berfungsi untuk menguji
apakah stack masih kosong.
5. isFull()
berfungsi untuk menguji
apakah stack telah penuh.
QUEUE (ANTRIAN)
Queue
merupakan suatu struktur data linear. Konsepnya hampir sama dengan Stack,
perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang bebeda.
Penghapusan dilakukan pada bagian depan (front) dan penambahan berlaku pada
bagian belakang (Rear). Elemen-elemen di dalam antrian dapat bertipe integer,
real, record dalam bentuk sederhana atau terstruktur. Dan Sistem pada
pengaksesan pada Queue menggunakan sistem FIFO (First In First Out), artinya
elemen yang pertama masuk itu yang akan pertama dikeluarkan dari Queue.
Operasi-operasi pada Queue
1. Create Queue (Q) : membuat
antrian baru Q, dengan jumlah elemen kosong.
2. Make NullQ (Q) : mengosongkan
antrian Q, jika ada elemen maka semua elemen dihapus.
3. EnQueue : berfungsi memasukkan
data kedalam antrian.
4. DeqQueue : berfungsi
mengeluarkan data terdepan dari antrian.
5. Clear : Menghapus seluruh
Antrian
6. IsEmpty : memeriksa apakah
antrian kosong
7. IsFull : memeriksa apakah
antrian penuh.
HASH TABLE
adalah untuk mempercepat pencarian kembali dari
banyak data yang disimpan. Hash table menggunakan suatu teknik penyimpanan
sehingga waktu yang dibutuhkan untuk penambahan data (insertions), penghapusan
data (deletions), dan pencarian data (searching) relatif sama dibanding
struktur data atau algoritma yang lain.
Kelebihan dari hash table antara lain sebagai
berikut :
·
Hash
table relatif lebih cepat
·
Kecepatan
dalam insertions, deletions, maupun searching relatif sama
Jadi hash function merupakan suatu fungsi
sederhana untuk mendapatkan hash value dari key value suatu data. Yang perlu
diperhatikan untuk membuat hash function adalah:
–
ukuran
array/table size(m),
–
key
value/nilai yang didapat dari data(k),
–
hash
value/hash index/indeks yang dituju(h).
Operasi Pada Hash Tabel
Insert : diberikan sebuah key dan
nilai, insert nilai dalam tabel
find :
diberikan sebuah key, temukan nilai yang berhubungan dengan key
remove :
diberikan sebuah key,temukan nilai yang berhubungan dengan key, kemudian hapus
nilai tersebut
getIterator :
mengambalikan iterator,yang memeriksa nilai satu demi satu.
inary tree
adalah sebuah pohon struktur data dimana setiap
simpul memiliki paling banyak 2 anak, secara khusus anaknya dinamakan dengan
kiri dan kanan. Dan binary tree sendiri ada 3 jenis yaitu : Full Binary Tree,
Complete Binary Tree, Skewed Binary Tree
1. Full
binary tree
Adalah binary tree yang tiap nodenya (kecuali
leaf) memiliki dua anak dan tiap subtree harus mempunyai Panjang path yang
sama.
2. Complete
Binary Tree
Mirip dengan Full Binary Tree, namun tiap
subtree boleh memiliki panjang path yang berbeda. Node kecuali leaf
memiliki 0 atau 2 anak.
3. Skewed
Binary Tree
Adalah Binary tree yang semua nodenya (kecuali
leaf) hanya memiliki satu anak.
Oke kita lanjut ke Binary search tree
BINARY SEARCH TREE
Merupakan suatu konsep penyimpanan data dimana
data disimpan melalui tree yang setiap node memiliki maksimal 2 anak node.
Aturan di Binary Search Tree
1. Setiap
anak node sebelah kiri harus lebih kecil nilainya
daripada root nodenya.
2. Setiap
anak node sebelah kanan harus lebih besar nilainya
daripada root nodenya
Dan berikut insert dari binary search tree :



Komentar
Posting Komentar