Anda di halaman 1dari 9

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 { Rumus mencari banyak edge dalam Spanning Tree }

Output z { Inisialisasi untuk z }

Input G { Inisialisasi untuk G }

i1 { 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 { Next Element }

If (i > G) then { Di Eksekusi bila sudah i > G }

a1 { 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

aa+1 { Next Element untuk Looping }

Output Jum { Terminasi }


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; { Rumus mencari banyak Edge dlm Spaning
Tree }

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); { Terminasi }

end.
3. SCREENSHOT SCRIPT
4. SCREENSHOT PROGRAM

Anda mungkin juga menyukai