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 zx–1 Output z Input G i1 { Rumus mencari banyak edge dalam Spanning Tree } { Inisialisasi untuk z } { Inisialisasi untuk G } { First Element }

while (i <= G) do Input xv Input e If (i <= G) then { Di Eksekusi selama i <= G }

Output xv

Output e ii+1 If (i > G) then a1 Jum  0 { Next Element } { Di Eksekusi bila sudah i > G } { First Element untuk Looping} { Inisialisasi untuk Addition }

While (a <= z) do Input xv Input e { First & Next Elemnt untuk Addition } Jum  Jum + e aa+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; G : integer; z : integer; xv: string; e : integer; a : integer; Jum : integer; { Total Minimum Spanning Tree } { Banyak Verteks, x > 0 } { Banyak Edge dalam GRAPH, z > 0 } { Banyak Edge dalam Spanning Tree, z > 0 } { Edge, bukan ANGKA } { Weight , e > 0 }

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); writeln; write ('Masukan banyak edge dalam graph : '); readln (G); { Inisialisasi untuk G}

{ Inisialisasi untuk z }

i := 1; while (i <= G) do begin

{ First Element }

write ('Masukan edge ke-',i,' (pisahkan dengan koma) : '); readln (xv); write ('Masukan weight dari edge ke-',i,' : '); readln (e);

if (i <= G) then begin

{ Eksekusi selama i <= G }

writeln ('Edge ke-',i,' = {',xv,'} , Weight Edge ke- ',i,' = ',e); writeln; end; i := i+1; { Next Element } if (i > G) then begin a := 1; Jum := 0; { First Element untuk Looping } { Inisialisasi untuk Addition } { Eksekusi bila sudah i > G }

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); Addition } Jum := Jum + e; a := a+1; end; end; end; writeln; write ('Total Minimum Spanning Tree : ',Jum); end. { Terminasi } { Next Element untuk Looping } { First Element/Next Element untuk

3. SCREENSHOT SCRIPT

4. SCREENSHOT PROGRAM

Sign up to vote on this title
UsefulNot useful