1. NOTASI ALGORITMIK
Program hitungweight; { menghitung total minimum Spanning Tree,menggunakan Algoritma Kruskal } {
Input HARUS sesuai,agar tidak membingungkan User
}
KAMUS i : integer x: integer { Banyak Verteks, x>0 } G: integer { Banyak Edge dalam Graph } z: integer { Banyak Edge dalam Spanning Tree, z>0 } xv: string { Edge,bukan Angka } e: integer { Weight,e > 0 } a: integer Jum: integer
{ Total minimum Spanning Tree }
ALGORITMA Input x zx–1
{ Rumus mencari banyak edge dalam Spanning Tree }
Output z
{ Inisialisasi untuk z }
Input G
{ Inisialisasi untuk G }
i1
{ First Element }
while (i <= G) do Input xv Input e If (i <= G) then
{ Di Eksekusi selama i <= G }
Output xv
Output e ii+1
{ Next Element }
If (i > G) then
{ Di Eksekusi bila sudah i > G }
a1
{ First Element untuk Looping}
Jum 0
{ Inisialisasi untuk Addition }
While (a <= z) do Input xv Input e { First & Next Elemnt untuk Addition } Jum Jum + e aa+1 Output Jum
{ Terminasi }
{ Next Element untuk Looping }
2. SCRIPT PROGRAM {Program : hitungweight.pas } {Deskripsi : Menulis Verteks,Edge,Weight & Menampilkan Total Minimum Spanning Tree } { }
Menggunakan algoritma Kruskal
{ }
Input HARUS sesuai,agar tidak membingungkan user
program hitungweight; uses wincrt; var { KAMUS }
i : integer; x : integer;
{ Banyak Verteks, x > 0 }
G : integer;
{ Banyak Edge dalam GRAPH, z > 0 }
z : integer;
{ Banyak Edge dalam Spanning Tree, z > 0 }
xv: string;
{ Edge, bukan ANGKA }
e : integer;
{ Weight , e > 0 }
a : integer; Jum : integer; { Total Minimum Spanning Tree }
begin { ALGORITMA } { Input HARUS Sesuai agar tidak membingungkan anda..}
write ('Masukan banyaknya Verteks : '); readln (x);
z := x - 1; Tree }
{ Rumus mencari banyak Edge dlm Spaning
writeln ('Banyaknya edge dalam Spanning Tree : ',z);
{ Inisialisasi untuk z }
writeln; write ('Masukan banyak edge dalam graph : '); readln (G);
{ Inisialisasi untuk G}
i := 1;
{ First Element }
while (i <= G) do begin write ('Masukan edge ke-',i,' (pisahkan dengan koma) : '); readln (xv); write ('Masukan weight dari edge ke-',i,' : '); readln (e);
if (i <= G) then
{ Eksekusi selama i <= G }
begin writeln ('Edge ke-',i,' = {',xv,'} , Weight Edge ke- ',i,' = ',e); writeln; end; i := i+1; { Next Element } if (i > G) then
{ Eksekusi bila sudah i > G }
begin a := 1;
{ First Element untuk Looping }
Jum := 0;
{ Inisialisasi untuk Addition }
while (a <= z) do
begin writeln; writeln (a,' Edge dari ',z,' Edge di Spanning Tree');
write ('Masukan Edge yang memiliki Weight terkecil : '); readln (xv); write ('Masukan Weight dari Edge tersebut : '); readln (e);
{ First Element/Next Element untuk
Addition } Jum := Jum + e; a := a+1;
{ Next Element untuk Looping }
end; end; end; writeln; write ('Total Minimum Spanning Tree : ',Jum); end.
{ Terminasi }
3. SCREENSHOT SCRIPT
4. SCREENSHOT PROGRAM