Anda di halaman 1dari 9

RESUME

STRUKTUR DATA
MULTIWAY SEARCH TREE

DI SUSUN OLEH :

Nama : Azwil Danul lailil Fitri

NIM : 19076003

Group :IF12

Dosen Pengampu : Drs. Denny Kurniadi, M.kom

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER

JURUSAN TEKNIK ELEKTRONIKA

FAKULTAS TEKNIK

UNIVERSITAS NEGERI PADANG

2020
1. Multiway Search Tree
Dipembahasan sebelumnya, kita telah membahas bahwa setiap node dalam
pohon pencarian biner berisi satu nilai dan dua pointer,kiri dan kanan, yang masing-
masingmengarah ke sub-pohon simpul dan kanan. Struktur asimpul pohon pencarian
biner ditunjukkan pada Gambar. 11.1.

Konsep yang sama digunakan dalam pohon pencarian M-way yang memiliki
nilai M- 1 per node dan sub pohon M. Dalam pohon seperti itu, M disebut derajat
pohon.Perhatikan bahwa dalam pohon pencarian biner M = 2, sehingga memiliki satu
nilaidan dua sub-pohon. Dengan kata lain, setiap simpul internalpohon pencarian M-
way terdiri dari pointer ke sub-pohon Mdan berisi tombol M - 1, di mana M>
2.Struktur simpul pohon pencarian M-way ditunjukkan pada Gambar. 11.2.

Dalam struktur yang ditunjukkan, P0, P1, P2, ..., Pnadalah pointer ke sub-
pohon simpul dan K0, K1, K2, ..., Kn – 1adalah nilai kunci dari node. Semua nilai
kunci disimpan dalam urutan menaik. Yaitu, Ki <Ki +1 untuk0 £ i £ n – 2.
2. B Trees
B tree adalah pohon M-way khusus yang dikembangkan oleh Rudolf Bayer
dan Ed McCreight pada tahun 1970 yaitubanyak digunakan untuk akses disk. B tree
of order m dapat memiliki maksimum m – 1 kunci dan m pointersub-pohonnya.
Pohon B dapatberisi sejumlah besar nilai-nilai kunci dan petunjuk untuk sub-pohon.
Menyimpansejumlah besar kunci dalam satu simpul menjaga ketinggian pohon relatif
kecil.
B tree dirancang untuk menyimpan data yang diurutkan dan memungkinkan
operasi pencarian, penyisipan, dan penghapusandilakukan dalam waktu diamortisasi
logaritmik. B tree of order m (jumlah maksimum children yang dapat dimiliki setiap
simpul) adalah pohon dengan semua properti dari pohon pencarian M-way. Selain itu
memiliki sifat-sifat berikut:
1) Setiap simpul di pohon B memiliki paling banyak (maksimum) m children.
2) Setiap simpul dalam pohon B kecuali simpul akar dan simpul daun memiliki
setidaknya (minimum) m / 2 children. Kondisi ini membantu menjaga pohon
lebat sehingga jalur dari simpul root kedaunnya sangat pendek, bahkan di
pohon yang menyimpan banyak data.
3) Simpul root memiliki setidaknya dua anak jika bukan simpul terminal (daun).
4) Semua node daun berada pada level yang sama.

a. Searching for an Element in a B Tree


Mencari elemen di pohon B mirip dengan yang ada di pohon pencarian
biner. Pertimbangkan pohon B.Diberikan pada Gambar. 11.4. Untuk mencari
59, kita mulai dari simpul root. Simpul root memiliki nilai 45 yaitukurang dari
59. Jadi, kita melintasi sub-pohon kanan. Sub-pohon kanan dari simpul akar
memiliki dua kuncinilai, 49 dan 63. Sejak 49 £ 59 £ 63, kami melintasi sub-
pohon kanan 49, yaitu, sub-pohon kiri63. Sub-pohon ini memiliki tiga nilai,
54, 59, dan 61. Saat menemukan nilai 59, pencarian berhasil.

b. Inserting a New Element in a B Tree


Dalam pohon B, semua penyisipan dilakukan pada tingkat simpul daun.
Nilai baru dimasukkan di pohon B, menggunakan algoritma yang diberikan di
bawah ini.
1) Cari pohon B untuk menemukan simpul daun di mana nilai kunci baru
harus dimasukkan.
2) Jika simpul daun tidak penuh, artinya, simpul tersebut berisi kurang
dari nilai kunci m – 1, lalu masukkan yang baruelemen dalam node
menjaga agar elemen node teratur.
3) Jika simpul daun penuh, artinya, simpul daun sudah berisi nilai kunci
m – 1, maka :
 masukkan nilai baru ke dalam set kunci yang ada,
 membagi node di median menjadi dua node (perhatikan bahwa
node split setengah penuh), dan
 dorong elemen median ke simpul induknya. Jika simpul induk
sudah penuh, makapisahkan simpul induk dengan mengikuti
langkah yang sama.
c. Deleting an Element from a B Tree
Seperti penyisipan, penghapusan juga dilakukan dari node daun. Ada
dua kasus penghapusan. Dalamkasus pertama, simpul daun harus dihapus.
Dalam kasus kedua, sebuah simpul internal harus dihapus.
Membiarkanpertama-tama kitamelihat langkah-langkah yang terlibat dalam
menghapus simpul daun.
1) Temukan simpul daun yang harus dihapus.
2) Jika simpul daun berisi lebih dari jumlah minimum nilai kunci (lebih
dari m / 2elemen), lalu hapus nilainya.
3) Lain jika simpul daun tidak mengandung elemen m / 2, maka isi
simpul dengan mengambil elemenbaik dari kiri atau dari saudara
kandung yang tepat.
 Jika saudara kiri memiliki lebih dari jumlah minimum nilai kunci,
dorong yang terbesarkunci ke simpul induknya dan tarik ke bawah
elemen intervensi dari simpul induknyake simpul daun tempat
kunci dihapus.
 Lain, jika saudara kanan memiliki lebih dari jumlah minimum nilai
kunci, dorong itukunci terkecil ke simpul induknya dan tarik ke
bawah elemen intervensi dari induknyasimpul ke simpul daun
tempat kunci dihapus.
4) Lain, jika kedua saudara kandung kiri dan kanan hanya mengandung
jumlah minimum elemen, makamembuat simpul daun baru dengan
menggabungkan dua simpul daun dan elemen intervening darisimpul
induk (memastikan bahwa jumlah elemen tidak melebihi jumlah
maksimumelemen yang bisa dimiliki sebuah simpul, yaitu, m). Jika
menarik elemen intervening dari induknyasimpul membiarkannya
dengan kurang dari jumlah minimum kunci dalam simpul, kemudian
menyebarkanproses ke atas, sehingga mengurangi ketinggian pohon B.
d. Applications of B Trees
Ketika kita menggunakan pohon B atau pohon pencarian M-way
umum, nilai m atau urutan pohon B adalahseringkali sangat besar. Biasanya,
bervariasi dari 128-512. Ini berarti bahwa satu simpul di pohon dapatberisi
127-511 kunci dan 128-512 pointer ke simpul anak.Kita mengambil nilai besar
m terutama karena tiga alasan:
1) Akses disk sangat lambat. Kita harus dapat mengambil sejumlah besar
data dalam satu akses disk.
2) Disk adalah perangkat berorientasi blok. Artinya, data diatur dan
diambil dalam hal blok.Jadi saat menggunakan pohon B (pohon
pencarian M-way umum), nilai besar m digunakan sehinggasatu
simpul pohon dapat menempati seluruh blok. Dengan kata lain, m
mewakilijumlah maksimum item data yang dapat disimpan dalam satu
blok. m dimaksimalkan ke kecepatanpemrosesan. Semakin banyak
data yang disimpan dalam satu blok, semakin sedikit waktu yang
dibutuhkan untuk memindahkannya ke dalammemori utama.
3) Nilai besar meminimalkan ketinggian pohon. Jadi, operasi pencarian
menjadi sangat cepat.
3. B+ Trees
Pohon B + adalah varian dari pohon B yang menyimpan data yang diurutkan
dengan cara yang memungkinkan penyisipan yang efisien,pengambilan, dan
penghapusan catatan, yang masing-masing diidentifikasi oleh kunci. Sementara pohon
B bisa menyimpanbaik kunci dan catatan dalam simpul interiornya, pohon B +,
sebaliknya, menyimpan semua catatan di dauntingkat pohon, hanya kunci yang
disimpan di node interior.
Node daun pohon B + sering dihubungkan satu sama lain dalam daftar tertaut.
Ini telah ditambahkankeuntungan membuat kueri lebih sederhana dan lebih
efisien.Biasanya, pohon B + digunakan untuk menyimpan sejumlah besar data yang
tidak dapat disimpan di mainPenyimpanan. Dengan pohon B +, penyimpanan
sekunder (disk magnetik) digunakan untuk menyimpan simpul daunpohon dan simpul
internal pohon disimpan dalam memori utama.Pohon B + dapat dianggap sebagai
indeks multi-level di mana daun membentuk indeks padatdan node non-daun
membuat indeks jarang.Keuntungan dari pohon B + dapat diberikan sebagai berikut:
1) Rekaman dapat diambil dalam jumlah akses disk yang sama
2) Dapat digunakan untuk melakukan berbagai pertanyaan dengan mudah karena
daun ditautkan ke node ditingkat atas
3) Tinggi pohon kurang dan seimbang
4) Mendukung akses acak dan berurutan ke catatan
5) Kunci digunakan untuk pengindeksan

a. Inserting a New Element in a B+ Tree


Langkah-langkah untuk memasukkan simpul baru dalam B + Tree
dirangkum dalam Gambar 11.10.
 Langkah 1: Masukkan simpul baru sebagai simpul daun.
 Langkah 2: Jika simpul daun meluap, pisahkan simpul dan salin
elemen tengah ke simpul indeks berikutnya.
 Langkah3:Jika simpul indeks meluap, pisahkan simpul itu dan
pindahkan elemen tengah ke halaman indeks berikutnya.
b. Deleting an Element from a B+ Tree
Seperti pada pohon B, penghapusan selalu dilakukan dari simpul daun.
Jika menghapus elemen data meninggalkan simpul itukosong, maka node
tetangga diperiksa dan digabungkan dengan node underfull.Proses ini
membutuhkan penghapusan nilai indeks dari simpul indeks induk yang, pada
gilirannya, mungkinmenyebabkannya menjadi kosong. Mirip dengan proses
penyisipan, penghapusan dapat menyebabkan gelombang gabungan-
hapusuntuk menjalankan dari simpul daun sampai ke root. Hal ini
menyebabkan penyusutan pohon satu tingkat.Langkah-langkah untuk
menghapus simpul dari pohon B + dirangkum dalam Gambar 11.12.
 Langkah 1: Hapus kunci dan data dari dedaunan.
 Langkah 2: Jika simpul daun meluap, gabungkan simpul itu dengan
saudara kandung dan hapus kunci di antaranya.
 Langkah 3: Jika simpul indeks melimpah, gabungkan simpul itu
dengan saudara kandung dan gerakkan kunci di antaranya.
4. 2-3 Trees
Dalam pohon 2-3, setiap simpul interior memiliki dua atau tiga anak.
 Node dengan dua anak disebut 2-node. 2-node memiliki satu nilai data dan
dua anak
 Node dengan tiga anak disebut 3-node. 3-node memiliki dua nilai data dan
tigaanak-anak (anak kiri, anak tengah, dan anak kanan)
Ini berarti bahwa 2-3 pohon bukan pohon biner. Di pohon ini, semua simpul daun
berada pada level yang sama(tingkat bawah). Lihat Gambar 11.14 yang
menunjukkan pohon 2-3.

a. Searching for an Element in a 2-3 Tree


Operasi pencarian digunakan untuk menentukan apakah nilai data x hadir
dalam 2-3 pohon T.Proses pencarian nilai dalam pohon 2-3 sangat mirip
dengan mencari nilai dalam pohon pencarian biner.Pencarian nilai data x
dimulai pada root. Jika k1 dan k2 adalah dua nilai yang disimpan di
rootsimpul, lalu
 jika x <k1, pindah ke anak kiri.
 jika x ≥ k1dan simpul hanya memiliki dua anak, pindah ke anak yang
tepat.
 jika x ≥ k1 dan simpul memiliki tiga anak, lalu pindah ke anak tengah
jika x <k2 lain untukanak yang tepat jika x ≥ k2
.Pada akhir proses, simpul dengan nilai data x tercapai jika dan hanya jika
x ada di daun ini.
b. Inserting a New Element in a 2-3 Tree
Untuk memasukkan nilai baru di pohon 2-3, posisi yang sesuainilainya
terletak di salah satu simpul daun. Jika setelah penyisipannilai baru, properti
dari 2-3 pohon tidak dilanggarkemudian penyisipan selesai. Jika tidak, jika ada
properti yang dilanggarmaka node yang melanggar harus dipisah (Gbr.
11.16).Memisahkan sebuah simpul Sebuah simpul akan terpecah ketika
memiliki tiga nilai datadan empat anak. Di sini, P adalah induk dan L, M, R
menunjukkananak-anak kiri, tengah, dan kanan.

c. Deleting an Element from a 2-3 Tree


Dalam proses penghapusan, nilai data yang ditentukan dihapus dari
pohon 2-3. Jika menghapus nilai darisimpul melanggar properti pohon, yaitu,
jika simpul dibiarkan dengan kurang dari satu nilai data makadua node harus
digabung bersama untuk menjaga properti umum dari 2-3 pohon.
Dalam penyisipan, nilai baru harus ditambahkan di salah satu node
daun tetapi dalam penghapusan itu tidak perlubahwa nilai harus dihapus dari
simpul daun. Nilai dapat dihapus dari salah satu node. Untukmenghapus nilai
x, digantikan oleh penggantinya dan kemudian dihapus. Jika sebuah node
menjadi kosongsetelah menghapus nilai, itu kemudian digabung dengan
simpul lain untuk mengembalikan properti pohon.
5. Trie
Istilah trie telah diambil dari kata 'pengambilan'. Trie adalahstruktur data
pohon terurut, yang diperkenalkan pada 1960-anoleh Edward Fredkin. Trie
menyimpan kunci yang biasanya berupa string. Inipada dasarnya pohon posisi k-
ary.Berbeda dengan pohon pencarian biner, node dalam trie tidak menyimpan
kunciterkait dengan mereka. Sebaliknya, posisi simpul di pohon mewakilikunci yang
terkait dengan simpul itu. Semua keturunan dari sebuah node milikiawalan umum dari
string yang terkait dengan simpul itu, dan rootdikaitkan dengan string kosong.
Gambar 11.18 menunjukkan sebuah trie.

Anda mungkin juga menyukai