Friday, April 11, 2008

Blog baru

Teman2,,,,ni saya punya blog baru. Klik disini
Mungkin, saya akan pindah ke blog yang baru ini.

Monday, October 29, 2007

Kumpulan Jawaban

Jawaban Tugas Kelas A


Jawaban Unguided Kelas A


Jawaban Unguided Kelas C

Jawaban Unguided Kelas C

//file header.h
#include
#include
#include
#include

#define Max 5

typedef int address;
typedef int infotype;
typedef char string[20];
typedef struct
{
string strNama;
infotype umur;
}Anak;
typedef struct
{
Anak Element[Max];
address Head;
address Tail;
}Queue;

void createEmpty(Queue *Q);
int isEmpty(Queue Q);
int isFull(Queue Q);
int isOneElmt(Queue Q);
void Add(Queue *Q,Anak data);
void Del(Queue *Q);
void PrintQueue(Queue Q);


//file function.c
#include"header.h"

void createEmpty(Queue *Q)
{
(*Q).Head=(*Q).Tail=-1;
}

int isEmpty(Queue Q)
{
return(Q.Head==-1 && Q.Tail==-1);
}

int isFull(Queue Q)
{
return((Q.HeadQ.Tail && Q.Head-Q.Tail==1));
}

int isOneElmt(Queue Q)
{
return(Q.Head==Q.Tail && Q.Head!=-1);
}

void Add(Queue *Q,Anak data)
{
if(!isFull(*Q))
{
if(isEmpty(*Q))
{
(*Q).Head=(*Q).Tail=0;
(*Q).Element[(*Q).Head]=data;
}
else
{
if((*Q).Tail==Max-1)
(*Q).Tail=0;
else
(*Q).Tail++;
(*Q).Element[(*Q).Tail]=data;
}
}
else
printf ("Antrian penuh\n");
}

void Del(Queue *Q)
{
int bantu=(*Q).Head;
if(!isEmpty(*Q))
{
if(isOneElmt(*Q))
createEmpty(&(*Q));
else
{
if((*Q).Head==Max-1)
(*Q).Head=0;
else
(*Q).Head++;
}
printf("\nData yang dihapus");
printf("\nNama : %s",(*Q).Element[bantu].strNama);
printf("\nUmur : %d",(*Q).Element[bantu].umur);
}
}

void PrintQueue(Queue Q)
{
address i;
if(!isEmpty(Q))
{
if(Q.Head<=Q.Tail)
{
for(i=Q.Head;i<=Q.Tail;i++)
printf("%s/(%d tahun) ",Q.Element[i].strNama,Q.Element[i].umur);
}
else
{
for(i=Q.Head;i<=Max-1;i++)
printf("%s/(%d tahun) ",Q.Element[i].strNama,Q.Element[i].umur);
for(i=0;i<=Q.Tail;i++)
printf("%s/(%d tahun) ",Q.Element[i].strNama,Q.Element[i].umur);
}
}
else
printf("Queue kosong");
printf("\n");
}


//file main.c
#include"header.h"

main()
{
Queue Q[4];
Anak Data;
int i,iPilih,iHapus;
for(i = 0;i < 4;i++)
createEmpty(&Q[i]);
do
{
system("cls");
printf("MENU\n");
printf("1.Add Queue\n");
printf("2.Del Queue\n");
printf("3.Print Queue\n");
printf("0.Keluar\n");
printf("Pilihan: ");
scanf("%d",&iPilih);
switch(iPilih)
{
case 1:
fflush(stdin);
printf("Masukkan Nama = ");
gets(Data.strNama);
printf("Masukkan Umur = ");
scanf("%d",&Data.umur);
if(Data.umur >= 7 && Data.umur <= 15)
{
if(Data.umur == 7 || Data.umur == 8)
Add(&Q[0],Data);
else if(Data.umur == 9 || Data.umur == 10)
Add(&Q[1],Data);
else if(Data.umur == 11 || Data.umur == 12)
Add(&Q[2],Data);
else
Add(&Q[3],Data);
}
else
printf("Maaf lomba hanya untuk anak umur 7 tahun sampai 15 tahun\n");

for(i = 0;i < 4;i++)
{
printf("Loket %d: ",i+1);
PrintQueue(Q[i]);
}
getch();
break;
case 2:
printf("Masukkan loket yang antriannya ingin dihapus = ");
scanf("%d",&iHapus);
Del(&Q[iHapus-1]);
getch();
break;
case 3:
for(i = 0;i < 4;i++)
{
printf("Loket %d: ",i+1);
PrintQueue(Q[i]);
}
getch();
break;
}
}while(iPilih!=0);
}

Kumpulan Jawaban

Jawaban Tugas Kelas A


Jawaban Unguided Kelas A


Jawaban Unguided Kelas C