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; float lamda, p; int i,m,j,k,n,g,h,jlhan; printf("\n ----------- PROGRAM PENGHITUNG ------------- "); printf("\n ----------- KINERJA SISTEM ANTRIAN M/M/1 PADA PACKET SWITCHING -------------"); printf("\n ----------- (SIMULASI) -------------"); printf("\n\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; tk[i]=tk[i-1]+(-(1/lamda)*log(u[i]));
/* 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];
/* 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];
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", ws); :%f", ttr); 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; float lamda, p; int i,m,j,k,n,g,h,jlhan; printf("\n ----------- PROGRAM PENGHITUNG ------------- "); printf("\n ----------- KINERJA SISTEM ANTRIAN M/D/1 PADA PACKET SWITCHING -------------"); printf("\n ----------- (SIMULASI) -------------"); printf("\n\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; tk[i]=tk[i-1]+(-(1/lamda)*log(u[i]));
/* 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];
/* 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];
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", ws); :%f", ttr); 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> #include<conio.h> #include<math.h> main() { float lamda, miu, var, lq, ls, wq, ws, p, ttr; printf("\n ----------- PROGRAM PENGHITUNG ------------- "); printf("\n ----------- KINERJA SISTEM ANTRIAN M/G/1 PADA PACKET SWITCHING -------------"); printf("\n ----------- (teori) -------------"); 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));
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 printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem printf("\n - Jumlah paket dalam antrian :%f ", wq); :%f ", ttr); :%f ", ws); :%f ", lq); printf("\n - Jumlah paket dalam pelayanan :1 " ); printf("\n - Jumlah paket dalam sistem :%f ", ls); printf("\n * Utilisasi (p) :%f ", p); getch(); }
LAMPIRAN 4 KODE PROGRAM TEORI M/D/1 #include<stdio.h> #include<conio.h> #include<math.h> main() { float lamda, miu, var, lq, ls, wq, ws, p, ttr; printf("\n ----------- PROGRAM PENGHITUNG ------------- "); printf("\n ----------- KINERJA SISTEM ANTRIAN M/G/1 PADA PACKET SWITCHING -------------"); printf("\n ----------- (teori) -------------"); 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));
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 printf("\n - Rata-rata waktu dalam pelayanan printf("\n - Rata-rata waktu dalam sistem printf("\n - Jumlah paket dalam antrian :%f ", wq); :%f ", ttr); :%f ", ws); :%f ", lq); printf("\n - Jumlah paket dalam pelayanan :1 " ); printf("\n - Jumlah paket dalam sistem :%f ", ls); printf("\n * Utilisasi (p) :%f ", p); getch(); }
LAMPIRAN 5 TABEL DISTRIBUSI T