Anda di halaman 1dari 22

MAKALAH MATEMATIKA DISKRIT

POHON

DISUSUN OLEH:
KELOMPOK 3
ALFAJRI NURHUDA YUDIVA (2111512012)
ANANDA VIANNY HALIZA (2111511026)
IKHWANUL HAKIM (2111512016)
M. ARVIN HARAVANDA (2111512024)
M. MUFADDHAL GIFFARI (2111512020)
M. RAZAK HIDAYATULLAH (2111512008)
NUR AISYAH (2111512004)

PROGRAM STUDI TEKNIK KOMPUTER


UNIVERSITAS ANDALAS PADANG
2022
KATA PENGANTAR

Assalammu’alaikum Wr. Wb.

Puji dan syukur kehadirat Allah SWT Tuhan semesta alam yang Maha Pengasih lagi
Maha Penyayang, atas segala kasih sayang-Nya dan lindungan-Nya sehingga kami dapat
menyelesaikan penyusunan makalah dengan judul “Pohon” sebagai salah satu tugas pada
mata kuliah Matematika Diskrit, mahasiswa Teknik Komputer Fakultas Teknologi Informasi
Universitas Andalas.

Maksud dan tujuan dalam penyusunan makalah ini adalah untuk memenuhi nilai mata
kuliah Matematika Diskrit. Selain itu penyusun berharap dengan adanya makalah ini dapat
menambah pengetahuan mahasiswa mengenai hal-hal yang terkait dengan teknik presentasi
yang baik dan benar.

Kami menyadari masih banyak terdapat kekurangan dalam makalah ini. Penyusun
berharap makalah ini dapat memberikan manfaat dan menambah referensi yang
berkepentingan dengan teknik presentasi.

Wassalamu’alaikum Wr. Wb.

Padang, 14 Juni 2022


Pemakalah

POHON

Definisi
Pohon (tree) adalah merupakan graf yang tak berarah terhubung yang tidak memuat sirkuit
sederhana.
Contoh:

Hutan ( forest ) merupakan kumpulan pohon yang saling lepas. atau, hutan merupakan graf
tidak terhubung yang tidak mengandung sirkuit.

Sifat Pohon :
1. Misalkan G merupakan suatu graf dengan n buah simpul dan tepat n – 1 buah sisi.
2. Jika G tidak mempunyai sirkuit maka G merupakan pohon.
3. Suatu pohon dengan n buah simpul mempunyai n – 1 buah sisi.
4. Setiap pasang simpul di dalam suatu pohon terhubung dengan lintasan tunggal.
5. Misalkan G adalah graf sederhana dengan jumlah simpul n,jika G tidak mengandung sirkui
t maka penambahan satu sisi pada graf hanya akan membuat satu sirkuit.
Teorema Pohon:
Teorema 1
Jika T pohon, maka untuk setiap dua titik u dan v yang berbeda di T terdapat tepat satu
lintasan (path) yang menghubungkan kedua titik tersebut.
Bukti:
Misalkan ada lintasan (path) berbeda yang menghubungkan titik u dan titik v di T, katakanlah
e1 dan e2, dengan e1≠e2. Maka e1 dan e2 akan menghubungkan titik u dan titik v, sehingga
ada dua lintasan yang terhubung pada kedua titik tersebut dan membentuk sikel. Berdasarkan
definisi, T tidak memiliki sikel. Dengan demikian, haruslah e1=e2. Hal ini bertentangan
dengan pemisalan bahwa e1≠e2. Jadi, terbukti bahwa setiap dua titik yang berbeda di T
memiliki tepat satu lintasan yang menghubungkan kedua titik tersebut.
Teorema 2
Banyaknya titik dari sebuah pohon T sama dengan banyaknya sisi ditambah satu atau ditulis:
Jika T pohon, maka |V (T)| = |E (T)| +1
Bukti:
Kita buktikan teorema di atas dengan induksi pada |V(T)|. Jika pohon T mempunyai satu titik,
jelas banyak sisi T adalah nol. Jadi teorema benar untuk pohon T dengan satu titik.
Asumsikan bahwa pernyataan dalam teorema benar untuk pohon dengan k titik, artinya jika
pohon T mempunyai paling banyak k titik, maka |V(T)| = |E(T)| + 1. Akan ditunjukkan bahwa
jika pohon T mempunyai k + 1 titik maka |V(T)| = |E(T)| + 1. Misalkan T adalah pohon
dengan k + 1 titik dan  adalah sebuah sisi T. Maka T -  memiliki tepat dua komponen T1
dan T2 , dan masing-masing komponen adalah pohon dengan titik kurang dari k + 1.
Sehingga menurut asumsi, |V(Ti )| = |E(Ti )| + 1 ; i = 1,2.
Selanjutnya
|E(T)| = |E(T1 )| + |E(T2 )| + 1, sehingga
|V(T)| = |V(T1 )| + |V(T2 )|
= |E(T1 )| + 1 + |E(T2 )| + 1
= (|E(T1 )| + |E(T2 )| + 1) + 1
= |E (T)| + 1 (Dengan demikian teorema terbukti)
Teorema 3
a. Bila suatu sisi dihapus dari pohon (dan titiknya tetap), maka diperoleh graph yang tidak
terhubung, dan karenanya graph itu bukan pohon.
b. b. Bila sebuah sisi ditambahkan pada pohon (tanpa menambah titik baru), diperoleh graph
yang memiliki sikel, dan karena itu graph tersebut bukan pohon.
Bukti:
Jika sebuah sisi ditambahkan atau dihapuskan dari pohon, graph baru yang diperoleh tidak
lagi merupakan pohon, berdasarkan teorema 2. Karena penghapusan sebuah sisi menjadikan
graph itu tidak terhubung, dan penambahan sisi membentuk sikel, maka teorema terbukti.
Teorema berikut memberikan cara-cara tertentu untuk mengkarakterisasikan pohon.
Pembuktiannya dikerjakan sebagai latihan.

Teorema 4
Pernyataan berikut ini ekuivalen untuk pohon T.
a. T adalah pohon.
b. T terhubung dan banyak titiknya lebih satu dari banyak sisinya.
c. T tidak memiliki sikel dan banyak titiknya lebih satu dari banyak sisinya.
d. Ada tepat satu lintasan (path) sederhana antara setiap dua titik di T.
e. T terhubung dan penghapusan sembarang sisi pada T menghasilkan graph yang tidak
terhubung.
f. T tidak memiliki sikel dan penambahan sembarang sisi menghasilkan sikel pada graph itu.
Teorema 5
Jika P = (v 0 , v 1 , v 2 , ..., v n ) sebuah lintasan terpanjang di pohon T, maka d(v 0 ) = d(v n )
= 1.
Bukti:
Misalkan T adalah sebuah pohon dari P = (v 0 , v 1 , v 2 , ..., v n ) lintasan terpanjang di T.
Andaikan d(v 0 ) 1, maka d(v 0 ) > 1. Berarti ada paling sedikit dua sisi T yang terkait
(insiden) dengan v 0 . Misalkan e v 0 v 1 adalah sisi T yang terkait dengan v 0 . Karena P
lintasan terpanjang di T dan T sederhana, sisi e harus menghubungkan v 0 dengan sebuah titik
lain di P, katakan titik v k , k 0,1. Akibatnya (v 0 , v 1 , v 2 , ..., v k , v n ) membentuk sikel di
T, ini bertentangan dengan kenyataan bahwa T sebuah pohon. Dengan kata lain d(v 0 ) = 1.
Dengan argumen yang serupa, dapat ditunjukkan d(v n ) = 1. Teorema terbukti.
Pohon Berakar
Pohon berakar adalah pohon yang satu buah simpulnya diperlakukan sebagai akar dan sisi-
sisinya diberikan arah sehingga menjadi graf berakar. Contohnya :

Pohon (tree) telah digunakan sejak tahun 1857 oleh matematikawan Inggris yang bernama
Arthur Cayley untuk menghitung jumlah senyawa kimia.Silsilah keluarga biasanya juga
digambarkan pasa bentuk pohon.
Pohon (tree) adalah merupakan graf yang tak berarah terhubung yang tidak memuat sirkuit
sederhana. Diagram pohon dapat digunakan sebagai alat untuk memecahkan masalah dengan
menggambarkan semua alternative pemecahan.

Rooted tree adalah suatu tree yang mempunyai akar . Istilah-istilah / unsur - unsur yang ada
pada pohon berakar :
1. Daun :
2. Cabang
3. Tinggi / level / dept / dalamnya suatu vertex

Sifat Utama Pohon Berakar


1. Jika Pohon mempunyai Simpul sebanyak n, maka banyaknya ruas atau edge
adalah (n-1).
2. Mempunyai Simpul Khusus yang disebut Root, jika Simpul tersebut memiliki
derajat keluar >= 0, dan derajat masuk = 0.
3. Mempunyai Simpul yang disebut sebagai Daun / Leaf, jika Simpul tersebut
berderajat keluar = 0, dan berderajat masuk = 1.
4. Setiap Simpul mempunyai Tingkatan / Level yang dimulai dari Root yang
Levelnya = 1 sampai dengan Level ke - n pada daun paling bawah. Simpul yang
mempunyai Level sama disebut Bersaudara atau Brother atau Striblings
5. Pohon mempunyai Ketinggian atau Kedalaman atau Height, yang merupakan
Level tertinggi
6. Pohon mempunyai Weight atau Berat atau Bobot, yang banyaknya daun (leaf)
pada Pohon.
7. Banyaknya Simpul Maksimum sampai Level N adalah :

8. Banyaknya Simpul untuk setiap Level I adalah

Pohon Berurut Berakar (Ordered Rooted Tree) 


Pohon Berurut Berakar (Ordered Rooted Tree) adalah  pohon berakar yang diberi label
berurut secara sistematis. Sistem itu disebut Universal Adress System.
Contoh : dengan memberi nomor urutan; NOL pada akar, kemudian memberikan nomor atas
n gugus pada setiap titik simpul yang berjarak n dari akar.

Gambar pohon berurut berakar di atas disebut Lexicographic order.


Pernyataan arimetika (a-b) / [(cxd)+e] dapat digambar dalam Lexicographic.

Contoh Soal Pohon


1.      Spanning Tree
Perhatikan gambar suatu graf berikut :

Penyelesaian dengan Spanning Tree adalah

2.      Rooted Tree
Diketahui suatu bentuk Pohon Berakar T sebagai berikut :

Pohon diatas mempunyai :


a.       Simpul sebanyak = 8 dan edge = n - 1 = 8 – 1 = 7
b.      Root pada Pohon T diatas adalah Simpul P
c.       Mempunyai daun (Leaf) = 4, yaitu = R, S, V dan W
d.      Level (tingkatan) Pohon = 4 yaitu :
Level 1 = Simpul P 
Level 2 = Simpul Q dan T
Level 3 = Simpul R, S dan U
Level 4 = Simpul V dan W

e.       Ketinggian atau kedalaman = jumlah level = 4


f.       Weight atau berat atau bobot = jumlah daun = 4
Dalam gambar Pohon T diatas dapat dibentuk 2 buah hutan (forest), bila simpul P
dihilangkan, yaitu :
Hutan 1 : Q,R,S
Hutan 2 : T,U,V,W
g.      Banyaknya Simpul Maksimum yang dapat terbentuk sampai Level 4 (bila simpul pada
pohon dianggap penuh) adalah
2(N) – 1
2(4) – 1 = 16 – 1 = 15
h.      Banyaknya Simpul maksimum untuk setiap Level I(bila simpul pada pohon dianggap
penuh) adalah :
Maksimum Simpul pada level 2 = 2 ( I – 1)=
 2 ( 2 - 1 )  = 2
Maksimum Simpul pada level 3 = 2 (3-1)= 4
Maksimum Simpul pada level 4 = 2 (4-1)= 2

3. Terdapat sebuah permainan sederhana sebagai berikut: Seseorang memikirkan
sebuah angka antara 1 sampai 31. Anda harus menebak angka dengan benar.
Anda bertanya, ”Apakah angkanya x?” kemudian orang tersebut menjawab
dengan ”Ya”,”Lebih kecil dari x”, atau ”Lebih besar dari x”. Tunjukkan bahwa Anda
mampu menebak angka tersebut tidak lebih dari 5 kali tebakan.

Penyelesaian :
Petunjuknya adalah dengan selalu menebak  angka yang menjadi titik tengah dari
jangkauan angka yang tersisa. Kemudian, jika tebakan salah akan mengurangi
separuh angka, hingga akhirnya akan tersisa satu angka. Gambar 11.6
memperlihatkan bagaimana proses tebakan berlangsung,mulai dari 16.

Setiap verteks adalah titik yang memutuskan nilai benar atau salah, jika salah maka 
nilai tersebut berada di salah satu subtree dari dua subtree. Subtree pada sisi kiri 
berisi nilai yang lebih kecil, dan subtree pada sisi kanan berisi nilai yang lebih besar.
Tree yang terbentuk hanya empat level, maka diperlukan tidak lebih dari 5 kali
tebakan.
Pohon Merentang (Spanning Tree)
- Pohon merentang dari graf terhubung adalah upagraf merentang yang
berupa pohon.
- Pohon merentang diperoleh dengan memutus sirkuit di dalam graf

G T1 T2 T3 T4

- Setiap graf terhubung mempunyai paling sedikit satu buah pohon merentang.
- Graf tak-terhubung dengan k komponen mempunyai k buah hutan merentang yang disebut
hutan merentang (spanning forest).

Aplikasi Pohon Merentang


- Jumlah ruas jalan seminimum mungkin yang menghubungkan semua kota sehingga setiap
kota tetap terhubung satu sama lain.
- Perutean (routing) pesan pada jaringan komputer.
(a) (b)

Router Subnetwork

(a) Jaringan komputer, (b) Pohon merentang multicast

Pohon Merentang Minimum


- Graf terhubung-berbobot mungkin mempunyai lebih dari 1
pohon merentang.
- Pohon merentang yang berbobot minimum dinamakan pohon
merentang minimum (minimum spanning tree).
a
a
45
55 d
25 30
c h h 40
b 5
b
40 20
50
5 15
g
e
35 10

f f

Algoritma Prim
Langkah 1: ambil sisi dari graf G yang berbobot minimum, masukkan ke dalam T.
Langkah 2: pilih sisi (u, v) yang mempunyai bobot minimum dan bersisian dengan
simpul di T, tetapi (u, v) tidak membentuk sirkuit di T. Masukkan (u, v) ke dalam T.
Langkah 3: ulangi langkah 2 sebanyak n – 2 kali.

procedure Prim(input G : graf, output T : pohon)


{ Membentuk pohon merentang minimum T dari graf terhubung- berbobot G.
Masukan: graf-berbobot terhubung G = (V, E), dengan V= n
Keluaran: pohon rentang minimum T = (V, E’)
}
Deklarasi
i, p, q, u, v : integer

Algoritma
Cari sisi (p,q) dari E yang berbobot terkecil T  {(p,q)}
for i1 to n-2 do
Pilih sisi (u,v) dari E yang bobotnya terkecil namun bersisian dengan simpul di T
T  T  {(u,v)} endfor

Contoh
Langkah Sisi Bobot Pohon rentang

1 10 2
1 (1, 2)
10

1 10 2
2 (2, 6) 25
25

1 6 10
3 (3 , 6 ) 15
3

25

15

4 (4 , 6 ) 20 10 2
1
3
25
4 20
15

Pohon merentang minimum yang dihasilkan:


1 10 2

45 3

4
35
25
5
20 55
15

Bobot = 10 + 25 + 15 + 20 + 35 = 105

- Pohon merentang yang dihasilkan tidak selalu unik meskipun bobotnya tetap sama.
- Hal ini terjadi jika ada beberapa sisi yang akan dipilih berbobot sama.
Contoh:

a 3 b 4 c 2 d

4 2 3 6

e 5 f 4 g 4 h

5 4
3 5

i 6 j 4 k 2 l

Tiga buah pohon merentang minimumnya:

a 3 b c 2 d a 3 b c 2 d a 3 b 4 c 2 d

4 2 3 4 2 3 4 2 3
f g h f h f g h
e e e
4 4 4
5 3 4 5 3 4 5 3 4

i j 4 k 2 l i j 4 k 2 l i j k 2 l

Algoritma Kruskal
Langkah 0: Sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya – dari bobot
kecil ke bobot besar)
Langkah 1: T masih kosong
Langkah 2: Pilih sisi (u, v) dengan bobot minimum yang tidak membentuk sirkuit di
T. Tambahkan (u, v) ke dalam T.
Langkah 3: Ulangi langkah 2 sebanyak n – 1 kali.

procedure Kruskal(input G : graf, output T : pohon)


{ Membentuk pohon merentang minimum T dari graf terhubung –
berbobot G.
Masukan: graf-berbobot terhubung G = (V, E), dengan V= n
Keluaran: pohon rentang minimum T = (V, E’)
}
Deklarasi
i, p, q, u, v : integer

Algoritma
( Asumsi: sisi-sisi dari graf sudah diurut menaik berdasarkan bobotnya – dari bobot
kecil ke bobot besar)
T  {}
while jumlah sisi T < n-1 do
Pilih sisi (u,v) dari E yang bobotnya terkecil if (u,v) tidak membentuk siklus di T
then
T  T  {(u,v)} endif
endfor

Contoh:

1 10 2

50
30 3
45 40
4 35
25
5
20 55
15

1
Sisi-sisi diurut menaik:

Sisi (1,2) (3,6) (4,6) (2,6) (1,4) (3,5) (2,5) (1,5) (2,3) (5,6)
Bobot 10 15 20 25 30 35 40 45 50 55

Langkah Sisi Bobot Hutan merentang

0 1 2 3 4 5 6

1 (1 , 2 ) 10
1 2

2 (3 , 6 )
1 2 3 4 5
15

3 (4 , 6 ) 20
1 2 3 5

4 (2 , 6 ) 25
1 2 3 5

4
5 (1, 4) 30 ditolak

6 (3, 5) 35
1 2
3
5
4

Pohon merentang minimum yang dihasilkan:

1 10 2

45 3
35
4
25
5
20 55
15

Bobot = 10 + 25 + 15 + 20 + 35 = 105
Kode Huffman

Dalam komunikasi data, pesan (message) yang dikirim seringkali ukurannya sangat
besar sehingga waktu pengirimannya lama. Begitu juga dalam penyimpanan data, arsip (file)
yang berukuran besar memakan ruang penyimpanan yang besar. Kedua masalah ini dapat
diatasi dengan mengkodekan pesan sesingkat mungkin, sehingga waktu pengiriman pesan
juga relatif cepat, dan ruang penyimpanan yang dibutuhkan juga sedikit. Cara pengkodean
seperti ini disebut pemampatan (compression) data. Pemampatan data dilakukan dengan
mengkodekan setiap karekter di dalam pesan arsip dengan kode yang lebih pendek. Sistem
kode yang banyak digunakan adalah kode ASCII.

Tabel Kode ASCII


Simbol Kode ASCII
A 01000001
B 01000010
C 01000011
D 01000100

Dengan mengikuti ketentuan pengkodean diatas, string ‘ABACCDA’ direpresentasikan


menjadi rangkaian bit:
010000010100000100100000101000100100000110100000110100010001000001
atau 7 x 8 = 56 bit (7 byte).

Tabel Kekerapan dan Kode Huffman ubtuk string ‘ABACCDA’


Simbol Kekerapan Peluang Kode Huffman
A 3 3/7 0
B 1 1/7 110
C 2 2/7 10
D 1 1/7 111

Dengan menggunakan Kode Huffman string “ABACCDA” direpresentasikan menjadi


rangkaian bit:
0110010101110
Hanya 13 bit

Algoritma pembentukan kode Huffman :


a. Pilih dua simbol dengan peluang (probability) paling kecil (pada contoh diatas simbol
B dan D). Kedua simbol tadi dikombinasikan sebagai simpul orangtua dari simbol B
dan D sehingga menjadi simbol BD dengan peluang 1/7 + 1/7 = 2/7, yaitu jumlah
peluamg kedua anaknya.
b. Selanjutnya, pilih dua simbol berikutnya, termasuk simbol baru, yang mempunyai
peluang terkecil. Pada contoh ini, dusa simbol tersebut adalah C (peluang = 2/7) dan
BD (peluang = 2/7).
c.  Ulangi langkah 1 dan 2 sampai seluruh simbol habis
d. Beri label secara konsisten sisi kiri dengan 0 dan sisi kanan dengan 1
e. Lintasan dari akar ke daun berisi sisi-sisi pohon yang deretan labelnya menyatakan
kode Huffman untuk simbol daun tersebut

Kode Huffman: A = 0, C = 10, B =110, D = 111


Encoding :
Kodekan setiap simbol di dalam string tadi dengan kode Huffman
ABACCDA = 0110010101110
Perhatikan bahwa Kode Huffman tidak bersifat unik, artinya kode untuk setiap
karakter berbeda-beda pada setiap pesan bergantung pada kekerapan kemunculan
karakter tersebut di dalam pesan. Selain itu, keputusan apakah suatu simpul pada
pohon Huffman diletakkan di kiri atau di kanan juga menentukan kode yang
dihasilkan (tetapi tidak mempengaruhi panjang kodenya).

Sumber
https://medium.com/@ulfafaudiah99/matematika-diskrit-55a8af8920f
SALAMAH, Ummy Gusti; HAPSARI, Anindya Ananda. Matematika Diskrit. Media Sains
Indonesia, 2021.

Anda mungkin juga menyukai