Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Sistem Informasi
Universitas Gunadarma
2012/2013
Teori Graf
Teori Graf mulai dikenal saat
matematikawan kebangsaan Swiss
bernama Leonhard Euler, yang berhasil
mengungkapkan Misteri Jembatan
Koningsberg tahun 1736.
Di kota Koningsberg mengalir sungai
Pregel, di sungai mengalir 2 pulau dan
diantaranya terdapat jembatan yang
menghubungkan, jumlah jembatan
tersebut sebanyak 7 buah.
Teori Graf
Sistem Informasi
Universitas Gunadarma
2012/2013
GRAF TIDAK BERARAH
Graf Sederhana adalah graf yang tidak
memiliki Loop ataupun Garis Paralel.
SISTEM INFORMASI
UNIVERSITAS GUNADARMA
2012/2013
Sirkuit Euler
B j2
j3
j5
j4 j6
D
j7 C
Teorema Sirkuit Euler
1. Procedure Dijkstra's(w,a,z,L)
2. L(a) = 0
3. for semua simpul x a do
4. L(x) = ~
5. T = himp. Semua simpul
6. while z T do
7. begin
8. Pilih v T dengan L(v) minimum
9. T = T – {v}
10. for setiap x T adjacent ke v do
11. L(x) = min { L(x) , L(v) + w(v,x) }
12.end while
13.end Dijkstra's.
Algoritma Disjkstra
Pewarnaan Graf
Algoritma yang digunakan untuk
mendapatkan bilangan kromatis dari
suatu graf adalah Algoritma Welch-Powell,
langkah-langkahnya adalah :
1. Urutkan simpul-simpul berdasarkan
derajatnya, dari besar ke kecil.
2. Warnai.
Pewarnaan Graf
Pewarnaan region dapat dilakukan dengan
cara membuat dual dari map.
Pewarnaan daerah dilakukan dengan terlebih
dahulu membentuk graph tersebut menjadi
graph planar kemudian melakukan
pewarnaan untuk tiap daerah yang berbeda
pada daerah yang berdekatan. Jumlah warna
diambil yang paling minimum.
Pewarnaan rusuk adalah mewarnai rusuk-
rusuk suatu graph, sedemikian hingga rusuk-
rusuk yang insiden warna berlainan dan
banyak warna minimum.
Pewarnaan Region
Masalah Pewarnaan
graph (graph
coloring) adalah
masalah pemberian
warna pada setiap
daerah dari graph,
dengan daerah
yang berdampingan
tidak boleh diberi
warna yang sama
Penggunaan warna
minimal
Kuning
Coklat Merah
Kuning
Hijau
Coklat
7 2
6 3
5 4
Contoh Soal
TERIMA KASIH
Pohon (Tree)
Universitas Gunadarma
Sistem Informasi
2012/2013
Pohon (Tree)
• Pohon (Tree) didefinisikan sebagai graf terhubung
yang tidak mengandung sirkuit. Karena merupakan graf
terhubung, maka pohon selalu terdapat jalur (path) yang
menghubungkan setiap dua simpul dalam pohon.
• Hutan (Forest) adalah graf yang tidak mengandung
sirkuit.
• Maka, pohon adalah hutan yang terhubung.
• Sehingga perlu diingat :
1. Suatu graf G disebut terhubung apabila untuk setiap
dua simpul dari graf G selalu terdapat jalur yang
menghubungkan kedua simpul tersebut.
2. Sirkuit (Cycle) adalah suatu lintasan tertutup
dengan derajat setiap simpul dua.
Pohon (Tree)
• Struktur Pohon adalah salah satu kasus dalam
graf. Penerapannya pada Teori Struktur Data.
• Daun adalah titik di dalam Pohon yang
berderajat 1. Titik dalam Pohon yang berderajat
> 1 disebut Titik Cabang.
• Suatu pohon dengan n titik memiliki (n-1) garis.
Pohon Rentangan (Spanning Tree)
• Suatu pohon rentangan (Spanning Tree) adalah
suatu subgraf dari graf G yang mengandung semua
simpul dari G dan merupakan suatu pohon.
• Graf G : n simpul dan m ruas
Spanning Tree : n simpul dan n-1 ruas
• Karena pohon dengan n simpul memuat (n-1) sisi,
maka untuk mendapatkan spanning tree dari suatu
graph terhubung G dengan n simpul dan q sisi
dilakukan dengan cara menghapus (q-n+1) sisi.
Pohon Berakar (Rooted Tree)
• Pohon berakar (Rooted Tree) adalah pohon
yang satu buah simpulnya diperlakukan sebagai
akar dan sisi-sisinya diberi arah sehingga
menjadi graf berarah.
Pohon Berakar (Rooted Tree)
• Pohon berakar adalah graf berarah (digraf) T
yang mempunyai dua syarat, yaitu :
1. Bila arah sisi-sisi pada T diabaikan, hasil graf
tidak berarahnya merupakan sebuah pohon.
2. Ada titik tunggal R sedemikian hingga derajat
masuk R adalah 0 dan derajat masuk
sembarang titik lainya adalah 1. Titik R disebut
akar dari pohon berakar.
Terminologi Pohon Berakar
• Anak (Child atau Children) dan Orangtua
(Parent)
• Lintasan (Path)
• Saudara Kandung (Sibling)
• Upapohon (Subtree)
• Derajat (Degree)
• Daun (Leaf)
• Simpul Dalam (Internal Nodes)
• Aras (Level) atau Tingkat
• Tinggi (Height) atau Kedalaman (Depth)
Terminologi Pohon Berakar
• Derajat sebuah simpul adalah jumlah upapohon
(atau jumlah anak) pada simpul tersebut.
Derajat maksimum dari semua simpul merupakan
derajat pohon itu sendiri.
• Daun adalah simpul yang berderajat nol (atau tidak
mempunyai anak).
• Simpul dalam adalah simpul yang mempunyai
anak.
• Aras maksimum dari suatu pohon disebut tinggi
atau kedalaman pohon.
Pohon Biner (Binary Tree)
• Pohon Biner adalah pohon berakar yang setiap
titiknya memiliki paling banyak dua anak dan
setiap anak ditunjuk sebagai anak kiri dan anak
kanan.
• Pada pohon biner setiap titik mungkin memiliki
1 atau 2 anak. Anak kiri digambarkan disebelah
kiri dan dibawah orang tuanya, serta anak kanan
disebelah kanan dibawah orang tuanya.
• Pohon biner digunakan dalam ilmu komputer
untuk mengolah data.
Sifat Utama Pohon Biner
1. Jika pohon mempunyai simpul sebanyak n, maka
banyaknya ruas (edge) adalah (n-1).
2. Mempunyai simpul khusus yang disebut akar (root),
jika simpul tersebut memiliki derajat ke luar >= 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 = 0, sampai dengan
level n pada daun paling bawah. Simpul yang
mempunyai level yang sama disebut bersaudara
(brother/sibling).
5. Pohon mempunyai ketinggian/kedalaman (height),
yang merupakan level tertinggi + 1.
6. Pohon mempunyai berat (weight) yang merupakan
banyaknya daun pada pohon.
Pohon Biner
• Pohon biner memiliki akar (root), dan tree di
bawahnya disebut dengan subtree kiri dan
subtree kanan.
• Akar dari subtree merupakan successor bagi
root tree sehingga menjadi left successor dan
right successor.
• Sebarang node dalam pohon biner akan
mempunyai 0 atau 1 atau 2 buah successor,
sedangkan untuk node yang tidak mempunyai
successor dinamakan terminal node.
Terminologi Pohon Biner
• Similar
Dua buah tree dikatakan Similar jika keduanya
mempunyai struktur (bentuk) yang sama.
Terminologi Pohon Biner
• Complete Binary Tree
Sebuah tree dikatakan Complete Binary Tree
jika semua level (kecuali level terakhir)
mempunyai jumlah node maksimum (2r) dan
bila semua simpul pada tingkat terakhir muncul
dibagian kiri pohon.
Untuk setiap level r mempunyai paling banyak 2r
node.
Terminologi Pohon Biner
• Extanded Binary Tree : 2-tree
Sebuah binary tree T dikatakan sebagai 2-tree atau
Extanded Binary Tree jika setiap node N
mempunyai 0 atau 2 buah Child.
Node dengan 2 buah Child dikatakan internal node.
Node dengan o Child dikatakan external node.
Aplikasi 2-tree digunakan untuk menyajikan suatu
ekspresi aritmatik yang mengandung operasi biner.
External node digunakan untuk menyajikan
operand dan Internal node digunakan sebagai
operator yang bekerja terhadap 2 suppohon.
Pohon Biner Seimbang
• Dalam beberapa aplikasi, diinginkan tinggi
upapohon kiri dan tinggi upapohon kanan yang
seimbang yaitu berbeda maksimal 1.
• Terapan Pohon Biner
Pohon Ekspresi : Preorder (Prefix) - Inorder
(Infix) - Postorder (Postfix)
Pohon Terurut (Ordered Tree)
• Pohon terurut (Ordered Tree) adalah
pohon berakar yang urutan anak-anaknya
penting.
• Hutan adalah graf tanpa sirkuit.
• Titik Terminal adalah titik dengan derajat
keluar 0.
• Titik Internal adalah titik yang memiliki
derajat keluar yang tidak nol.
Pemodelan Masalah Graf Pohon
• Pohon Rentangan Minimal (Minimal Spanning
Tree)
Apabila G suatu Graf berbobot (Suatu Network),
maka pohon rentangan minimal dari graf adalah
pohon rentangan dengan jumlah bobot terkecil.
• Masalah : mencari pohon rentang dengan total
bobot seminimal mungkin.
• Algoritma untuk mencari pohon rentangan minimal
adalah :
1. Algoritma Solin.
2. A;goritma Kruskal.
3. Algoritma Prim’s.
Pemodelan Masalah Graf Pohon
• Algoritma Solin
1. Urutkan ruas dari G menurut bobotnya, dari
besar ke kecil.
2. Lakukan penghapusan ruas berdasarkan
urutan yang sudah dilakukan, dengan
ketentuan bahwa penghapusan ruas tersebut
tidak menyebabkan graf menjadi tidak
terhubung.
Pemodelan Masalah Graf Pohon
• Algoritma Kruskal
1. Urutkan ruas dari G menurut bobotnya, dari
kecil ke besar.
2. Lakukan penambahan ruas berdasarkan
urutan yang sudah dilakukan, dengan
ketentuan bahwa penambahan ruas tersebut
tidak menyebabkan adanya sirkuit.
Algoritma Kruskal (2)
1. Isi T dengan semua titik dalam G tanpa garis.
2. m = 0
3. Selama m < (n-1) lakukan :
a. Pilih garis e dalam E dengan bobot
terkecil. Jika ada beberapa garis, pilih salah
satu.
b. Hapus garis e dari E.
c. Jika garis e ditambahkan ke T tidak
menghasilkan sirkuit , maka :
* Tambahkan e ke T
*m=m+1
Algoritma Kruskal
Misal G adalah graph dengan n simpul. T pohon
dalam G.
• Urutkan sisi dalam graph berdasarkan bobotnya
(dari bobot terkecil ke bobot yang terbesar).
• T={}
• Pilih sisi (u,v) dengan bobot minimum yang
tidak membentuk sirkuit di T. Tambahkan (u,v)
ke dalam T.
• Ulangi Langkah 3 sebanyak (n -2) kali.
Pemodelan Masalah Graf Pohon
• Algoritma Prim’s
1. Kruskal + menjaga graf tetap terhubung.
d
i
(vi ) d (vi )
i
Graf Berarah (Digraph)
Titik terasing adalah titik dalam G di mana derajat
keluar dan derajat masuknya adalah 0.
Titik pendan adalah titik dalam G di mana jumlah
derajat masuk dan derajat keluarnya adalah 1.
Dua garis berarah dikatakan paralel jika keduanya
mempunyai titik awal dan titik akhir yang sama.
Path Berarah dan Sirkuit Berarah
Dalam graf berarah, perjalanan harus
mengikuti arah garis.
Suatu graf yang tidak memuat sirkuit berarah
disebut ASIKLIK.
Contoh : v3
v1
v4
v2
Keterhubungan Graf Berarah
Walk, path dan sirkuit dalam graf berarah sama
dengan walk, path dan sirkuit dalam graf tidak
berarah. Dalam graf berarah perjalanan dilakukan
dengan mengikuti arah garis.
Untuk membedakan dengan graf tidak berarah
maka walk, path dan sirkuit dalam graf berarah
disebut walk berarah, path berarah dan sikuit
berarah.
Suatu graf berarah disebut terhubung jika ada
walk yang menghubungkan setiap 2 titiknya.
Keterhubungan Graf Berarah
Berdasarkan arah garisnya, graf berarah ada 2
keterhubungan yaitu keterhubungan kuat dan
keterhubungan lemah.
Misalkan G adalah suatu graf berarah dan v, w
adalah sembarang 2 titik dalam G.
1. G disebut terhubung kuat, jika ada path berarah
dari v ke w.
2. G disebut terhubung lemah, jika G tidak
terhubung kuat tetapi graf tidak berarah yang
bersesuaian dengan G terhubung.
Matriks dan Graf Berarah
Matriks Hubung (Matriks Adjacency)
Matriks Biner (Matriks Incidence)
Matriks Sirkuit
Matriks Hubung (Matriks Adjacency)
Sistem Informasi
Universitas Gunadarma
2012/2013
PENGERTIAN ALGORITMA
Algoritma adalah urutan langkah yang tepat dan
pasti dalam memecahkan suatu masalah secara
logis.
Cara menyelesaikan suatu proses yang terdiri
atas langkah-langkah yang terdefinisi dengan
baik.
Bisa dihitung (computable) atau bisa diukur
(measurable) serta dapat menerima input dan
menghasilkan output.
Algoritma dapat dianalisis efisiensi dan
kompleksitasnya.
KRITERIA ALGORITMA YANG BAGUS
Sebuah algoritma dikatakan BENAR (correct)
jika algoritma tersebut berhasil mengeluarkan
output yang benar untuk semua kemungkinan
input.
Penilaian algoritma didasarkan pada :
1. Waktu eksekusi.
Contoh Program :
sum = 0;
for (i=0; i<n; i++)
sum = sum + a[i];
maka T(n) = . . . .
TERIMA KASIH
Sistem Informasi
Universitas Gunadarma
2012/2013
Teknikrekursif adalah salah satu cara
pembuatan algoritma dengan
pemanggilan procedure atau function
yang sama.