31
Lampiran 1. Program Mencari Nilai Scrambling Index dari Graf Perahu
G
(
p, q
)
dengan Menggunakan
MATLAB
1 function [hasil]=perahu(p,q)
2 order=((p*q)+2);
3 matriks=zeros(order);
4 %menentukan titik yang terhubung, jika terhubung=1
5
6 for i=0:q-1 %untuk tiap pinggiran
7 matriks((p*q)+1,(i*p)+1)=1;
8 matriks((i*p)+1,(p*q)+1)=1;
9 matriks((p*q)+2,(i+1)*p)=1;
10 matriks((i+1)*p,(p*q)+2)=1;
11 end
12
13 for i=1:q %untuk kesamping
14 for j=1:(p-1)
15 matriks((p)*(i-1)+j,(p)*(i-1)+j+1)=1;
16 matriks((p)*(i-1)+j+1,(p)*(i-1)+j)=1;
17 end
18 end
19
20 for i=1:q-1 %untuk kebawah
21 for j=1:p
22 matriks(i*p+j,(i-1)*p+j)=1;
23 matriks((i-1)*p+j,i*p+j)=1;
24 end
25 end
26 matriks_lengkap = matriks;
27 [baris,kolom]=size(matriks_lengkap);
28 set=zeros(1,kolom);
29 for i=1:kolom
30 set(i)=i;
31 end
32
32 nchoose2=nchoosek(baris,2);
33 comb=nchoosek(set,2);
34 check_pair=zeros(1,nchoose2);
35 B=eye(baris);
36 awal=0;
37 sum1=sum(check_pair);
38 while sum1 < nchoose2
39 B=B*matriks_lengkap;
40 for x=1:nchoose2
41 for y=1:kolom
42 cek1=B(comb(x,1),y);
43 cek2=B(comb(x,2),y);
44 if cek1>0 & cek2>0
45 check_pair(x)=1;
46 break;
47 end
48 end
49 end
50 sum1=sum(check_pair);
51 awal=awal+1;
52 end
53 hasil=awal;