#include<stdio.h>#include<string.h>main()
{
int n, ar[100], b[100], i, j, tmp, wt[100], ta[100], time[100];
int totWT=0, totTA=0;
float AvWT, AvTA;
char name[20][20], tmpName[20];
printf(“\t.:: Program Penjadwalan CPU FCFS ::.\n”);
puts(“”);
printf(“Banyak Proses\t= “); scanf(“%d”, &n);
puts(“”);
// Masukkan data yang diproses
for(i=0; i<n; i++){
fflush(stdin);
printf(“Nama Proses\t= “); gets(name[i]);
printf(“Arrival time\t= “); scanf(“%d”, &ar[i]);
printf(“Burst time\t= “); scanf(“%d”, &b[i]);
puts(“”);
}
// SORTING Data
for(i=0; i<n; i++){
for(j=i+1; j<n; j++)
if(ar[i]>ar[j]){
//tukar nama
strcpy(tmpName, name[i]);
strcpy(name[i], name[j]);
strcpy(name[j], tmpName);
//tukar arrival time
tmp=ar[i];
ar[i]=ar[j];
ar[j]=tmp;
//tukar burst
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
}
time[0]=ar[0];
puts(“\n\t.:: Process Table ::.”);
puts(“==========================================”);
printf(“| no | proses\t | time arrival\t | burst |\n”);
puts(“——————————————”);
for (i=0; i<n; i++){
printf(“| %2d | %s\t | \t%d\t | %d\t |\n”, i+1, name[i], ar[i], b[i]);
time[i+1]=time[i]+b[i]; //menghitung time pada ganchart
wt[i]=time[i]-ar[i];
ta[i]=time[i+1]-ar[i];
totWT+=wt[i];
totTA+=ta[i];
}
puts(“==========================================”);
printf(“\tTotal waiting time\t= %d \n”, totWT);
printf(“\tTurn arround time\t= %d \n”, totTA);
puts(“\n\t.:: Time Process Table ::.”);
puts(“==================================================”);
printf(“| no | proses\t | waiting time\t | turn arround\t |\n”);
puts(“————————————————–”);
for(i=0; i<n; i++){
printf(“| %2d | %s\t | \t%d\t | \t%d\t |\n”, i+1, name[i], wt[i], ta[i]);
}
puts(“==================================================”);
//untuk Gant Chart
puts(“\n”);
puts(“\t.:: Gant-Chart ::.\n”);
for(i=0; i<n; i++){
printf(” %s\t “, name[i]);
}
puts(“”);
for(i=0; i<n; i++){
printf(“|=========”);
}
printf(“|\n”);
for(i=0; i<=n; i++){
printf(” %d\t “, time[i]);
} printf(“//diperoleh dari penjumlahan Burst”);
puts(“\n”);
AvWT=(float)totWT/n; //average waiting time
AvTA=(float)totTA/n; //average turn arround time
printf(“\tAverage Waiting Time : %f\n”, AvWT);
printf(“\tAverage Turn Arround TIme : %f\n”, AvTA);
}
Hasil Output
2.Contoh Program c++ dari Algoritma SJF
#include
#include
void main()
{
int i,j,n,brust_time[10],start_time[10],end_time[10],wait_time[10],temp,tot;
float avg;
printf("Enter the No. of jobs:\n\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("\n \n Enter %d process burst time:\n",i);
scanf("%d",&brust_time[i]);
}
for(i=1;i<=n;i++)
{
for(j=i+1;j<=n;j++)
{
if(brust_time[i]>brust_time[j])
{
temp=brust_time[i];
brust_time[i]=brust_time[j];
brust_time[j]=temp;
}
}
if(i==1)
{
start_time[1]=0;
end_time[1]=brust_time[1];
wait_time[1]=0;
}
else
{
start_time[i]=end_time[i-1];
end_time[i]=start_time[i]+brust_time[i];
wait_time[i]=start_time[i];
}
}
printf("\n\n BURST TIME \t STARTING TIME \t END TIME \t WAIT TIME\n");
printf("\n ********************************************************\n");
for(i=1;i<=n;i++)
{
printf("\n %5d %15d %15d %15d",brust_time[i],start_time[i],end_time[i],wait_time[i]);
}
printf("\n ********************************************************\n");
for(i=1,tot=0;i<=n;i++)
tot+=wait_time[i];
avg=(float)tot/n;
printf("\n\n\n AVERAGE WAITING TIME=%f",avg);
for(i=1,tot=0;i<=n;i++)
tot+=end_time[i];
avg=(float)tot/n;
printf("\n\n AVERAGE TURNAROUND TIME=%f",avg);
for(i=1,tot=0;i<=n;i++)
tot+=start_time[i];
avg=(float)tot/n;
printf("\n\n AVERAGE RESPONSE TIME=%f\n\n",avg);
getch();
}
Hasil OutPut
3. Contoh Program c++ dari Algoritma Round Robin
#include<stdio.h>
#include<conio.h>
main()
{
int st[10],bt[10],wt[10],tat[10],n,tq;
int i,count=0,swt=0,stat=0,temp,sq=0;
float awt=0.0,atat=0.0;
clrscr();
printf(“Enter number of processes:”);
scanf(“%d”,&n);
printf(“Enter burst time for sequences:”);
for(i=0;i<n;i++)
{
scanf(“%d”,&bt[i]);
st[i]=bt[i];
}
printf(“Enter time quantum:”);
scanf(“%d”,&tq);
while(1)
{
for(i=0,count=0;i<n;i++)
{
temp=tq;
if(st[i]==0)
{
count++;
continue;
}
if(st[i]>tq)
st[i]=st[i]-tq;
else
if(st[i]>=0)
{
temp=st[i];
st[i]=0;
}
sq=sq+temp;
tat[i]=sq;
}
if(n==count)
break;
}
for(i=0;i<n;i++)
{
wt[i]=tat[i]-bt[i];
swt=swt+wt[i];
stat=stat+tat[i];
}
awt=(float)swt/n;
atat=(float)stat/n;
printf(“Process_no Burst time Wait time Turn around time
“);
for(i=0;i<n;i++)
printf(“%d %d %d %d
“,i+1,bt[i],wt[i],tat[i]);
printf(“Avg wait time is %f
Avg turn around time is %f”,awt,atat);
getch();
}
round robinnya ga jalan min
BalasHapusItu Scanf maksudnya cin?
BalasHapusmaksudnya "cin >>" scanf itu sama kaya cin?
HapusHow To Make Money With Real Money Playgames | WorkTop Money
BalasHapusOnline casinos have a wide range of online a great choice of หารายได้เสริม the online casino games, like Cleopatra, Cleopatra, 바카라 Slots, 인카지노 and Baccarat.