LAPORAN TUGAS AKHIR PRAKTIKUM STRUKTUR D (1)

LAPORAN TUGAS AKHIR
PRAKTIKUM STRUKTUR DATA

Oleh:
Ahmad Mulyadi

1607111863

Aldi Maulana

1607115925

Hariyo Sasongko

1607122328

Yogi Redho Sandri

1607114206

PRODI TEKNIK INFORMATIKA S1

JURUSAN TEKNIK ELEKTRO
FAKUTAS TEKNIK
UNIVERSITAS RIAU
PEKANBARU
2017

Tugas Akhir Praktikum Struktur Data
Semester Genap Tahun Ajaran 2016-2017
Program Studi Teknik Informatika S1 Universitas Riau
Dosen Pengampu: Salhazan Nasution, S.Kom,MIT
Program Data Mahasiwa dan Daftar Hadir
1. Listing Program
#include
#include
#include
#include
#include
#define max 5
#define QSIZE 20
void

void
void
void

program_linkedlist();
program_struct ();
program_stack ();
program_queue ();

struct data_mahasiswa
{
char nama[20];
char jurusan[20];
char nim[15];
char umur[5];
char mata_kuliah[10];
};
main()
{
int pilihan;

char ulangulang;
puts("\t\t============================================
=====");
puts("\t\tPROGRAM TUGAS AKHIR STRUKTUR DATA KELOMPOK 7
TI A");
puts("\t\t============================================
=====");
do
{
printf("\nModel Program: ");

printf("\n1. Program Linked List");
printf("\n2. Program Struct");
printf("\n3. Program Stack");
printf("\n4. Program Queue");
printf("\n\nPilih Program : ");
scanf("%d",&pilihan);
system("cls");
switch (pilihan)
{

case 1 : program_linkedlist (); break;
case 2 : program_struct(); break;
case 3 : program_stack (); break;
case 4 : program_queue (); break;
}
printf("\n\nKembali ke Menu Pilihan Model Program? (y/t)
");
scanf("%s",&ulangulang);
system("cls");
}
while ((ulangulang=='y')||(ulangulang=='Y'));
printf("\n\n\nTerima Kasih\n");
}
void program_linkedlist()
{
struct simpulku
{
char nama[20];
int nim;
int umur;

char matakuliah[20];
struct simpulku *next_simpul;
};
int main();
simpulku *simpul1, *simpul2, *simpul3, *simpul4,
*simpul5, *temp;
simpul1=(simpulku
simpul2=(simpulku
simpul3=(simpulku
simpul4=(simpulku

*)malloc(sizeof(simpulku));
*)malloc(sizeof(simpulku));
*)malloc(sizeof(simpulku));
*)malloc(sizeof(simpulku));

strcpy(simpul1->nama,
strcpy(simpul2->nama,
strcpy(simpul3->nama,
strcpy(simpul4->nama,


"Adi");
"Aldi");
"Hariyo");
"Yogi");

simpul1->nim = 1607111863;
simpul2->nim = 1607115925;
simpul3->nim = 1607122328;

simpul4->nim = 1607114206;
simpul1->umur=18;
simpul2->umur=20;
simpul3->umur=19;
simpul4->umur=18;
strcpy(simpul1->matakuliah,
strcpy(simpul2->matakuliah,
strcpy(simpul3->matakuliah,
strcpy(simpul4->matakuliah,
simpul1->next_simpul=NULL;


"RPL");
"KCV");
"Jarkom");
"RPL");

simpul1->next_simpul=simpul2;
simpul2->next_simpul=simpul3;
simpul3->next_simpul=simpul4;
simpul4->next_simpul=NULL;
system("cls");
puts("\t**********************************************
*******************");
puts("\t\t\t\tMENU DATA MAHASISWA");
puts("\t**********************************************
*******************");
temp=simpul1;
printf("\n\t==========================================
=======================");
printf("\n\t|

Nama
|
Nim |
Umur
|
Mata Kuliah
|");
printf("\n\t==========================================
=======================");
printf("\n\t|
%2s
|
%d
|
%d th
|
%2s
|",temp->nama, temp->nim,temp->umur, temp>matakuliah);
temp=temp->next_simpul;
printf("\n\t|

%2s
|
%d
|
%d th
|
%2s
|" ,temp->nama, temp->nim,temp->umur, temp>matakuliah);
temp=temp->next_simpul;
printf("\n\t|
%2s
|
%d
|
%d th
|
%2s
|",temp->nama, temp->nim,temp->umur, temp>matakuliah);
temp=temp->next_simpul;
printf("\n\t|

%2s
|
%d
|
%d th
|
%2s
|",temp->nama, temp->nim,temp->umur, temp>matakuliah);
printf("\n\t==========================================
=======================");
temp=simpul1;
getch();
system("cls");
}

void program_struct ()
{
struct data_mahasiswa
{
char nama[20];

char jurusan[20];
char nim[15];
char umur[5];
char mata_kuliah[10];
};
data_mahasiswa krw[4];
int i;
for (i=0;itail = pq->count= 0;
}
char* enqueue(char *p)
{
if(pq->count==QSIZE)
return "\n\n\t\t Error: Antrian penuh";
pq->tail= (pq->tail)%QSIZE;
strcpy(pq->names[(pq->tail)++],p);
pq->count++;
return "\nDataBerhasil Dimasukkan";
}
char* dequeue()
{
if(pq->count==0)
return "\n\n\t\t Error: Antrian Kosong";
pq->head= (pq->head)%QSIZE;
pq->count--;
printf("\nData yang Dihapus adalah\n:");
return pq->names[(pq->head)++];
}
void tampil()
{
int i=pq->head;
int x=0;
if(pq->count==0)
printf("Antrian Kosong\n");
else
{
while(xcount)
{

if(i==QSIZE)
i%=QSIZE;
printf(" \t%s