Disusun oleh
1. Definisi Graph adalah himpunan benda – benda yang disebut verteks (atau node)
yang terhubung oleh sisi (atau edge).
2. Definisi Graph Berarah adalah graph yang sisi-sisinyadiberikan orientasi arah.
2. Jenis Graph
Adapun beberap jenis graph yaitu sebagai berikut:
1. Graph kosong
Graph kosong yaitu graph yang himpunan sisinya merupakan himpunan kosong
atau tidak mempunyai sisi.
2. Graph berbobot
Graph yang setiap sisinya diberikan suatu bobot dinamakan dengan graph
berbobot
3. Graph sederhana (simple grafh).
Graph yang tidak mengandung loop maupun sisi ganda dinamakan graph
sederhana.
4. Graph sederhana.
Graph yang tidak mengandung atau tidak memiliki sisi ganda atauloop (gelung).
5. Graph tak-berarah (undirected graph).
Graph yang sisinya tidak mempunyai orientasi arah disebut graphtak berarah.
6. Graph berarah (directed graph).
Graph berarah (directed graph) adalah graph yang sisi-sisinyadiberikan orientasi
arah.
C. Cara Mendiskripsikan Graph ke bahasa pemrogaman
Berikut adalah beberapa contoh syntax untuk implementasi graph ;
- Deklarasi
public class AdjacencyMatriksGraph {
private final int MAX_VERTS = 20;
private Vertex vertexList[];
private int adjMat[][];
private int nVerts;
private StackX theStack;
private Queue theQueue;
- Inisialisasi
public AdjacencyMatriksGraph() // constructor
{
vertexList = new Vertex[MAX_VERTS];
// adjacency matrix
adjMat = new int[MAX_VERTS][MAX_VERTS];
nVerts = 0;
for(int j=0; j<MAX_VERTS; j++) // set adjacency
for(int k=0; k<MAX_VERTS; k++) // matrix to 0
adjMat[j][k] = 0;
theStack = new StackX();
theQueue = new Queue();
}
- Tambah Edge
public void addEdge(intstart, intend)
{
adjMat[start][end] = 1;
adjMat[end][start] = 1;
}
D. Graph Traversal,path terpendek dan spaining tree
1. GraphTraversal : Mengunjungi tiap simpul/nodesecara sistematik.
Metode :
DFS(DepthFirst Search) : Pencarian Mendalam
Pada setiap pencabangan, penelusuran verteks-verteks yang belum dikunjungi
dilakukan secara lengkap pada pencabangan pertama, kemudian
selengkapnya pada pencabangan kedua, dan seterusnya secara rekursif.
3. Path terpendek
merupakan lintasan minumum yang diperlukan untuk mencapai
suatu titik dari titik tertentu (Pawitri, 2007) disebutkan bahwa. Dalam permasalahan
pencarian lintasan terpendek, seorang pengarah jalan ingin menentukan lintasan
terpendek antara dua tempat berdasarkan rute alternatif yang tersedia, dimana tempat
tujuan hanya satu (Purba, 2011). Pencarian lintasan terpendek ini sendiri diperlukan
untuk mengurangi waktu dan biaya (cost) yang dikeluarkan untuk menempuh jarak
menuju suatu tempat.
Lintasan ini merupakan bagian dari graf. Pencarian lintasan terpendek termasuk
dalam salah satu persoalan dalam teori graf yang berarti meminimalisasi bobot suatu
lintasan dalam graf. Permasalahannya adalah bagaimana cara mengunjungi satu
verteks pada graf dari verteks awal hingga verteks akhir dengan bobot minimum.
Ada beberapa macam persoalan lintasan terpendek, antara lain:
1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortets path)
2. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path)
3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain (singlesource
shortest path)
4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul
tertentu (intermediate shortest path)
4. Spanning tree
teknik mencari jalan penghubung yang dapat menghubungkan semua titik
dalam jaringan secara bersamaan.
Contoh;