LAMPIRAN 1
KODE PROGRAM SIMULASI M/M/1
#include<stdio.h> #include<conio.h> #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; printf("\n --- KINERJA SISTEM ANTRIAN M/M/1 PADA PACKET SWITCHING ---");
printf("\n --- (SIMULASI) ---");
printf("\n --- ---");
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;
/* 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;
/* 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);
p=lamda*ttr;
printf("\n\n * Utilisasi (p) : %f ", p); printf("\n\n");
printf("\n\n Sehingga : ");
printf("\n - Rata-rata waktu dalam antrian :%f", wq);
printf("\n - Rata-rata waktu dalam pelayanan :%f", ttr); printf("\n - Rata-rata waktu dalam sistem :%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();
LAMPIRAN 2
KODE PROGRAM SIMULASI M/D/1
#include<stdio.h> #include<conio.h> #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; printf("\n --- KINERJA SISTEM ANTRIAN M/D/1 PADA PACKET SWITCHING ---");
printf("\n --- (SIMULASI) ---");
printf("\n --- ---");
printf("\n ---");
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;
/* 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;
/* 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);
p=lamda*ttr;
printf("\n\n * Utilisasi (p) : %f ", p); printf("\n\n");
printf("\n\n Sehingga : ");
printf("\n - Rata-rata waktu dalam antrian :%f", wq);
printf("\n - Rata-rata waktu dalam pelayanan :%f", ttr); printf("\n - Rata-rata waktu dalam sistem :%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();
LAMPIRAN 3
KODE PROGRAM TEORI M/M/1
#include<stdio.h> 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;
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 :%f ", ttr); printf("\n - Rata-rata waktu dalam sistem :%f ", ws); printf("\n - Jumlah paket dalam antrian :%f ", lq); printf("\n - Jumlah paket dalam pelayanan :1 " ); printf("\n - Jumlah paket dalam sistem :%f ", ls); printf("\n * Utilisasi (p) :%f ", p);
LAMPIRAN 4 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);
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 :%f ", ttr); printf("\n - Rata-rata waktu dalam sistem :%f ", ws); printf("\n - Jumlah paket dalam antrian :%f ", lq); printf("\n - Jumlah paket dalam pelayanan :1 " ); printf("\n - Jumlah paket dalam sistem :%f ", ls); printf("\n * Utilisasi (p) :%f ", p);
LAMPIRAN 5