• Tidak ada hasil yang ditemukan

LAMPIRAN 1 LIST PROGRAM FEA

N/A
N/A
Protected

Academic year: 2019

Membagikan "LAMPIRAN 1 LIST PROGRAM FEA"

Copied!
32
0
0

Teks penuh

(1)

LAMPIRAN 1

LIST PROGRAM FEA

import java.text.NumberFormat; import java.util.Random; import java.util.Vector;

/*

* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates

* and open the template in the editor. */

/** *

* @author Bevan */

public class FAP{

public static void main (String args []){ int space = 6;

int jumlah_kanal=64; int number_cell = 17;

double []traf = new double [number_cell]; Vector vect = new Vector();

int [][] distance = new int [17][17];

(2)
(3)
(4)
(5)
(6)

distance [14] [8] = 2 ; distance [14] [9] = 0 ; distance [14] [10] = 0 ; distance [14] [11] = 0 ; distance [14] [12] = 1 ; distance [14] [13] = 1 ; distance [14] [14] = 6 ; distance [14] [15] = 0 ; distance [14] [16] = 0 ; distance [15] [0] = 0 ; distance [15] [1] = 0 ; distance [15] [2] = 0 ; distance [15] [3] = 0 ; distance [15] [4] = 0 ; distance [15] [5] = 0 ; distance [15] [6] = 0 ; distance [15] [7] = 0 ; distance [15] [8] = 0 ; distance [15] [9] = 2 ; distance [15] [10] = 2 ; distance [15] [11] = 1 ; distance [15] [12] = 0 ; distance [15] [13] = 0 ; distance [15] [14] = 0 ; distance [15] [15] = 6 ; distance [15] [16] = 2 ; distance [16] [0] = 0 ; distance [16] [1] = 0 ; distance [16] [2] = 0 ; distance [16] [3] = 0 ; distance [16] [4] = 0 ; distance [16] [5] = 0 ; distance [16] [6] = 0 ; distance [16] [7] = 0 ; distance [16] [8] = 0 ; distance [16] [9] = 1 ; distance [16] [10] = 2 ; distance [16] [11] = 2 ; distance [16] [12] = 1 ; distance [16] [13] = 0 ; distance [16] [14] = 0 ; distance [16] [15] = 2 ; distance [16] [16] = 6 ;

for(int aa=0;aa<1000;aa++){

double[] traffics = { 5, 10, 15, 20, 17, 18, 12, 6, 9, 11, 4, 6, 5, 2, 10, 3, 1, 7, 8, 13}; Allocation [] cell_user = new Allocation [number_cell];

//initialisasi

for (int i=0; i <number_cell ; i ++) { cell_user [i] = new Allocation (); Random r = new Random (); int index = r.nextInt(16);

(7)

cell_user[i].setCell(i);

cell_user[i].setAllocation(false); cell_user[i].setBeginner(false); if(i==0){

cell_user[i].addAdj(1);cell_user[i].addAdj(3);cell_user[i].addAdj(4); }else if(i==1){

cell_user[i].addAdj(0);cell_user[i].addAdj(2);cell_user[i].addAdj(4);cell_user[i].addAdj(5); }else if(i==2){

cell_user[i].addAdj(1);cell_user[i].addAdj(6);cell_user[i].addAdj(7); }else if(i==3){

cell_user[i].addAdj(1);cell_user[i].addAdj(4);cell_user[i].addAdj(10); }else if(i==4){

cell_user[i].addAdj(0);cell_user[i].addAdj(1);cell_user[i].addAdj(5);cell_user[i].addAdj(11);cell_user [i].addAdj(10);

}else if(i==5){

cell_user[i].addAdj(1);cell_user[i].addAdj(2);cell_user[i].addAdj(6);cell_user[i].addAdj(11);cell_user [i].addAdj(10);cell_user[i].addAdj(4);

}else if(i==6){

cell_user[i].addAdj(2);cell_user[i].addAdj(7);cell_user[i].addAdj(12);cell_user[i].addAdj(11);cell_us er[i].addAdj(5);

}else if(i==7){

cell_user[i].addAdj(6);cell_user[i].addAdj(8);cell_user[i].addAdj(13);cell_user[i].addAdj(12); }else if(i==8){

cell_user[i].addAdj(7);cell_user[i].addAdj(14);cell_user[i].addAdj(13); }else if(i==9){

cell_user[i].addAdj(3);cell_user[i].addAdj(4);cell_user[i].addAdj(10);cell_user[i].addAdj(15); }else if(i==10){

cell_user[i].addAdj(4);cell_user[i].addAdj(5);cell_user[i].addAdj(11);cell_user[i].addAdj(16);cell_us er[i].addAdj(15);cell_user[i].addAdj(9);

}else if(i==11){

cell_user[i].addAdj(5);cell_user[i].addAdj(6);cell_user[i].addAdj(12);cell_user[i].addAdj(16);cell_us er[i].addAdj(10);

}else if(i==12){

cell_user[i].addAdj(6);cell_user[i].addAdj(7);cell_user[i].addAdj(13);cell_user[i].addAdj(11); }else if(i==13){

cell_user[i].addAdj(7);cell_user[i].addAdj(8);cell_user[i].addAdj(14);cell_user[i].addAdj(12); }else if(i==14){

cell_user[i].addAdj(8);cell_user[i].addAdj(13); }else if(i==15){

cell_user[i].addAdj(9);cell_user[i].addAdj(10);cell_user[i].addAdj(16); }else if(i==16){

cell_user[i].addAdj(10);cell_user[i].addAdj(11);cell_user[i].addAdj(15); }

(8)

//Initial allocation, the biggest pheromon

//cek sorting, s menyimpan urutan besar ke kecil int s[]=Sort(cell_user);

// for(int u=0;u<s.length;u++){

// System.out.println(cell_user[s[u]].getTraffic()); // }

for (int i=0;i<number_cell;i++){ int newch=0;

int count=0; int x=s[i];

//mencari chanel awal

for(int y=0;y<jumlah_kanal;y++){ //cek interferensi

if(checkInterference(cell_user,x,newch)){ newch++;

}else{ break; } }

int z=jumlah_kanal/space+1; for(int y=0;y<jumlah_kanal;y++){ //cek interferensi

if(count<cell_user[x].getTraffic() && newch<jumlah_kanal){ cell_user[x].addChannel(newch);

count++;

newch=newch+space; }else{

cell_user[x].setBlocking(((cell_user[x].getTraffic()-count)/cell_user[x].getTraffic())*100);

break; } }

}

/* if(checkInterference(cell_user, 1, 6)){ System.out.println("Interference"); }else{

System.out.println("Tidak Interference"); }*/

// boolean solution =false;

// int n = largestNumbers(cell_user); /*while(solution==false){

n = largestNumbers(cell_user); //alokasi sel awal

cell_user[n].getTraffic(); for(int i=0;i<number_cell;i++){

(9)

//Cek kanal sel n

for(int i=0;i<number_cell;i++){

System.out.print( "Sel :"+i + " Trafik: "+cell_user[i].getTraffic()+" kanal :"); for(int c=0;c<cell_user[i].getChannel().size();c++){

System.out.print(" " +(int)cell_user[i].getChannel().get(c)); }

System.out.println("---"+cell_user[i].getBlocking()+"%"); }

double avBlock=0;

for(int i=0;i<number_cell;i++){

avBlock=avBlock+cell_user[i].getBlocking(); }

System.out.println("Blocking rata-rata:---"+avBlock/number_cell+"%"); /*

//cek status user

for (int i=0; i <number_cell;i++){

System.out.print ("Sel no :"+cell_user[i].getCell()+" jumlah Traffic:"+ cell_user[i].getTraffic());

if (cell_user[i].getAllocation()==false){ System.out.println (" belum teralokasi"); }else{

System.out.println (" telah teralokasikan"); }

}*/

vect.add(avBlock/number_cell); }

for(int ii=0;ii<vect.size();ii++){

System.out.println("Iterasi: "+ii+" blocking: "+(double)vect.get(ii)); }

}

private static int largestNumbers(Allocation[] cell_user) { double [] traf = new double[cell_user.length];

for (int i = 0 ; i <cell_user.length; i ++){ if(cell_user[i].getBenginner()==true); traf [i] = 0;

traf [i] = cell_user[i].getTraffic(); }

int in=0;

double largeNumber = traf[0]; for (int i = 0; i < traf.length; i++) { if (traf[i] > largeNumber) { largeNumber = traf[i]; }

}

boolean c=false;

for (int j = 0; j < traf.length; j++) {

if(largeNumber == traf[j] && c==false){ in=j;

c=true;

//System.out.println("largest number index "+j); }

(10)

return in; }

//Sorting

private static int[] Sort(Allocation[] v1){ double[] num=new double[v1.length]; int[] num1=new int[v1.length]; for(int x=0;x<v1.length;x++){ num[x]=v1[x].getTraffic(); num1[x]=x;

}

int n = v1.length; int k;

for (int m = n; m >= 0; m--) { for (int i = 0; i < n - 1; i++) { k = i + 1;

if (num[i] < num[k]) { double temp = num[i]; num[i] = num[k];

num[k] = temp; int temp1 = num1[i]; num1[i] = num1[k]; num1[k] = temp1; }

} }

return num1; }

// metode chek interferensi kanal

private static Boolean checkInterference (Allocation []a, int in_cell,int kanal){ Boolean interference = false;

Vector adj = a [in_cell].getAdj(); for (int i=0;i<adj.size();i++){

Vector ch=a[(int)adj.get(i)].getChannel(); if (ch.size()>0){

for (int j=0;j<ch.size();j++){

// System.out.println(kanal+":"+(int)ch.get(j)); if(Math.abs(kanal-(int)ch.get(j))<2){

interference = true; }

} } }

return interference; }

(11)

LAMPIRAN 2

LIST PROGRAM FEA

import java.text.NumberFormat; import java.util.Random; import java.util.Vector;

/*

* To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates

* and open the template in the editor. */

/** *

* @author Bevan */

public class ParticleSwarm{

public static void main (String args []){ int space =6;

Vector vect=null; int jumlah_kanal=64; int number_cell = 17;

double []traf = new double [number_cell]; int [][] distance = new int [17][17];

(12)
(13)
(14)
(15)
(16)

distance [14] [8] = 2 ; distance [14] [9] = 0 ; distance [14] [10] = 0 ; distance [14] [11] = 0 ; distance [14] [12] = 1 ; distance [14] [13] = 1 ; distance [14] [14] = 6 ; distance [14] [15] = 0 ; distance [14] [16] = 0 ; distance [15] [0] = 0 ; distance [15] [1] = 0 ; distance [15] [2] = 0 ; distance [15] [3] = 0 ; distance [15] [4] = 0 ; distance [15] [5] = 0 ; distance [15] [6] = 0 ; distance [15] [7] = 0 ; distance [15] [8] = 0 ; distance [15] [9] = 2 ; distance [15] [10] = 2 ; distance [15] [11] = 1 ; distance [15] [12] = 0 ; distance [15] [13] = 0 ; distance [15] [14] = 0 ; distance [15] [15] = 6 ; distance [15] [16] = 2 ; distance [16] [0] = 0 ; distance [16] [1] = 0 ; distance [16] [2] = 0 ; distance [16] [3] = 0 ; distance [16] [4] = 0 ; distance [16] [5] = 0 ; distance [16] [6] = 0 ; distance [16] [7] = 0 ; distance [16] [8] = 0 ; distance [16] [9] = 1 ; distance [16] [10] = 2 ; distance [16] [11] = 2 ; distance [16] [12] = 1 ; distance [16] [13] = 0 ; distance [16] [14] = 0 ; distance [16] [15] = 2 ; distance [16] [16] = 6 ;

vect = new Vector(); for(int aa=0;aa<1000;aa++){

double[] traffics = { 5, 10, 15, 20, 17, 18, 12, 6, 9, 11, 4, 6, 5, 2, 10, 3, 1, 7, 8, 13}; Allocation [] cell_user = new Allocation [number_cell];

//initialisasi

(17)

cell_user[i].setTraffic(traffics [index]); // Set which cell user belongs to. cell_user[i].setCell(i);

cell_user[i].setAllocation(false); cell_user[i].setBeginner(false); if(i==0){

cell_user[i].addAdj(1);cell_user[i].addAdj(3);cell_user[i].addAdj(4); }else if(i==1){

cell_user[i].addAdj(0);cell_user[i].addAdj(2);cell_user[i].addAdj(4);cell_user[i].addAdj(5); }else if(i==2){

cell_user[i].addAdj(1);cell_user[i].addAdj(6);cell_user[i].addAdj(7); }else if(i==3){

cell_user[i].addAdj(1);cell_user[i].addAdj(4);cell_user[i].addAdj(10); }else if(i==4){

cell_user[i].addAdj(0);cell_user[i].addAdj(1);cell_user[i].addAdj(5);cell_user[i].addAdj(11);cell_user [i].addAdj(10);

}else if(i==5){

cell_user[i].addAdj(1);cell_user[i].addAdj(2);cell_user[i].addAdj(6);cell_user[i].addAdj(11);cell_user [i].addAdj(10);cell_user[i].addAdj(4);

}else if(i==6){

cell_user[i].addAdj(2);cell_user[i].addAdj(7);cell_user[i].addAdj(12);cell_user[i].addAdj(11);cell_us er[i].addAdj(5);

}else if(i==7){

cell_user[i].addAdj(6);cell_user[i].addAdj(8);cell_user[i].addAdj(13);cell_user[i].addAdj(12); }else if(i==8){

cell_user[i].addAdj(7);cell_user[i].addAdj(14);cell_user[i].addAdj(13); }else if(i==9){

cell_user[i].addAdj(3);cell_user[i].addAdj(4);cell_user[i].addAdj(10);cell_user[i].addAdj(15); }else if(i==10){

cell_user[i].addAdj(4);cell_user[i].addAdj(5);cell_user[i].addAdj(11);cell_user[i].addAdj(16);cell_us er[i].addAdj(15);cell_user[i].addAdj(9);

}else if(i==11){

cell_user[i].addAdj(5);cell_user[i].addAdj(6);cell_user[i].addAdj(12);cell_user[i].addAdj(16);cell_us er[i].addAdj(10);

}else if(i==12){

cell_user[i].addAdj(6);cell_user[i].addAdj(7);cell_user[i].addAdj(13);cell_user[i].addAdj(11); }else if(i==13){

cell_user[i].addAdj(7);cell_user[i].addAdj(8);cell_user[i].addAdj(14);cell_user[i].addAdj(12); }else if(i==14){

cell_user[i].addAdj(8);cell_user[i].addAdj(13); }else if(i==15){

cell_user[i].addAdj(9);cell_user[i].addAdj(10);cell_user[i].addAdj(16); }else if(i==16){

(18)

} //alokasi

//Initial allocation, the biggest pheromon

//cek sorting, s menyimpan urutan besar ke kecil int s[]=Sort(cell_user);

// for(int u=0;u<s.length;u++){

// System.out.println(cell_user[s[u]].getTraffic()); // }

Vector bloking =new Vector(); for(int a=5;a<9;a++){

space=a;

for (int i=0;i<number_cell;i++){ int newch=0;

int count=0; int x=s[i];

//mencari chanel awal

for(int y=0;y<jumlah_kanal;y++){ //cek interferensi

if(checkInterference(cell_user,x,newch)){ newch++;

}else{ break; } }

int z=jumlah_kanal/space+1; for(int y=0;y<jumlah_kanal;y++){ //cek interferensi

if(count<cell_user[x].getTraffic() && newch<jumlah_kanal){ cell_user[x].addChannel(newch);

count++;

newch=newch+space; }else{

cell_user[x].setBlocking(((cell_user[x].getTraffic()-count)/cell_user[x].getTraffic())*100);

break; } }

}

/* if(checkInterference(cell_user, 1, 6)){ System.out.println("Interference"); }else{

System.out.println("Tidak Interference"); }*/

// boolean solution =false;

// int n = largestNumbers(cell_user); /*while(solution==false){

(19)

cell_user[n].getTraffic(); for(int i=0;i<number_cell;i++){

} }*/

//Cek kanal sel n

for(int i=0;i<number_cell;i++){

System.out.print("Sel :"+i + " jumlah kanal: "+cell_user[i].getTraffic()+" nomor kanal :");

for(int c=0;c<cell_user[i].getChannel().size();c++){

System.out.print(" " +(int)cell_user[i].getChannel().get(c)); }

System.out.println("---"+cell_user[i].getBlocking()+"%"); }

double avBlock=0;

for(int i=0;i<number_cell;i++){

avBlock=avBlock+cell_user[i].getBlocking(); cell_user[i].kanal=new Vector();

}

System.out.println("Space: "+space+" Blocking rata-rata:---"+avBlock/number_cell+"%");

bloking.add(avBlock/number_cell); /*

//cek status user

for (int i=0; i <number_cell;i++){

System.out.print ("Sel no :"+cell_user[i].getCell()+" jumlah Traffic:"+ cell_user[i].getTraffic());

if (cell_user[i].getAllocation()==false){ System.out.println (" belum teralokasi"); }else{

System.out.println (" telah teralokasikan"); }

}*/ }

double[] d = new double[bloking.size()]; for(int ss=0;ss<bloking.size();ss++){ d[ss]=(double)bloking.get(ss); }

double dd= smallestNumbers(d);

//System.out.println (" Nilai terkecil: "+d[(int)dd]); vect.add(d[(int)dd]);

}

for(int ii=0;ii<vect.size();ii++){

System.out.println("Iterasi: "+ii+" blocking: "+(double)vect.get(ii)); }

}

private static int smallestNumbers(double[] traf) { int in=0;

(20)

} }

boolean c=false;

for (int j = 0; j < traf.length; j++) {

if(smallNumber == traf[j] && c==false){ in=j;

c=true;

//System.out.println("largest number index "+j); }

}

return in; }

//Sorting

private static int[] Sort(Allocation[] v1){ double[] num=new double[v1.length]; int[] num1=new int[v1.length]; for(int x=0;x<v1.length;x++){ num[x]=v1[x].getTraffic(); num1[x]=x;

}

int n = v1.length; int k;

for (int m = n; m >= 0; m--) { for (int i = 0; i < n - 1; i++) { k = i + 1;

if (num[i] < num[k]) { double temp = num[i]; num[i] = num[k];

num[k] = temp; int temp1 = num1[i]; num1[i] = num1[k]; num1[k] = temp1; }

} }

return num1; }

// metode chek interferensi kanal

private static Boolean checkInterference (Allocation []a, int in_cell,int kanal){ Boolean interference = false;

Vector adj = a [in_cell].getAdj(); for (int i=0;i<adj.size();i++){

Vector ch=a[(int)adj.get(i)].getChannel(); if (ch.size()>0){

for (int j=0;j<ch.size();j++){

// System.out.println(kanal+":"+(int)ch.get(j)); if(Math.abs(kanal-(int)ch.get(j))<2){

interference = true; }

} } }

return interference; }

(21)

LAMPIRAN 3

(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
(30)
(31)
(32)

iterasi Prob. PSO (%) Prob. FEA (%) 934 18.82352941 27.95847751

935 13.81007305 16.11303345

936 15.71895425 0.490196078

937 12.85869071 4.363706267

938 19.40792003 17.42022299

939 12.43560169 10.73625529

940 16.49977281 29.47362902

941 10.70357555 28.62745098

942 2.058823529 7.797001153

943 4.642445213 9.673202614

944 28.37859565 21.16755793

945 18.83541295 18.08919646

946 12.51633987 15.34409842

947 8.367935409 21.14571319

948 13.21991542 21.10761595

949 29.41176471 13.28527489

950 18.1164587 12.92230261

951 19.01960784 7.941176471

952 11.40522876 9.473629024

953 21.31977212 16.89542484

954 2.647058824 20.4248366

955 23.39869281 28.12379854

956 34.85582468 16.09573241

957 21.4225298 6.422529796

958 12.87581699 16.20565517

959 16.60130719 31.43983083

960 15.44213764 20.16339869

961 19.48970676 23.28719723

962 13.01841949 20.67089581

963 26.69183181 14.25028835

964 17.51826221 18.48135333

965 8.546712803 15.91503268

966 23.34713921 13.10457516

967 15.32871972 33.49673203

968 15.22875817 20.49211842

969 6.030372933 14.91926182

970 20.38167139 8.366013072

971 7.01076509 16.29181084

972 23.38331411 13.07189542

973 20.26143791 19.26566705

974 16.65128797 10.4094579

975 9.248366013 20.93233372

976 28.70766488 17.74702038

iterasi Prob. PSO (%) Prob. FEA (%) 977 4.346405229 16.12491699

978 19.34640523 14.90388312

979 16.6532103 24.31757017

980 19.58704694 18.02383699

981 29.48306595 31.668589

982 30.35196253 21.87655098

983 22.66435986 29.25221069

984 15.31526336 20.15186467

985 7.464786271 35.07916536

986 17.45482507 14.46174548

987 11.04575163 24.12795778

988 16.03037293 14.95194156

989 23.91108315 38.04148754

990 16.85225962 32.46828143

991 10.44405998 24.08986054

992 8.660130719 27.67973856

993 13.87351019 5.424836601

994 17.80696236 10.27873895

995 13.36601307 12.18954248

996 16.07843137 7.299465241

997 10.14801999 23.9561707

998 6.503267974 7.334067317

Referensi

Dokumen terkait

Yamazaki Indonesia terdiri dari aktiva tidak lancar, hutang jangka panjang dan ekuitas yang terletak pada sisi kredit antara lain : nilai buku tetap sebesar Rp.. Yamazaki

Sembilan agenda (Nawa Cita) merupakan rangkuman program- program yang tertuang dalam visi-misi Presiden/Wakil Presiden yang dijabarkan dalam strategi pembangunan

BPR Bank Jombang berjumlah kurang dari 100 orang yaitu 48 orang, berdasarkan ketentuan yang dikemukakan oleh Sugiono (2014) maka peneliti mengadakan penelitian pada

Menindaklanjuti Surat Kepala Pusdiklat BPS nomor B-001/BPS/2600/1/202, tanggal 12 januari 2021 tentang Konfirmasi Calon Peserta Pelatihan Kepemimpinan Pengawas (PKP)

Hasil penelitian memberikan kesimpulan bahwa Baitul Maal Wattamwil Usaha Gabungan Terpadu Sidogiri dalam praktik Akuntansi ijarah lembaga keuangan syariah menerapkan akad

Posisi elektroda arus C dan elektroda potensial P secara berurutan C1-P1P2-C2 dengan spasi antar elektroda sebesar 3 meter, dengan menggunakan metode geolistrik resistivitas ini

19 orang dari 20 orang responden atau 95% responden yang melakukan evaluasi aplikasi dengan menjawab kuesioner menyatakan bahwa aplikasi ini membantu pengguna untuk

Dengan berbagai penuturan dari penjelasan diatas, penulis membuat beberapa rencana program kerja dalam bidang kerja sama mahasiswa Unikom dengan pihak karang taruna