Vous êtes sur la page 1sur 10

2 3 TREE

RANGKUMAN Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data. yang dibimbing oleh Drs. I. Made Wirawan S.T, M.Eng.

Oleh : Muhammad Farouq Ardiansyah Pio Arfianova Fitrizky Islami

110533430576 110533430584

UNIVERSITAS NEGERI MALANG FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO S1 PENDIDIKAN TEKNIK INFORMATIKA OFF C 2012

BAB I. PENDAHULUAN 1.1 Latar Belakang Tree dalam Algoritma dan Struktur Data merupakan suatu struktur data yang digunakan secara luas yang menyerupai struktur tree dengan sejumlah simpul yang terhubung. Struktur Tree menunjang berbagai operasi dinamik dasar termasuk search, predecessor, successor, minimum, maximum, insert, dan delete dalam proporsional waktu terhadap ketinggian tree. Idealnya, sebuah tree seimbang dan ketinggiannya adalah log n di mana n adalah jumlah simpul tree. Pada pembahasan rangkuman berikut ini akan membahas mengenai salah satu struktur data tree yang berupa 2 3 tree. Banyak masalah kehidupan nyata dapat direpresentasikan dan diselesaikan dengan menggunakan tree, maka struktur tree seimbang seperti 2-3 Tree sebaiknya digunakan.
1.2

Rumusan Masalah

Apakah yang dimaksud dengan 2 3 Tree dan bagaimanakah karakteristiknya ? Bagaimanakah Algoritma dari 2 3 Tree ? Bagaimanakah penerapan dari 2 3 Tree ?

1.3

Tujuan
Penyusunan makalah ini bertujuan untuk menjelaskan tentang struktur dari 2 3 tree,

beserta penerapan dan algoritmanya pada program.

1.4

Manfaat
Semoga dengan penyusunan makalah ini dapat memberikan manfaat kepada penulis

serta pembaca sebagai bahan referensi serta tambahan ilmu tentang Struktur Data dari 2 3 Tree.

BAB II. PEMBAHASAN 2.1 Pengertian Tree merupakan salah satu bentuk struktur data bukan hierarki antara linear yang meggambarkan bentuk elemen. Tree biasanya terdiri dari root dan node yang berada di bawah root. Struktur seperti tree sangat banyak sekali digunakan dalam dunia nyata misalnya : struktur organisasi suatu perusahaan, pengaturan file sitem, daftar isi sebuah buku, dan masih banyak lagi.

Degree (derajat) adalah jumlah edge yang keluar dan masuk dari sebuah node.

Contoh : node E memiliki in degree 1 dan out degree 2 Contoh : node A adalah root

Root (akar) adalah node yang memiliki derajat keluar >=0 dan derajat masuk = 0. Subtree / child adalah bagian salah satu node dibawah root sampai ke bawah.

Contoh : tree C adalah right subtree dari A dan tree B merupakan left subtree dari A node G dan F merupakan child dari node C node F merupakan parent dari node J dan K. Ancestor adalah Node yang berada di atas node lain. Contoh : node B adalah ancestor dari node E Descendant adalah node yang berada di bawah node lain. Contoh : node E adalah descendant dari node A. Leaf (daun) adalah semua node yang derajat masuknya 1 dan derajat keluarnya 0. Contoh : node D, H, I, J, K, dan G adalah leaf Sibling adalah node yang mempunyai level yang sama dan parent yang sama. Contoh : node D adalah sibling dari node A Height (ketinggian) adalah level tertinggi dari tree ditambah 1. Contoh : height dari tree A adalah 3 + 1 = 4 Weight (bobot) adalah jumlah leaf(daun) pada tree. Contoh : weight dari tree A adalah 6

2.2 2 3 TREE 2-3 Tree adalah salah satu tipe struktur data, dimana setiap node dengan anaknya, memiliki 2 children dan 1 elemen data (2 node) atau 3 children dan 2 elemen data (3 node). Seperti pada contoh gambar di bawah ini :
Nilai maksimum leaf dari bagian kiri subtree Nilai maksimum dari leaf di tengah subtree subtengah

Bagian kiri

bagian tengah Insertion pada 2 3 Tree.

bagian kanan

Penjelasan gambar diatas : Yang pertama nilai dalam node root adalah nilai maksimum dari semua nilai yang ada pada leaf di kiri subtree. Nilai kedua adalah nilai maksimum dari tree sub tengah. Kesimpulannya :
1. Setiap simpul leaf di tree sub kiri setiap node non leaf sama dengan atau kurang dari

pertama nilai.
2. Setiap simpul leaf di tree sub tengah kurang dari atau sama dengan nilai kedua dan

lebih besar dari nilai pertama.


3. Setiap simpul leaf di tree sub kanan lebih besar dari nilai kedua.

Pada bagan dibawah ini adalah salah satu ilustrasi insertion 2 3 tree.

Pertama insert nilai pada node pertama

Kedua, insert nilai pada node kedua, sehingga nilai dari root terdapat 2 nilai yaitu 13 : 41. insert nilai berikutnya pada node, yaitu nilai 21. Sehingga root berubah menjadi nilai 13 : 21, Karena nilai 21 menjadi nilai tengah antara 13 dan 41 tadi. insert nilai berikutnya yaitu 7, kemudian nilai tersebut masuk ke root nilai 13, Karena nilai 7 nilainya kurang dari nilai root kiri yaitu 13.

Setelah insert nilai 21, maka root sebelah kanan menjadi 21 : 41, sebagai nilai root tengah adalah 21, dan root kanan 41.

Selanjutnya :

Insert nilai 18, kemudian nilai tersebut masuk ke leaf sebelah kanan dari 13.

Insert nilai 39, kemudian nilai tersebut masuk ke child bagian tengah, karena 21 < 39 < 41.

Insert nilai 50 dan 59, kemudian nilai tersebut masuk ke child bagian tengah, karena 41 < 50 < 59. (59 nilai yang terbesar). Kemudian root berubah menjadi 41 : 50, Sementara subtree bagian tengah rootnya berubah menjadi 18 : 21. Dan nilai child nya berubah cabang dari 18, 21, kemudian 39.

3.1 ALGORITMA DARI INSERTION 2 3 TREE


5

1. Pertama tentukan dahulu dimana key akan diletakkan menggunakan algoritma

search, key pasti ditempatkan pada node leaf.


2. Jika node tadi adalah 2-node, maka letakkan saja key tersebut disitu. 3. Jika nodenya adalah 3-node, maka jadikan data tengah dari key, A, dan B (A dan

B adalah data yang sudah ada sebelumnya di dalam node), menjadi parent, dan split 2 data tersisa menjadi 2 buah 2-node. Cek apakah parent adalah 3-node, jika iya maka ulangi langkah 3 sampai parent menjadi 2-node.

3.2 TAMBAHAN UNTUK 2 3 TREE. a. Syarat Syarat dari 2-3 Tree adalah :

Setiap internal node (bukan leaf) adalah sebuah 2 node atau sebuah 3 node o 2-node : mempunyai 1 data dan 2 anak ( anak sebelah kiri dan tengah) o 3-node : mempunyai 2 data dan 3 anak ( anak sebelah kiri , tengah dan kanan) Semua data disimpan sesuai urutan order o Misalkan A adalah data yang tersimpan dalam sebuah 2-node . Subtree kiri seharusnya mennyimpan data yang lebih kecil dari A , Subtree tengah seharusnya menyimpan data yang lebih besar dari A o Misalkan A dan B adalah data yang tersimpan dalam sebuah 3-node . Subtree kiri seharusnya menyimpan data yang leibih kecil dari A , Subtree tengah seharusnya menyimpan data yang lebih besar dari A dan lebih kecil dari B , Subtree Kanan seharusnya menyimpan data yang lebih besar dari B Semua leaf harus mempunyai level yang sama

b. Penerapan untuk 2 3 Tree

Salah satu penerapan struktur data 2 3 Tree adalah database atau basis data. Data dapat terdiri atas apa saja, termasuk nama, alamat, gambar, dan angka. Basis data sudah umum dan digunakan setiap hari. 2 3 Tree sering digunakan mengurutkan data dan akses yang cepat. 2 3 Tree juga mengoptimasi waktu akses disk yang berhubungan dengan data dalam jumlah banyak

BAB III. KESIMPULAN


Dengan definisi demkian maka apabila setiap node dalam 2-3 tree merupakan node-2

maka akan terbentuk perfect binary tree, sementara itu apabila setiap node dalam 2-3 tree merupakan node-3 maka akan terbentuk perfect ternary tree. Pada kedua bentuk perfect tree tersebut kedalaman rata-rata dari tiap node adalah hampir sama dengan tinggi dari tree. Suatu 2-3 tree adalah tree yang dapat memiliki cabang berjumlah 0, 2, atau 3. Nodenode leaf selalu berada pada level yang sama. 2 3 Tree memiliki kelebihan dibanding implementasi alternatif yang lain karena waktu akses dalam simpulnya cepat. Sebuah 2 3 Tree didesain untuk digunakan pada disk. Sebuah 2 3 Tree menyimpan banyak kunci di setiap simpulnya sehingga dapat mengakses banyak kunci, dan faktor cabang pohon sangat tinggi sehingga pohon dengan ketinggian kecil dapat menyimpan kunci dalam jumlah yang sangat besar, yang dapat diakses hanya dengan beberapa operasi. Salah satu penerapan struktur data 2 3 Tree adalah database atau basis data.

DAFTAR PUSTAKA Nurrahman. 2011. Tugas Pra UAS : 2 3 Tree. http://nurahman11.blogspot.com/2011/06/23-tree.html. Diakses tanggal 29 Maret 2012, pukul 08.00 WIB. Nurrahman. 2011. Insertion 2-3 Tree. http://nurahman11.blogspot.com/2011/06/blogpost.html . Diakses tanggal 29 Maret 2012, pukul 08.35 WIB. Jeffrey Hermanto. 2009. Struktur Data Tree dalam Bahasa Java. http://tutorialpemrograman.wordpress.com/2009/03/22/struktur-data-tree-pohon-bahasajava/ . Diakses tanggal 29 Maret 2012, pukul 09.15 WIB.

Vous aimerez peut-être aussi