Definisi Graph
Graph adalah kumpulan dari simpul dan busur yang secara matematis dinyatakan sebagai :
G = (V, E)
Dimana :
G = Graph
V = Simpul atau Vertex, atau Node
E = Busur atau Edge, atau arc
Sifat-Sifat Graph
Sebuah graph mungkin hanya terdiri dari satu simpul
Sebuah graph belum tentu semua simpulnya terhubung dengan busur
Sebuah graph mungkin mempunyai simpul yang tak terhubung dengan simpul yang lain
Sebuah graph mungkin semua simpulnya saling berhubungan
Contoh Graph
Istilah-Istilah dalam Graph
Incident
Jika e merupakan busur dengan simpul-simpulnya adalah v dan w yang ditulis e=(v,w), maka v dan w disebut “terletak” pada e, dan e disebut incident dengan v dan w.
Degree
Degree dari suatu verteks x dalam undigraph
adalah jumlah busur yang incident dengan simpul tersebut.
Indegree
Indegree dari suatu verteks x dalam digraph
adalah jumlah busur yang kepalanya incident dengan simpul tersebut, atau jumlah busur yang “masuk” atau menuju simpul tersebut.
Out Degree
Outdegree dari suatu verteks x dalam digraph
adalah jumlah busur yang ekornya incident dengan simpul tersebut, atau jumlah busur yang “keluar” atau berasal dari simpul tersebut.
Adjacent
Pada
graph tidah berarah, 2 buah simpul disebut adjacent bila ada busur
yang menghubungkan kedua simpul tersebut. Simpul v dan w disebut
adjacent.
Pada graph berarah, simpul v disebut adjacent dengan simpul w bila ada busur dari w ke v.
Successor dan Predecessor
Pada graph berarah, bila simpul v adjacent dengan simpul w, maka simpul v adalah successor simpul w, dan simpul w adalah predecessor dari simpul v.
Path
Sebuah path adalah serangkaian simpul-simpul berbeda yang adjacent secara berturut-turut dari simpul satu ke simpul berikutnya.
Representasi Graph dalam Matrik
Kotak yang berisi angka satu menunjukan
bahwa dalam dua vertex tersebut terdapat edge yang menghubungkannya. Dan jika
dalam kotak terdapat angka nol, maka hal tersebut menandakan tidak ada edge
yang mengubungkan secara langsung dua vertex tersebut.
Pada Weighted Direct Graph, penulisan matrix tidak menggunakan angka no 1 dan 0 lagi, melainkan menggunakan nilai (bobot) jika ada edge yang menghubungkan dua buah verterx dan nilai 0 jika tidak ada edge yang menghubungkan vertex - vertex tersebut.
Jenis-Jenis Graph
Derected Graph
Sebuah Graph yang sisi atau busurnya berlaku satu arah saja,
sesuai dengan arah tanda panah.
Misal :
e1 = (A,B)
Berarti hanya berlaku untuk Graph A ke B saja, tidak berlaku
Untuk B ke A
Undirect Graph
Graph yang sisi atau busurnya bisa berlaku ke dua Arah.
Secara Grafik dapat dilihat tidak ada arah panah pada Busur.
Edge pada Undigraph bisa direpresentasikan sebagai garis
dengan panah 2 arah.
Misal :
e1 = (A,B)
e1 = Bisa dikatakan Graph A ke B atau Graph B ke A
Weighted Graph
Weighted
Graph adalah Graph yang sisi / busurnya memiliki nilai (bobot).
Weighted Graph terdiri dua jenis :
-
Weighted Direct Graph
Bobot berlaku satu arah saja
-
Weighted Undirect Graph
Bobot Berlaku 2 arah
Metode Pencarian Vertex
Depth first search (DFS)
Pencarian dengan
metode ini dilakukan dari node awal secara mendalam hingga yang paling akhir (dead-end) atau sampai ditemukan
Kelebihan :
-
Cepat Mencapai kedalaman ruang pencarian
-
Tidak boros waktu, jika lintasannya panjang
-
Lebih efisien
Kekurangan
-
Memungkinkan tidak ditemukan tujuan
yang di harapkan
-
Pada setiap pencarian hanya menghasilkan 1 solusi saja
BREADTH FIRST SEARCH (BFS)
Prosedur Breadth First Search merupakan pencarian yang dilakukan dengan mengunjungi tiap-tiap node secara
sistematis pada setiap level hingga
keadaan tujuan (goal state)
ditemukan.
Kelebihan
-
Tidak akan menemukan jalan Buntu
- Jika lebih dari solusi, maka BFS akan solusi minimum akan ditemukan
Kekurangan
-
Menyimpan memori
yang besar karena menyimpan semua
node yang ada dalam satuatu pohon.
Minimmum Spanning Tree
Spanning Tree adalah sebuah cabang yang terbentuk dari subset edge-edge serta menghubungkan setiap vertex dalam suatu Graph.
Minimum
Spanning Tree adalah total bobot minimal dari edge-edge yang menghubungkan setiap vertex.
Algoritma MST :
1. Algoritma Kruskal
2. Algoritma Prim
Contoh Minimum Spanning Tree
Unweighted Undirect Graph
Kemungkinan MST
GRAPH pada JAVA
Untuk pengaplikasian teori Graph dapat di lakukan pada program Java.
Software yang kita gunakan pada Program yang kita buat adalah Eclipse Untuk pengaplikasian teori Graph dapat di lakukan pada program Java.
Software yang kita gunakan pada Program yang kita buat adalah Eclipse.
Pada Package GRAPH_BASIC
Terdapat 5 file berextensi .java yang saling berhubungan.
Untuk melakukan Logika pada package GRAPH_BASIC
terdapat pada file main.java
Output yang di hasilkan akan seperti di Bawah ini
Referensi:
http://gallerycode.files.wordpress.com/2010/11/graph1.pptx
boleh dikirim untuk kelas selain main.java?
BalasHapus