• Tidak ada hasil yang ditemukan

2Istilah-istilah pada Graph

Dalam dokumen Modul Praktikum Algoritma Dan Struktur Data (Halaman 77-80)

MODUL VI   –  LINKED LIST

X- 2Istilah-istilah pada Graph

Kemudian terdapat istilah-istilah yang berkaitan dengan graph yaitu: 1. Vertex adalah himpunan node/titik pada sebuah graph.

2. Edge adalah himpunan garis yang menghubungkan tiap node/vertex.

3. Adjacen adalah dua buah titik dikatakan berdekatan (adjacent) jika dua buah titik tersebut terhubung dengan sebuah sisi.

4. Weight adalah sebuah graph G = (V, E) disebut sebuah graph berbobot (weight graph), apabila terdapat sebuah fungsi bobot bernilai real W pada himpunan E.

5. Path adalah Walk dengan setiap vertex berbeda.

6. Cycle adalah siklus (cycle) atau sirkuit (circuit) lintasan yang berawal dan berakhir pada simpul yang sama.

Kaitan Shortest Path Problem dalam Graph

Lintasan terpendek merupakan salah satu dari masalah yang dapat diselesaikan dengan graph. Jika diberikan sebuah graph berbobot, masalah lintasan terpendek adalah bagaimana kita mencari sebuah jalur pada graph yang meminimalkan jumlah bobot sisi pembentuk jalur tersebut.

Terdapat beberapa macam persoalan lintasan terpendek antara lain:

1. Lintasan terpendek antara dua buah simpul tertentu (a pair shortest path). 2. Lintasan terpendek antara semua pasangan simpul (all pairs shortest path). 3. Lintasan terpendek dari simpul tertentu ke semua simpul yang lain

(single-source shortest path).

4. Lintasan terpendek antara dua buah simpul yang melalui beberapa simpul tertentu (intermediate shortest path).

Jalur terpendek adalah suatu jaringan pengarahan perjalanan dimana seorang pengarah jalan ingin menentukan jalur terpendek antara dua buah kota, berdasarkan beberapa jalur alternatif yang tersedia, dimana titik tujuan hanya satu.

Pathing Algorhitm

Pathing Algorhitm adalah sebuah algoritma yang digunakan untuk mencari suatu solusi dalam menentukan lintasan terpendek dari suatu graph. Saat ini terdapat banyak sekali algoritma yang digunakan untuk menyelesaikan persoalan lintasan terpendek di antaranya Algortima Djikstra (djikstra algorhitm) dan Algortima Bellman-Ford (bellman-ford algorhitm).

III. Hasil dan Pembahasan Program 10-1 #include <iostream.h> #include <conio.h> #include <string.h> int main() { char kata1,kata2,kata3,kata4; int hasil1,hasil2,hasil3,hasil4,hasil5,hasil6,x; cout<<"Program Mencari Rute Terpendek\n";

cout<<"Graph 4 simpul\n"; cout<<"Simpul Pertama: "; cin>>kata1; cout<<"Simpul Kedua : "; cin>>kata2; cout<<"Simpul Ketiga : "; cin>>kata3; cout<<"Simpul Keempat: "; cin>>kata4; cout<<"Sisi-sisnya adalah: "; cout<<kata1<<kata2<<","; cout<<kata1<<kata3<<","; cout<<kata1<<kata4<<","; cout<<kata2<<kata3<<","; cout<<kata2<<kata4<<","; cout<<kata3<<kata4<<endl<<endl;

cout<<"Jarak "<<kata1<<" ke "<<kata2<<" : ";cin>>hasil1; cout<<"Jarak "<<kata1<<" ke "<<kata3<<" : ";cin>>hasil2; cout<<"Jarak "<<kata1<<" ke "<<kata4<<" : ";cin>>hasil3; cout<<"Jarak "<<kata2<<" ke "<<kata3<<" : ";cin>>hasil4; cout<<"Jarak "<<kata2<<" ke "<<kata4<<" : ";cin>>hasil5; cout<<"Jarak "<<kata3<<" ke "<<kata4<<" : ";cin>>hasil6; cout<<endl<<endl;

cout<<"panjang jarak pada graf totalnya =

"<<hasil1+hasil2+hasil3+hasil4+hasil5+hasil6<<endl<<endl;

cout<<"Mau cari alternatif : \n"; cout<<"1. AD 2.CB \n";

X-4

if(x==1){

cout<<"Alternatif ke-1: "<<kata1<<kata2<<kata3<<kata4<<" = "<<hasil1+hasil2+hasil3+hasil4<<endl;

cout<<"Alternatif ke-2: "<<kata1<<kata2<<kata4<<" = "<<hasil1+hasil2+hasil4<<endl;

cout<<"Alternatif ke-3: "<<kata1<<kata3<<kata4<<" = "<<hasil1+hasil3+hasil4<<endl;

cout<<"Alternatif ke-4: "<<kata1<<kata3<<kata2<<kata4<<" = "<<hasil1+hasil2+hasil3+hasil4<<endl;

cout<<"Alternatif ke-5: "<<kata1<<kata4<<" = "<<hasil1+hasil4<<" ((ini merupakan jalur terpendek)) "<<endl<<endl; }

else if(x==2){

cout<<"Alternatif ke-1: "<<kata3<<kata4<<kata1<<kata2<<" = "<<hasil1+hasil2+hasil3+hasil4<<endl;

cout<<"Alternatif ke-2: "<<kata3<<kata1<<kata2<<" = "<<hasil1+hasil2+hasil3<<endl;

cout<<"Alternatif ke-3: "<<kata3<<kata4<<kata2<<" = "<<hasil2+hasil3+hasil4<<endl;

cout<<"Alternatif ke-4: "<<kata3<<kata1<<kata4<<kata2<<" = "<<hasil1+hasil2+hasil3+hasil4<<endl;

cout<<"Alternatif ke-5: "<<kata3<<kata2<<" = "<<hasil3+hasil2<<" ((ini merupakan jalur terpendek)) "<<endl<<endl; }

getch(); return 0; }

Program 10-1 di atas merupakan implementasi dari cara kerja struktur data graph. Dengan menggunakan 4 simpul, user diminta untuk memasukkan nama simpul missalnya A, B, C, dan D. Kemudian kita masukkan jarak dari A ke B, kemudian jarak A ke C, jarak A ke D, jarak B ke C, jarak B ke D, jarak C ke D

sehingga semua simpul terhubung darn memiliki jarak satu sama lain. Kemudian semua jarak tersebut dijumlahkan sehingga didapatkan total panjangnya 70. Kemudian kita diberi 2 alternatif, missalnya kita pilih AD. Didapatkan jarak terpendek AD yakni 22.

Dalam dokumen Modul Praktikum Algoritma Dan Struktur Data (Halaman 77-80)

Dokumen terkait