04 - Btree

Anda mungkin juga menyukai

Anda di halaman 1dari 19

CSH2D3/ Indexed File

TEAM DOSEN SBD GENAP 2017/2018


Struktur Index File
Terdiri dari main file dan file-file index  file
berindeks majemuk
Tidak ada rantai overflow
Tidak dikenal konsep atribut kunci  tidak ada
keterurutan berdasarkan atribut kunci
pengubahan data langsung dilakukan terhadap
main file

CS2323 / 7- File Index / RIE

2
Struktur Index File
Format record dapat berupa name-value pair atau
dapat berupa structured record
Index bersifat multiple index, dinamis, record
anchored
Entri index terdiri dari atribut dan TID
Entri index terurut berdasarkan nilai atributnya

CS2323 / 7- File Index / RIE

3
Struktur Index File
Next record diakses berdasarkan keterurutan entri
pada index-nya
Tiap index dapat bersifat multilevel
TID pada indeks berisi alamat block dan posisi
record
Exhaustive vs partial index

CS2323 / 7- File Index / RIE

4
Struktur File Index : BTree
Perubahan pada main file berimplikasi terhadap
indeks-nya
Struktur indeks menggunakan BTree
Blok-Blok BTree harus dijaga agar memuat
setengah dari fanout ratio-nya  effective fanout
CS2323 / 7- File Index / RIE

antara y/2 – y
Order Capacity d = y/2

5
BTree Insertion Algorithm
1. Cari posisi yang sesuai bagi rekord baru, mulai
dari root BTree.
2. Jika tersedia space, insert new record sesuai
urutan, jika tidak terjadi overflow
3. Jika terjadi overflow :
- split menjadi dua node
- Pilih node tengah untuk naik ke level
berikutnya
- set pointer dari parent node ke child node

CS2323 / 7- File Index / RIE

6
Contoh Insert Pada BTree
Diketahui BTree dengan kapasitas
order d = 1
Gambarkan hasil Insert data :
cat, ant, dog, cow, rat, pig dan gnu
pada BTree tersebut.

CS2323 / 7- File Index / RIE

7
Insert cat
^ cat ^ ^

Insert ant
^ ant ^ cat ^

Insert dog  overflow

cat ^

^ ant ^ ^ ^ dog ^ ^

CS2323 / 7- File Index / RIE

8
Insert cow
cat ^

^ ant ^ ^ ^ cow ^ dog ^

Insert rat  overflow

cat dog

^ ant ^ ^ ^ cow ^ ^ ^ rat ^ ^

CS2323 / 7- File Index / RIE

9
Insert pig

cat dog

^ ant ^ ^ ^ cow ^ ^ ^ pig ^ rat ^

Insert gnu  overflow


dog ^

cat ^ pig ^

^ ant ^ ^ ^ gnu ^ ^

^ cow ^ ^ ^ rat ^ ^
CS2323 / 7- File Index / RIE

10
BTree Deletion Algorithm
1. Menghapus node daun (leaf node), tidak
melanggar kapasitas minimum
2. Menghapus non leaf node, ganti dengan
satu rekord dari daun, tidak melanggar
kapasitas minimum
3. Menghapus leaf node, melanggar
kapasitas, perbaiki dengan redistribusi
rekord
4. Menghapus leaf node, melanggar
11
CS2323 / 7- File Index / RIE
Contoh Delete Node Pada BTree

Diketahui suatu BTree sbb :

51 ^ ^ ^

11 30 ^ ^ 66 78 ^ ^

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 53 ^ 54 ^ 63 ^ ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 12 ^ 15 ^ 22 ^ ^ ^ 68 ^ 69 ^ 71 ^ 76 ^

CS2323 / 7- File Index / RIE


12
Kasus 1 : Menghapus node daun (leaf
node), tidak melanggar kapasitas
minimum
Misal hapus node 68, maka dihasilkan
BTree sbb :
51 ^ ^ ^

11 30 ^ ^ 66 78 ^ ^

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 53 ^ 54 ^ 63 ^ ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 12 ^ 15 ^ 22 ^ ^ ^ 69 ^ 71 ^ 76 ^ ^

CS2323 / 7- File Index / RIE

13
Kasus 2 : Menghapus non leaf node,
ganti dengan satu rekord dari daun,
tidak melanggar kapasitas minimum.
Misal hapus node 51
53 ^ ^ ^

11 30 ^ ^ 66 78 ^ ^

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 54 ^ 63 ^ ^ ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 12 ^ 15 ^ 22 ^ ^ ^ 69 ^ 71 ^ 76 ^ ^

CS2323 / 7- File Index / RIE

14
Kasus 3 : Menghapus leaf node,
melanggar kapasitas, perbaiki dengan
redistribusi rekord
Misal hapus node 63

53 ^ ^ ^

11 30 ^ ^ 69 78 ^ ^

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 54 ^ 66 ^ ^ ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 12 ^ 15 ^ 22 ^ ^ ^ 71 ^ 76 ^ ^ ^

CS2323 / 7- File Index / RIE

15
Kasus 4 : Menghapus leaf node,
melanggar kapasitas, perbaiki dengan
coalescing node
Misal hapus node 53
Node melanggar
54 ^ ^ ^ kapasitas minimum

11 30 ^ ^ 78 ^ ^ ^

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 66 ^ 69 ^ 71 ^ 76 ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 12 ^ 15 ^ 22 ^ ^
Pada BTree tsb, dilakukan coalescing node sehingga
akan dihasilkan BTree sbb :
CS2323 / 7- File Index / RIE

16
11 30 54 73

^ 2 ^ 7 ^ ^ ^ ^ 33 ^ 41 ^ ^ ^ ^ 79 ^ 84 ^ 93 ^ ^

^ 66 ^ 69 ^ 71 ^ 76 ^
^ 12 ^ 15 ^ 22 ^ ^
Perhatikan bahwa pada kasus delete ini telah
menyebabkan penurunan level Btree

CS2323 / 7- File Index / RIE


17
Latihan Insert dan Delete
Pd BTree
1. Diketahui BTree dengan Order Capacity d = 2.
Gambarkan BTree yang dihasilkan jika dilakukan
insert nilai atribut 80, 50, 52, 100, 90, 60, 65,
70, 75, 55, 64, 51, 76, 77, 78, 79, 200, 300,
dan 150
2. Dari soal pada nomor 1 sebelumnya, lakukan
delete data 52, 76, 100 dan 200

CS2323 / 7- File Index / RIE

18
THANK YOU

Anda mungkin juga menyukai