Senin, 09 Desember 2013

Source Code Buddy Sistem Menggunakan C++

Langsung aja,. cekincot broo

#include<stdio.h>
#include<conio.h>
int tree[2050],i,j,k;
void
segmentalloc(int,int),makedivided(int),makefree(int),printing(int,int);
int place(int),power(int,int);
main()
{
int totsize,cho,req;
clrscr();
for(i=0;i<80;i++) printf("%c",5);
printf(" \n B U D D Y   S Y S T E M  R E Q U I R E M E N T S \n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n *  Masukkan ukuran memori  :  ");
scanf("%d",&totsize);
clrscr();
while(1)
{
for(i=0;i<80;i++) printf("%c",5);
printf("\n  B U D D Y   S Y S T E M   \n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n *  1)   Alokasikan proses ke dalam memori");
printf("\n *  2)   Hapus proses dari memori");
printf("\n *  3)   Lihat struktur Peta Alokasi Memori");
printf("\n *  4)   Keluar\n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n *  Masukan pilihanmu:  ");
scanf("%d",&cho);
switch(cho)
{
case 1:
clrscr();
printf("\n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n");
printf("\n P E N G A L O K A S I A N   M E M O R I     \n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n *  Masukkan ukuran proses  : ");
scanf("%d",&req);
segmentalloc(totsize,req);
break;
case 2:
clrscr();
printf("\n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n");
printf("\n P E N G A L O K A S I A N   M E M O R I     \n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n *  Masukkan ukuran proses  : ");
scanf("%d",&req);
makefree(req);
break;
case 3:
clrscr();
printf("\n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n P E N G A L O K A S I A N   M E M O R I     \n");
for(i=0;i<80;i++) printf("%c",5);
printf("\n");
printing(totsize,0);
printf("\n");
for(i=0;i<80;i++) printf("%c",5);
getch();
clrscr();
break;
default:
return 1;
}
}
}

void segmentalloc(int totsize,int request)
{
int flevel=0,size;
size=totsize;
if(request>totsize)
{
printf("\n %c H A S I L  :",2);
printf("\n *  Sistem tidak memiliki memori bebas yang cukup");
printf("\n *  Saran  :  Silahkan menuju ke MEMORI VIRTUAL\n\n\n\n");
getch();
return;
}
while(1)
{
if(request<size && request>(size/2))
break;
else
{
size/=2;
flevel++;
}
}
for(i=power(2,flevel)-1;i<=(power(2,flevel+1)-2);i++)
if(tree[i]==0 && place(i))
{
tree[i]=request;
makedivided(i);
printf("\n Hasil    :     Pengalokasian Berhasil\n\n\n\n");
break;
}
if(i==power(2,flevel+1)-1)
{
printf("\n %c  Hasil  :  ");
printf("\n *  Sistem tidak memiliki memori bebas yang cukup");
printf("\n *  Saran  :  Silahkan menuju ke MEMORI VIRTUAL\n\n\n\n");
}
}

void makedivided(int node)
{
while(node!=0)
{
node=node%2==0?(node-1)/2:node/2;
tree[node]=1;
}
}

int place(int node)
{
while(node!=0)
{
node=node%2==0?(node-1)/2:node/2;
if(tree[node]>1)
return 0;
}
return 1;
}

void makefree(int request)
{
int node=0;
while(1)
{
if(tree[node]==request)
break;
else
node++;
}
tree[node]=0;
while(node!=0)
{
if(tree[node%2==0?node-1:node+1]==0 && tree[node]==0)
{
tree[node%2==0?(node-1)/2:node/2]=0;
node=node%2==0?(node-1)/2:node/2;
}
else break;
}
}

int power(int x,int y)
{
int z,ans;
if(y==0) return 1;
ans=x;
for(z=1;z<y;z++)
ans*=x;
return ans;
}

void printing(int totsize,int node)
{
int permission=0,llimit,ulimit,tab;
if(node==0)
permission=1;
else if(node%2==0)
permission=tree[(node-1)/2]==1?1:0;
else
permission=tree[node/2]==1?1:0;
if(permission)
{
llimit=ulimit=tab=0;
while(1)
{
if(node>=llimit && node<=ulimit)
break;
else
{
tab++;
printf("       ");
llimit=ulimit+1;
ulimit=2*ulimit+2;
}
}
printf(" %d ",totsize/power(2,tab));
if(tree[node]>1)
printf("\n---> Dialokasikan %d",tree[node]);
else if(tree[node]==1)
printf("\n---> Terbagi");
else printf("\n---> Free");
printing(totsize,2*node+1);
printing(totsize,2*node+2);
}
}

1 komentar:

bagus mengatakan...

KUMPULAN BERITA TERUPDATE DAN TERLENGKAP YANG WAJIB ANDA KUNJUNGI :
MajalahForbes.com
Inanews.cc
duniabola99.net
liputanviral.com

KUMPULAN BERITA BOLA TERUPDATE DAN TERLENGKAP YANG WAJIB ANDA KUNJUNGI :
rekanbola.com
duniabola77.org
duniabola99.net

SITUS BERITA MATA UANG DIGITAL CRYPTO TERBESAR , TERLENGKAP DAN SATU SATU NYA DI INDONESIA
blog.fastcoin99.com

JASA PENUKARAN MATA UANG DIGITAL TERBESAR DAN TERPERCAYA : https://fastcoin99.com/

Posting Komentar

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Buy Coupons