Professional Documents
Culture Documents
1. Latihan 1
a. Flowchart
b. Program
#include <stdio.h>
#include <conio.h>
int graph[8][8] = {
{ 0, 8, 6,999,999,999,999,999},
{ 8, 0,999,999, 2,999,999,999},
{ 6,999, 0, 4,999,999,999,999},
{999,999, 4, 0, 3, 9,999, 8},
{999, 2,999, 3, 0, 9,999,999},
{999,999,999, 9, 9, 0, 2,999},
{999,999,999,999,999, 2, 0, 2},
{999,999,999, 8,999,999, 2, 0}};
int i, k, top;
int start, goal;
int member=1, nonmember=0;
int status[8], cost[8], path[8], Rute[8];
int cur, small, dc;
int jarakbaru;
int system;
void Lintasan() {
// --- Pencarian Rute ---
cur = goal;
Rute[top] = cur;
while(cur != start) {
cur = path[cur];
top++;
Rute[top] = cur;
}
void Dijkstra() {
// --- Insialisasi Keadaan Awal ---
for(i=0; i<8; i++) {
status[i] = nonmember;
cost[i] = 999;
status[start] = member;
cost[start] = 0;
cur = start;
}
void Identitas();
int main() {
//system("color F0");
printf("*** OPERASI SEARCHING ***\n");
printf("\tDJIKSTRA\n\n\n");
return 0;
}
c. Hasil
2. Latihan 2
a. Flowchart
b. Program
#include <stdio.h>
#include <conio.h>
int graph[8][8] = {
{ 0, 8, 6,999,999,999,999,999},
{ 8, 0,999,999, 2,999,999,999},
{ 6,999, 0, 4,999,999,999,999},
{999,999, 4, 0, 3, 9,999, 8},
{999, 2,999, 3, 0, 9,999,999},
{999,999,999, 9, 9, 0, 2,999},
{999,999,999,999,999, 2, 0, 2},
{999,999,999, 8,999,999, 2, 0}};
int heuristik[8] = {50,30,60,40,70,50,50, 0};
int i, k;
int start, goal;
int member=1, nonmember=0;
int status[8], cost[8], path[8];
int cur, small, dc;
int jarakbaru;
void AStar() {
// --- Insialisasi Keadaan Awal ---
for(i=0; i<8; i++) {
status[i] = nonmember;
cost[i] = 999;
status[start] = member;
cost[start] = 0;
cur = start;
}
void Lintasan() {
int z, jarak=0;
cur = goal;
while(cur!=start) {
z = path[cur];
jarak += graph[cur][z];
cur = path[cur];
}
printf("%d", jarak);
}
void Identitas();
int main() {
//system("color F0");
printf("*** OPERASI SEARCHING ***\n");
printf(" A* (A STAR)\n\n\n");
return 0;
}
c. Hasil
1. Matriks
2. Tabel Vertex
a. Inisialisai awal
Vertex Known Cost Path
0 F Inf -1
1 F Inf -1
2 F Inf -1
3 F Inf -1
4 F Inf -1
5 F Inf -1
6 F Inf -1
7 F Inf -1
b. Start dari vertex 0
Vertex Known Cost Path
0 T 0 -1
1 F 8 0
2 F 6 0
3 F Inf -1
4 F Inf -1
5 F Inf -1
6 F Inf -1
7 F Inf -1
Kesimpulan :
Metode Dijkstra bekerja dengan mencari bobot terkecil dalam suatu graph
berbobot yang diperoleh dengan cara menjumlahkan simpul-simpul yang
dilewati dalam proses penelusuran
Untuk metode Algoritma A star, berkerja dengan mencari bobot terkecil
dalam suatu graph berbobot yang diperoleh dengan cara menjumlhkan simpul-
simpul yang dilewati dengan fungsi heuristic yang didapat dalam proses
penelusuran.
Fungsi heuristic berisi biaya perkiraan dari start node ke goal node yang
nantinya akan digunakan dalam perhitungan pada metode Algoritma A star.
Dengan menentukan Start dan Goal proses pencarian rute terpendek dapat
ditemukan dengan adanya informasi yang telah didapatkan