Pertemuan Ke - 10 Struktur Pohon … · Struktur Pohon Tree atau pohon, termasuk struktur non...

Preview:

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

Recommended