Pertemuan Ke - 10
Struktur Pohon
Struktur Pohon
Tree atau pohon, termasuk struktur non linear. Ada tiga macam bentuk tree yaitu : a. Tree
b. M-ary Tree c. Binary Tree
A
C
B D
F
E G I
K
J L
H
M N
Definisi Tree (Pohon)
• Dalam ilmu komputer, tree adalah sebuah struktur data yang secara bentuk menyerupai sebuah pohon, yang terdiri dari serangkaian node (simpul) yang saling berhubungan.
• Node-node tersebut dihubungkan oleh sebuah vektor.
• Setiap node dapat memiliki 0 atau lebih node
anak (child).
Definisi Tree (Pohon)
• Sebuah node yang memiliki node anak disebut node induk (parent).
• Sebuah node anak hanya memiliki satu node induk.Sesuai konvensi ilmu komputer, tree bertumbuh ke bawah, tidak seperti pohon di dunia nyata yang tumbuh ke atas.
• Dengan demikian node anak akan digambarkan berada di bawah node induknya.
• Node yang berada di pangkal tree disebut node root
(akar), sedangkan node yang berada paling ujung pada
piramida tree disebut node leaf (daun).
Definisi Tree (Pohon)
• Ada banyak nama, istilah dan pengertian yang digunakan untuk mengilustrasikan atau menyatakan ataupun yang dikaitkan dengan pohon, antara lain ;
a. Tree (pohon) dan Graph (Grafik)
b. Simpul (Vertex, Node), dan busur (Edge, Arc)
c. Superordinat dan Subordinat, Father dan Son, Parent dan Children d. Root (akar) dan Leaf (daun)
e. Level (Tingkat) dan Depth (Kedalaman)
f. Degree (Derajat) Simpul dan Degree Pohon) g. M-ary tree dan Binary tree
h. Link dan Null-Link
A
C
B D
F
E G I
K
J L
H
M N
Tree, M-ary Tree dan Binary Tre e
Contoh sebuah TREE
A C
B D
E F G H I
N M
J K L
Tree, M-ary Tree dan Binary Tree
A C
B D
E F G H I
N M
J K L
Tree dan Graph
T = G
a. Tree merupakan bagian dari Graph
.Tree, M-ary Tree dan Binary Tree
A C
B D
E F G H I
N M
J K L
b. Simpul (Vertex, Node), dan Busur (Edge, Arc)
V = { v0, v1, v2, . . . , v13 }
E = { e0, e1, e2, . . . , e12 }
T = ( V,E)
Tree, M-ary Tree dan Binary Tree
A C
B D
E F G H I
N M
J K L
c. Superordinat dan Subordinat, Father dan Son
Untuk contoh pohon disamping:
• Simpul B merupakan superordinat simpul E dan F.
• Simpul E dan F mempunyai superordinat yang sama yaitu simpul B.
• Simpul B mempunyai 2 subordinat yaitu simpul E dan simpul F
Tree, M-ary Tree dan Binary Tree
A C
B D
E F G H I
N M
J K L
d. Akar (Root) dan Daun (Leaf/Leaves)
Root
Akar
= Simpul yang tak mempunya superordinat.Daun
= simpul yang tak mempunyai subordinatDari pohon diatas : Akar = Simpul : A.
Daun = Simpul : C, E, G, I, J, K, L, M, N
Tree, M-ary Tree dan Binary Tree
A C
B D
E F G H I
N M
J K L
0
1
2
3
Depth = 3
e. Level dan Depth, Tingkat dan Kedalaman
Root
Akar berada di Level : 0
Subordinat Level i adalah Level : i+1
A C
B D
E F G H I
N M
J K L
f. Degree (Derajat) Simpul dan Degree Pohon
• Degree Simpul A = 3, B = 2, C = 0
• Simpul daun, degree = 0
Degree Pohon :
Untuk pohon ini degree pohon dapat diduga = 3, Tapi masih mungkin 4, 5 dan seterusnya
Yang pasti bukan = 2
Tree, M-ary Tree dan Binary Tree
Berikut ini adalah beberapa istilah yang ada pada tree:
a. Simpul /node /vertex adalah elemen pohon yang berisi informasi/data dan penunjuk percabangan. Pada gambar 1 pohon dengan 15 simpul.
b. Tingkat (level) suatu simpul ditentukan
dengan pertama kali menentukan akar
sebagai bertingkat 0. simpul-simpul lainnya
dinyatakan bertingkat 1 lebih tinggi .
Berikut ini adalah beberapa istilah yang ada pada tree:
c. Derajat (degree) suatu simpul dinyatakan sebagai banyaknya generasi atau turunan dari simpul tersebut. Simpul berderajat 0 disebut dengan daun (leaf).
d. Tinggi (height) atau kedalaman (depth) dari
suatu pohon adalah tingkat maksimum dari
simpul dalam pohon tersebut dikurangi
dengan 1. Pohon gambar 1 mempunyai tinggi
atau kedalaman 4.
g. Successor adalah simpul yang berada di bawah simpul yang ditinjau. Contoh : Successor D adalah I.
h. Descendant adalah seluruh simpul yang terletak sesudah simpul tertentu dan terletak pada jalur yang sama. Contoh : Descendant E adalah J dan K.
Berikut ini adalah beberapa istilah yang ada pada tree:
i. Sibling adalah simpul-simpul yang memiliki parent yang sama dengan simpul yang ditinjau. Contoh : Sibling J adalah K
j. Parent adalah simpul yang berada satu level di atas simpul yang ditinjau. Contoh : ParentJ adalah E
Berikut ini adalah beberapa istilah yang ada pada tree:
Ilustrasi Pohon dan istilahnya
Hutan (forest) adalah kumpulan sejumlah pohon
yang tidak saling berhubungan. Pada gambar
tersebut jika simpul A dihapus maka akan diperoleh
sebuah hutan.
Hubungan Logika Antar Simpul
Struktur data pada bentuk struktur pohon dalam hubungan logiknya atau relasi antara simpul satu dengan simpul lainnya dianalogikan dengan relasi dalam sebuah keluarga atau dalam sebuah garis keturunan.
Struktur Pohon dan Hubungan Logikanya
B,Cdan D bersaudara. E,Fdan G bersaudara. H dan I bersaudara.A merupakan
orang tua (parent ) dari B,C dan D. B merupakan orang tua dari E,F dan G. D
merupakan orang tua dari H dan I.
Contoh
• Soal : Sebuah pohon M-ary dengan 10 buah simpul . Bila M = 3, maka berapa jumlah Null-Link
A
B C D
E F
I
G H
Jawab : J
Pohon dengan M = 3
Jumlah simpul = 10, jadi n = 10 Jumlah null-link = n * (m-1) + 1
= 10 * (3-1) + 1
= 10 * 2 + 1
= 21
Contoh
• Soal : gambarkan sebuah pohon biner dengan sepuluh simpul. Berapa jumlah Null- Link
A
B C
D E
H
F
G I
J Jawab :
Pohon dengan M = 2
Jumlah simpul = 10, jadi n = 10 Jumlah null-link = n * (m-1) + 1
= 10 * (2-1) + 1
= 10 * 1 + 1
= 11
Contoh1
A C
B D
E F G H I
N M
J K L
Perhatikan gambar pohon berikut :
Pertanyaan
Berdasarkan gambar pohon tadi, maka : a. Tuliskan jumlah simpul
b. Tuliskan jumlah simpul daun dan simpul apa sajakah itu.
c. Tuliskan jumlah simpul bukan daun dan simpul apa sajakah itu.
d. Tuliskan level simpul C e. Tuliskan derajat simpul F
f. Tuliskan kedalaman pohon tersebut
g. Hitung Null Link yang ada pada pohon tersebut.
Jawaban
Jawab :
a. Jumlah simpul = 14
b. Jumlah simpul daun = 9, yaitu simpul C, E, G, I, J, K, L, M, N
c. Jumlah simpul bukan daun = 5, yaitu simpul A, B, D, F, H
d. Level simpul C = 1 e. Derajat simpul F = 3 f. Kedalaman pohon = 3 g. Null Link = 14 * (3-1) + 1
= 14 * 2 + 1 = 29 Null Link
Contoh2
Perhatikan gambar pohon berikut :
Pertanyaan Contoh2
Berdasarkan gambar pohon tadi, maka : a. Tuliskan jumlah simpul
b. Tuliskan jumlah simpul daun dan simpul apa sajakah itu.
c. Tuliskan jumlah simpul bukan daun dan simpul apa sajakah itu.
d. Tuliskan simpul – simpul di level 2
e. Tuliskan simpul – simpul dengan derajat 2 f. Tuliskan kedalaman pohon tersebut
g. Hitung berapa Null Link yang ada pada pohon
tersebut.
Jawaban Contoh2
Jawab :
a. Jumlah simpul = 16
b. Jumlah simpul daun = 9, yaitu simpul F, H, J, K, L, M, N, O, P
c. Jumlah simpul bukan daun = 7, yaitu simpul A, B, C, D, E,G,I
d. Simpul – simpul di level 2 = E, F, G, H, I, J
e. Simpul – simpul dengan derajat 2 = B, C, D, I f. Kedalaman pohon = 3
g. Null Link = 16 * (3-1) + 1
= 16 * 2 + 1 = 33 Null Link
Contoh 3
• Soal : Konversi pohon M-ary berikut menjadi pohon biner A
B C D
E F G H I
J K L M N
Jawaban Contoh 3
Untuk mengubah M-ary tree menjadi Binary tree diperlukan 2 tahap yaitu :
a. Tahap Transformasi tujuannya untuk memutus link sebelah kanan atau tengah, sehingga satu simpul hanya mempunyai satu link, yaitu link sebelah kiri saja. Jika satu simpul punya anak lebih dari satu, maka hubungannya akan dikaitkan dari anak paling tua.
b. Tahap Hasil Konversi menampilkan pohon
biner sebagai hasil konversi dari m-ary tree.
Jawab : Bentuk transformasi belum membentuk pohon biner
A
B C D
E F G H I
J K L M N
Baca : A punya ‘anak’ B
B punya ‘saudara’ C dan C Logika : A punya anak B, C, dan D
Jawaban Contoh 3
Jawab : Pohon Biner hasil konversi dari pohon M-ary
A B
E C
F D
G H
M I
N J
K
L Setelah menjadi pohon biner, maka
cara membacanya adalah :
Subordinat kiri adalah hubungan
‘anak’, dan subordinat kanan adalah hubungan ‘saudara’
Jawaban Contoh 3
Contoh 4
Soal : Konversi pohon M-ary berikut menjadi pohon biner
Jawaban Contoh 4
a. Transformasi Dari M-Ary ke Binary Tree
Jawaban Contoh 4
b. Hasil Konversi M-Ary Tree Menjadi Binary Tree
Menurut Anda, apa beda pohon m-ary tree
dan pohon biner hasil konversinya ?
Ada Pertanyaan ???
Perhatikan gambar pohon berikut :
Tugas1
Berdasarkan gambar pohon tadi, maka : a. Tuliskan jumlah simpul daun
b. Tuliskan jumlah simpul dengan degree = 0 c. Tuliskan simpul – simpul daun
d. Tuliskan jumlah simpul bukan daun dan simpul apa sajakah itu.
e. Tuliskan degree pohon tersebut.
f. Tuliskan level simpul G g. Tuliskan derajat simpul G
h. Tuliskan kedalaman pohon tersebut i. Tuliskan sibling dari simpul G
j. Hitung berapa Null Link yang ada pada pohon tersebut.
Tugas1
Jawaban Tugas1 (nilai = 30)
Berdasarkan gambar pohon tadi, maka : a. Jumlah simpul pada daun = 7
b. Jumlah simpul dengan degree 0 adalah 7
c. Simpul – simpul daun adalah D, F, G, H, I, K, L
d. Jumlah simpul bukan daun = 5, yaitu simpul A, B, C, E, J
e. Degree pohon tersebut adalah 3 f. Level simpul G adalah 2
g. Derajat simpul G adalah 0
h. Kedalaman pohon tersebut adalah 4 i. Sibling dari simpul G adalah simpul H j. Null Link = 12 * (3-1) + 1
= 12 * 2 + 1 = 25 Null Link
Tugas2
Soal : Konversi pohon M-ary berikut menjadi pohon biner
Jawaban Tugas2
a. Transformasi Dari M-Ary ke Binary Tree (nilai 10)
Jawaban Tugas2
b. Hasil Konversi M-Ary Tree Menjadi Binary Tree (nilai 10)
Tugas3
Perhatikan gambar pohon berikut :
Berdasarkan kondisi pohon pada soal nomor 3, maka buatlah :
a. Konversi M-ary Tree tersebut menjadi Binary Tree
b. Tuliskan depth dari m-ary Tree
c. Tuliskan depth dari binary tree yang diperoleh d. Tuliskan simpul – simpul daun pada m-ary tree e. Tuliskan simpul – simpul daun pada binary tree f. Hitung Null link pada m-ary tree
g. Hitung Null link pada binary tree
Tugas3
Jawaban Tugas3
a. Konversi M-ary Tree tersebut menjadi Binary Tree
1) Transformasi dari M-Ary Tree Ke Binary Tree (nilai 10)
a. Konversi M-ary Tree tersebut menjadi Binary Tree 2) Hasil Konversi Binary Tree (nilai 10)