Upload
others
View
30
Download
4
Embed Size (px)
Citation preview
Pertemuan Ke - 10Struktur 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
CB D
FE G I
KJ L
H
M N
Definisi Tree (Pohon)
• Dalam ilmu komputer, tree adalah sebuahstruktur data yang secara bentuk menyerupaisebuah pohon, yang terdiri dari serangkaiannode (simpul) yang saling berhubungan.
• Node-node tersebut dihubungkan olehsebuah vektor.
• Setiap node dapat memiliki 0 atau lebih nodeanak (child).
Definisi Tree (Pohon)
• Sebuah node yang memiliki node anak disebut nodeinduk (parent).
• Sebuah node anak hanya memiliki satu nodeinduk.Sesuai konvensi ilmu komputer, tree bertumbuhke bawah, tidak seperti pohon di dunia nyata yangtumbuh ke atas.
• Dengan demikian node anak akan digambarkan beradadi bawah node induknya.
• Node yang berada di pangkal tree disebut node root(akar), sedangkan node yang berada paling ujung padapiramida tree disebut node leaf (daun).
Definisi Tree (Pohon)
• Ada banyak nama, istilah dan pengertian yang digunakan untuk mengilustrasikanatau 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 Childrend. Root (akar) dan Leaf (daun)e. Level (Tingkat) dan Depth (Kedalaman)f. Degree (Derajat) Simpul dan Degree Pohon)g. M-ary tree dan Binary treeh. Link dan Null-Link
A
CB D
FE G I
KJ L
H
M N
Tree, M-ary Tree dan Binary Tree
Contoh sebuah TREE
A
CB D
E F IHG
NMJ K L
Tree, M-ary Tree dan Binary Tree
A
CB D
E F IHG
NMJ K L
Tree dan Graph
T = G
a. Tree merupakan bagian dari Graph.
Tree, M-ary Tree dan Binary Tree
A
CB D
E F IHG
NMJ 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
CB D
E F IHG
NMJ 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
CB D
E F IHG
NMJ K L
d. Akar (Root) dan Daun (Leaf/Leaves)
RootAkar = Simpul yang tak mempunya superordinat.
Daun = simpul yang tak mempunyai subordinat
Dari pohon diatas :Akar = Simpul : A.Daun = Simpul : C, E, G, I, J, K, L, M, N
Tree, M-ary Tree dan Binary Tree
A
CB D
E F IHG
NMJ 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
CB D
E F IHG
NMJ 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 seterusnyaYang 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 pohonyang berisi informasi/data dan penunjukpercabangan. Pada gambar 1 pohon dengan15 simpul.
b. Tingkat (level) suatu simpul ditentukandengan pertama kali menentukan akarsebagai bertingkat 0. simpul-simpul lainnyadinyatakan bertingkat 1 lebih tinggi .
Berikut ini adalah beberapa istilah yang ada pada tree:
c. Derajat (degree) suatu simpul dinyatakansebagai banyaknya generasi atau turunandari simpul tersebut. Simpul berderajat 0disebut dengan daun (leaf).
d. Tinggi (height) atau kedalaman (depth) darisuatu pohon adalah tingkat maksimum darisimpul dalam pohon tersebut dikurangidengan 1. Pohon gambar 1 mempunyai tinggiatau kedalaman 4.
g. Successor adalah simpul yang berada dibawah simpul yang ditinjau. Contoh :Successor D adalah I.
h. Descendant adalah seluruh simpul yangterletak sesudah simpul tertentu dan terletakpada jalur yang sama. Contoh : Descendant Eadalah J dan K.
Berikut ini adalah beberapa istilah yang ada pada tree:
i. Sibling adalah simpul-simpul yang memilikiparent yang sama dengan simpul yangditinjau. Contoh : Sibling J adalah K
j. Parent adalah simpul yang berada satu leveldi atas simpul yang ditinjau. Contoh : ParentJadalah E
Berikut ini adalah beberapa istilah yang ada pada tree:
Ilustrasi Pohon dan istilahnya
Hutan (forest) adalah kumpulan sejumlah pohonyang tidak saling berhubungan. Pada gambartersebut jika simpul A dihapus maka akan diperolehsebuah hutan.
Hubungan Logika Antar Simpul
Struktur data pada bentuk struktur pohon dalam hubungan logiknya ataurelasi antara simpul satu dengan simpul lainnya dianalogikan dengan relasidalam 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 merupakanorang tua (parent ) dari B,C dan D. B merupakan orang tua dari E,F dan G. Dmerupakan orang tua dari H dan I.
Contoh
• Soal : Sebuah pohon M-ary dengan 10 buah simpul . Bila M = 3, maka berapajumlah Null-Link
A
B C D
E F
I
G H
JJawab :Pohon dengan M = 3Jumlah 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
IG
J
Jawab :Pohon dengan M = 2Jumlah simpul = 10, jadi n = 10
Jumlah null-link = n * (m-1) + 1= 10 * (2-1) + 1= 10 * 1 + 1= 11
Contoh1
A
CB D
E F IHG
NMJ K L
Perhatikan gambar pohon berikut :
Pertanyaan
Berdasarkan gambar pohon tadi, maka :a. Tuliskan jumlah simpulb. Tuliskan jumlah simpul daun dan simpul apa
sajakah itu.c. Tuliskan jumlah simpul bukan daun dan simpul
apa sajakah itu.d. Tuliskan level simpul Ce. Tuliskan derajat simpul Ff. Tuliskan kedalaman pohon tersebutg. Hitung Null Link yang ada pada pohon tersebut.
Jawaban
Jawab :a. Jumlah simpul = 14b. Jumlah simpul daun = 9, yaitu simpul C, E, G, I, J, K, L,
M, Nc. Jumlah simpul bukan daun = 5, yaitu simpul A, B, D, F,
Hd. Level simpul C = 1e. Derajat simpul F = 3f. Kedalaman pohon = 3g. Null Link = 14 * (3-1) + 1
= 14 * 2 + 1 = 29 Null Link
Contoh2Perhatikan gambar pohon berikut :
Pertanyaan Contoh2
Berdasarkan gambar pohon tadi, maka :a. Tuliskan jumlah simpulb. 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 2e. Tuliskan simpul – simpul dengan derajat 2f. Tuliskan kedalaman pohon tersebutg. Hitung berapa Null Link yang ada pada pohon
tersebut.
Jawaban Contoh2
Jawab :a. Jumlah simpul = 16b. Jumlah simpul daun = 9, yaitu simpul F, H, J, K, L, M,
N, O, Pc. 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, Je. Simpul – simpul dengan derajat 2 = B, C, D, If. Kedalaman pohon = 3g. 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 DC
E F G H I
J K L M N
Jawaban Contoh 3
Untuk mengubah M-ary tree menjadi Binarytree diperlukan 2 tahap yaitu :a. Tahap Transformasi tujuannya untuk memutus
link sebelah kanan atau tengah, sehingga satusimpul hanya mempunyai satu link, yaitu linksebelah kiri saja. Jika satu simpul punya anaklebih dari satu, maka hubungannya akandikaitkan dari anak paling tua.
b. Tahap Hasil Konversi menampilkan pohonbiner sebagai hasil konversi dari m-ary tree.
Jawab : Bentuk transformasi belum membentuk pohon biner
A
B DC
E F G H I
J K L M N
Baca : A punya ‘anak’ BB 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
DF
G H
IM
N
J
K
L
Setelah menjadi pohon biner, makacara membacanya adalah : Subordinat kiri adalah hubungan‘anak’, dan subordinat kanan adalahhubungan ‘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 treedan pohon biner hasil konversinya ?
Ada Pertanyaan ???
Perhatikan gambar pohon berikut :
Tugas1
Berdasarkan gambar pohon tadi, maka :a. Tuliskan jumlah simpul daunb. Tuliskan jumlah simpul dengan degree = 0c. Tuliskan simpul – simpul daund. Tuliskan jumlah simpul bukan daun dan simpul apa
sajakah itu.e. Tuliskan degree pohon tersebut.f. Tuliskan level simpul Gg. Tuliskan derajat simpul Gh. Tuliskan kedalaman pohon tersebuti. Tuliskan sibling dari simpul Gj. 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 7c. Simpul – simpul daun adalah D, F, G, H, I, K, Ld. Jumlah simpul bukan daun = 5, yaitu simpul A, B,
C, E, Je. Degree pohon tersebut adalah 3 f. Level simpul G adalah 2g. Derajat simpul G adalah 0h. Kedalaman pohon tersebut adalah 4i. Sibling dari simpul G adalah simpul Hj. Null Link = 12 * (3-1) + 1
= 12 * 2 + 1 = 25 Null Link
Tugas2Soal : Konversi pohon M-ary berikut menjadi pohon biner
Jawaban Tugas2a. Transformasi Dari M-Ary ke Binary Tree (nilai 10)
Jawaban Tugas2b. Hasil Konversi M-Ary Tree Menjadi Binary Tree (nilai 10)
Tugas3Perhatikan gambar pohon berikut :
Berdasarkan kondisi pohon pada soal nomor 3,maka buatlah :a. Konversi M-ary Tree tersebut menjadi Binary
Treeb. Tuliskan depth dari m-ary Treec. Tuliskan depth dari binary tree yang diperolehd. Tuliskan simpul – simpul daun pada m-ary treee. Tuliskan simpul – simpul daun pada binary treef. Hitung Null link pada m-ary treeg. Hitung Null link pada binary tree
Tugas3
Jawaban Tugas3a. 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 Tree2) Hasil Konversi Binary Tree (nilai 10)
Jawaban Tugas3
Jawaban Tugas3 ( dari b – g nilai 30)
b. Depth dari m-ary Tree adalah 3c. Depth dari binary tree yang diperoleh adalah 7d. Berikut adalah simpul – simpul daun pada m-ary
tree : C, E, G, H, J, K, L, Me. Berikut adalah simpul – simpul daun pada binary
tree : G, K, Mf. Null Link pada m-ary tree adalah
Null Link = 13 * (3-1) + 1 = 13 * 2 + 1 = 27 Null Link
g. Null Link pada binary tree adalahNull Link = 13 * (2-1) + 1
= 13 * 1 + 1 = 14 Null Link
Contoh Program