LAMPIRAN 1 KODE PROGRAM SIMULASI M/M/1
#include<stdio.h> #include
#include<math.h> main() { float a,c,x[50001], Z[50001],U[50001],tt[50001]; float tk[50001], tm[50001], ts[50001], tan[50001], tds[50001]; float wqtotal, wq, y, tttotal, ttr, z, wstotal, ws, w; float lq, ls, l; float lamda, p; int i,m,j,k,N,g,h,jlhan;
printf("\n ------------------------------------------------------------------------------"); printf("\n ----------printf("\n ----------");
-------------"); PROGRAM PENGHITUNG
-------------
printf("\n ----------- KINERJA SISTEM ANTRIAN M/M/1 PADA PACKET SWITCHING -------------"); printf("\n ----------printf("\n -----------
(SIMULASI)
-------------"); -------------");
printf("\n ------------------------------------------------------------------------------"); printf("\n\n");
Universitas Sumatera Utara
printf("\n Inputkan Parameter Pembangkit Bilangan Acak "); printf("\n
a, c, m, Z[0]
: ");
scanf("%f %f %d %f", &a, &c, &m, &Z[0]); printf("\n Masukkan jumlah paket
: ");
scanf("%d", &N);
tk[0]=0; ts[0]=0; tan[0]=0; y=0; z=0; w=0; g=0;
for(i=1;i<=N;i++) {
/* Pembangkitan bilangan acak LCG */ x[i]=(a*Z[i-1]) + c; Z[i]=fmod(x[i],m); U[i]=Z[i]/m;
/* Waktu kedatangan */ lamda = N/1; tk[i]=tk[i-1]+(-(1/lamda)*log(U[i]));
Universitas Sumatera Utara
/* Waktu transaksi */ tt[i]=(-(49.824/pow(10,6)))*log(U[i]);
/* Waktu mulai */ if(ts[i-1] < tk[i]) tm[i]=tk[i]; else if(ts[i-1]>=tk[i]) tm[i]=ts[i-1];
/* Waktu Selesai */ ts[i]=tm[i]+tt[i];
/* Waktu di dalam antrian */ tan[i]=tm[i]-tk[i];
/* Jumlah paket yang antri */ if(tan[i]==0) h=0; else if(tan[i]>0) h=1; jlhan=g+h; g=jlhan;
/* Waktu di dalam sistem */ tds[i]=tt[i]+tan[i];
Universitas Sumatera Utara
/* Rata-rata waktu pada tempat antri */ wqtotal=y+tan[i]; y=wqtotal; wq=wqtotal/N;
/* Rata-rata waktu transaksi /pelayanan */ tttotal=z+tt[i]; z=tttotal; ttr=tttotal/N;
/* Rata-rata waktu di dalam sistem */ wstotal=w+tds[i]; w=wstotal; ws=wstotal/N;
Z[i-1]=Z[i]; }
/* Rata-rata jumlah paket didalam sistem */ ls=wstotal/ts[N]; /* Rata-rata jumlah paket didalam server/pelayan */ l=tttotal/(ts[N]*tttotal); /* Rata-rata jumlah paket didalam tempat antri */ lq=wqtotal/ts[N];
Universitas Sumatera Utara
p=lamda*ttr; printf("\n\n * Utilisasi (p)
: %f ", p);
printf("\n\n");
printf("\n\n Sehingga : "); printf("\n - Rata-rata waktu dalam antrian printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem
:%f", wq); :%f", ttr); :%f", ws);
printf("\n - Rata-rata jumlah paket dalam antrian :%f", lq); printf("\n - Rata-rata jumlah paket dalam pelayanan :%f", l); printf("\n - Rata-rata jumlah paket dalam sistem :%f", ls);
getch();
}
Universitas Sumatera Utara
LAMPIRAN 2 KODE PROGRAM SIMULASI M/D/1
#include<stdio.h> #include #include<math.h> main() { float a,c,x[50001], Z[50001],U[50001],tt[50001]; float tk[50001], tm[50001], ts[50001], tan[50001], tds[50001]; float wqtotal, wq, y, tttotal, ttr, z, wstotal, ws, w; float lq, ls, l; float lamda, p; int i,m,j,k,N,g,h,jlhan;
printf("\n ------------------------------------------------------------------------------"); printf("\n ----------printf("\n ----------");
-------------"); PROGRAM PENGHITUNG
-------------
printf("\n ----------- KINERJA SISTEM ANTRIAN M/D/1 PADA PACKET SWITCHING -------------"); printf("\n -----------
(SIMULASI)
printf("\n -----------
-------------"); -------------");
printf("\n ------------------------------------------------------------------------------"); printf("\n\n"); printf("\n Inputkan Parameter Pembangkit Bilangan Acak "); printf("\n
a, c, m, Z[0]
: ");
Universitas Sumatera Utara
scanf("%f %f %d %f", &a, &c, &m, &Z[0]); printf("\n Masukkan jumlah paket
: ");
scanf("%d", &N);
tk[0]=0; ts[0]=0; tan[0]=0; y=0; z=0; w=0; g=0;
for(i=1;i<=N;i++) {
/* Pembangkitan bilangan acak LCG */ x[i]=(a*Z[i-1]) + c; Z[i]=fmod(x[i],m); U[i]=Z[i]/m;
/* Waktu kedatangan */ lamda = N/1; tk[i]=tk[i-1]+(-(1/lamda)*log(U[i]));
Universitas Sumatera Utara
/* Waktu transaksi */ tt[i]=49.994/pow(10,6);
/* Waktu mulai */ if(ts[i-1] < tk[i]) tm[i]=tk[i]; else if(ts[i-1]>=tk[i]) tm[i]=ts[i-1];
/* Waktu Selesai */ ts[i]=tm[i]+tt[i];
/* Waktu di dalam antrian */ tan[i]=tm[i]-tk[i];
/* Jumlah paket yang antri */ if(tan[i]==0) h=0; else if(tan[i]>0) h=1; jlhan=g+h; g=jlhan;
/* Waktu di dalam sistem */ tds[i]=tt[i]+tan[i];
Universitas Sumatera Utara
/* Rata-rata waktu pada tempat antri */ wqtotal=y+tan[i]; y=wqtotal; wq=wqtotal/N;
/* Rata-rata waktu transaksi /pelayanan */ tttotal=z+tt[i]; z=tttotal; ttr=tttotal/N;
/* Rata-rata waktu di dalam sistem */ wstotal=w+tds[i]; w=wstotal; ws=wstotal/N;
Z[i-1]=Z[i];
} /* Rata-rata jumlah paket didalam sistem */ ls=wstotal/ts[N]; /* Rata-rata jumlah paket didalam server/pelayan */ l=tttotal/(ts[N]*tttotal); /* Rata-rata jumlah paket didalam tempat antri */ lq=wqtotal/ts[N];
Universitas Sumatera Utara
p=lamda*ttr; printf("\n\n * Utilisasi (p)
: %f ", p);
printf("\n\n");
printf("\n\n Sehingga : "); printf("\n - Rata-rata waktu dalam antrian printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem
:%f", wq); :%f", ttr); :%f", ws);
printf("\n - Rata-rata jumlah paket dalam antrian :%f", lq); printf("\n - Rata-rata jumlah paket dalam pelayanan :%f", l); printf("\n - Rata-rata jumlah paket dalam sistem :%f", ls);
getch();
}
Universitas Sumatera Utara
LAMPIRAN 3 KODE PROGRAM TEORI M/M/1
#include<stdio.h> #include #include<math.h> main() { float lamda, miu, var, lq, ls, wq, ws, p, ttr; printf("\n ------------------------------------------------------------------------------"); printf("\n ----------printf("\n ----------");
-------------"); PROGRAM PENGHITUNG
-------------
printf("\n ----------- KINERJA SISTEM ANTRIAN M/G/1 PADA PACKET SWITCHING -------------"); printf("\n -----------
(teori)
printf("\n -----------
-------------"); -------------");
printf("\n ------------------------------------------------------------------------------"); printf("\n \n\n\n ") ; printf("\nInput nilai laju kedatangan (lamda) : "); scanf("%f", &lamda); printf("\nInput nilai laju transaksi (miu) : "); scanf("%f", &miu);
ttr=1/miu; var=1/(miu*miu); lq =(lamda*lamda*(ttr*ttr+var))/(2*(1-lamda*ttr));
Universitas Sumatera Utara
ls=lq+(lamda*ttr); wq=lq/lamda; ws=wq+ttr; p=lamda/miu;
printf("\n\n Maka : "); printf("\n");
printf("\n - Rata-rata waktu dalam antrian
:%f ", wq);
printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem printf("\n - Jumlah paket dalam antrian printf("\n - Jumlah paket dalam pelayanan printf("\n - Jumlah paket dalam sistem printf("\n * Utilisasi (p)
:%f ", ttr); :%f ", ws); :%f ", lq); :1 " ); :%f ", ls);
:%f ", p);
getch();
}
Universitas Sumatera Utara
LAMPIRAN 4 KODE PROGRAM TEORI M/D/1
#include<stdio.h> #include #include<math.h> main() { float lamda, miu, var, lq, ls, wq, ws, p, ttr; printf("\n ------------------------------------------------------------------------------"); printf("\n ----------printf("\n ----------");
-------------"); PROGRAM PENGHITUNG
-------------
printf("\n ----------- KINERJA SISTEM ANTRIAN M/G/1 PADA PACKET SWITCHING -------------"); printf("\n -----------
(teori)
printf("\n -----------
-------------"); -------------");
printf("\n ------------------------------------------------------------------------------"); printf("\n \n\n\n ") ; printf("\nInput nilai laju kedatangan (lamda) : "); scanf("%f", &lamda); printf("\nInput nilai laju transaksi (miu) : "); scanf("%f", &miu);
ttr=1/miu; var =0; lq =(lamda*lamda*(ttr*ttr+var))/(2*(1-lamda*ttr));
Universitas Sumatera Utara
ls=lq+(lamda*ttr); wq=lq/lamda; ws=wq+ttr; p=lamda/miu;
printf("\n\n Maka : "); printf("\n");
printf("\n - Rata-rata waktu dalam antrian
:%f ", wq);
printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem printf("\n - Jumlah paket dalam antrian printf("\n - Jumlah paket dalam pelayanan printf("\n - Jumlah paket dalam sistem printf("\n * Utilisasi (p)
:%f ", ttr); :%f ", ws); :%f ", lq); :1 " ); :%f ", ls);
:%f ", p);
getch();
}
Universitas Sumatera Utara
LAMPIRAN 5 TABEL DISTRIBUSI T
Universitas Sumatera Utara