LAMPIRAN 1 KODE PROGRAM SIMULASI #include<stdio.h> #include<conio.h> #include<math.h> main() { float a,c,x[10000], Z[10000],U[10000],ta[10000],tt[10000]; float tar, ttr; float tk[10000], tm[10000], ts[10000], tan[10000], tds[10000]; float tantotal, tanrata,y,ttrata,z, tttotal; float tdstotal, tdsrata, w; float jpksrt, jpkanrt, jpkfprt; int I,m,j,k,l, N,g, h, jlhan; clrscr(); printf( Masukkan a, c, m, Z[0]: ); scanf( %f %f %d %f, &a, &c, &m, &Z[0]); printf( Masukkan tar dan ttr: ); scanf( %f %f, &tar, &ttr); printf( Masukkan N = );
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 antar kedatangan */ ta[i]=-tar*log(u[i]); /* Waktu pelayanan (transaksi) */ tt[i]=-ttr*log(u[i]); /* Waktu kedatangan */
tk[i]=tk[i-1]+ta[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 */ tantotal=y+tan[i]; y=tantotal; tanrata=tantotal/n; /* Rata-rata waktu transaksi /pelayanan */ tttotal=z+tt[i]; z=tttotal; ttrata=tttotal/n; /* Rata-rata waktu di dalam sistem */ tdstotal=w+tds[i]; w=tdstotal; tdsrata=tdstotal/n; gotoxy(1, 6+i); printf( ta[%d] =%.5f, I, ta[i]); gotoxy(17,6+i); printf( tt[%d] =%.5f, I, tt[i]); /*gotoxy(1, 1+i); printf( tan[%d] =%.5f, I, tan[i]);*/ /*gotoxy(17, 1+i); printf( tds[%d]=%.5f, I, tds[i]);*/ /*gotoxy(33, 1+i); printf( tk[%d] =%.5f, I, tk[i]);*/ /*gotoxy(49, 1+i); printf( tm[%d] =%.5f, I, tm[i]);*/ /*gotoxy(64, 1+i); printf( ts[%d] =%.5f, I, ts[i]);*/ gotoxy(35, 7); printf( tantotal =%.5f, tantotal); gotoxy(35, 8); printf( tanrata =%.5f, tanrata); gotoxy(35, 9); printf( tttotal =%.5f, tttotal); gotoxy(35, 10); printf( ttrata =%.5f, ttrata);
gotoxy(35, 11); printf( tdstotal =%.5f, tdstotal); gotoxy(35, 12); printf( tdsrata =%.5f, tdsrata); Z[i-1]=Z[i]; } /* Rata-rata jumlah paket didalam sistem */ jpksrt=tdstotal/ts[n]; /* Rata-rata jumlah paket didalam tempat antri */ jpkanrt=tantotal/ts[n]; /* Rata-rata jumlah paket didalam server/pelayan */ jpkfprt=tttotal/ts[n]; gotoxy(55,7); printf( ts[n] =%.5f, ts[n]); gotoxy(55,8); printf( jpksrt =%d, jlhan+1); gotoxy(55,9); printf( jpkanrt=%d, jlhan); gotoxy(55,10); printf( jpkfprt=%.5f, jpkfprt); getch(); }
LAMPIRAN 2 KODE PROGRAM PERHITUNGAN SECARA TEORI #include<stdio.h> #include<conio.h> #include<math.h> main() { float lamda, myu, U,po, ls, lq, tsrata, tanrata,tqrata,x,y,z; float N; clrscr(); printf("masukkan lamda = : "); scanf("%f", &lamda); printf("masukkan myu = : "); scanf("%f", &myu); printf("masukkan N = : "); scanf("%f", &N); U= lamda/myu; x=u/(1-u);
y=(n+1)*pow(u, (N+1)); z=1-(pow(u,(n+1))); po= (1-U)/ z; ls=x-(y/z); lq= ls- (1 -po); tsrata=ls/lamda; tqrata=lq/lamda; gotoxy(1,7);printf("u =%.3f", U); gotoxy(1,8);printf("n =%.3f", ls); gotoxy(1,9);printf("nq =%.3f", lq); gotoxy(1,10);printf("tsrata =%.5f", tsrata); gotoxy(1,11);printf("tqrata =%.5f", tqrata); getch(); }
LAMPIRAN 3 NOTASI ANTRIAN M/M/1/N Adapun penjelasan dari simbol pada notasi antrian M/M/1/N, yaitu : M : Distribusi kedatangan Distribusi kedatangan yang digunakan adalah distribusi Poisson. Dimana kedatangan tiap paket dapat dilihat dari waktu antar kedatangan paket yang bersifat acak, bebas dan waktu kedatangan berikutnya tidak bergantung pada kedatangan sebelumnya. Asumsi distribusi Poisson menunjukkan bahwa kedatangan paket sifatnya acak dan mempunyai rata rata laju kedatangan sebesar lamda (λ). Adapun rumus yang digunakan untuk waktu antar kedatangan yaitu : t a = ln (y) λ = t k ln (y) dimana : t a = waktu antar kedatangan t k = rata-rata waktu antar kedatangan M : Distribusi waktu pelayanan. Distribusi waktu pelayanan yang digunakan adalah distribusi eksponensial. Dimana waktu pelayanan tiap paket waktu pelayanan paket sebelumnya. Rata rata waktu pelayanan sebesar myu (µ). Adapun rumus yang digunakan untuk waktu pelayanan yaitu : t c = ln (y) μ = t p ln (y) dimana : t c = waktu pelayanan t p = rata-rata waktu pelayanan 1 : Jumlah server yang dimiliki oleh sistem pelayanan yaitu satu server.
N : Kapasitas pelanggan yang dapat masuk ke dalam antrian. Adapun penerapan M/M/1/10 dapat dilihat pada jaringan komputer. Terdapat satu server yang melayani paket yang tiba. Paket yang dapat masuk kedalam jaringan dibatasi hanya hingga 10 paket saja. Apabila paket yang ingin masuk kedalam jaringan tersebut ada sebanyak 15 paket, maka paket data yang dapat masuk dan dilayani oleh server hanya berjumlah 10 paket, yaitu 10 paket yang terlebih dahulu datang. Adapun 5 yang datang lebih lama akan ditolak oleh jaringan data tersebut.