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
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