Struktur data pertemuan 11
NAMA : Fikriansyah
NIM : 191011400352
KELAS : 03TPLE021
TUGAS PERTEMUAN 11
1. Buat program animasi queue menggunakan Linked List tanpa Head untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT.
* Program :
#include<iostream>
#include<conio.h>
#include<stdlib.h>
using namespace std;
//ABDUL AJIJI
struct SIMPUL{
char NAMA[30];
char NIM[15];
char GENDER;
int NILAI;
struct SIMPUL*LINK;
};
SIMPUL *P,*Q,*FRONT,*REAR;
void BUAT_SIMPUL(void);
void INIT (void);
void INSERT(void);
void DELETE(void);
void CETAKLAYAR(void);
void FREE_MEMORY(void);
int PIL;
char PILIHAN[1],HURUF;
using namespace std;
int main(void)
{
INIT();
do
{
system("cls");
cout<<" =============================================="<<endl;
cout<<" = Fikriansyah | 191011400352 ="<<endl;
cout<<" =============================================="<<endl;
cout<<" = QUEUE SINGLY LINGKED LIST ="<<endl;
cout<<" =============================================="<<endl;
cout<<" 1.INSERT DATA"<<endl;
cout<<" 2.HAPUS DATA"<<endl;
cout<<" 3.CETAK DATA"<<endl;
cout<<" 4.EXIT"<<endl;
cout<<" PILIHAN(1-4): ";cin>>PILIHAN;
PIL=atoi(PILIHAN);
switch (PIL)
{
case 1:
INSERT();
break;
case 2:
DELETE();
break;
case 3:
CETAKLAYAR();
break;
default:
18;
cout<<endl<<" TERIMA KASIH"<<endl<<endl;
FREE_MEMORY();
break;
}
}while(PIL<4);
}
void BUAT_SIMPUL(void)
{
P=(SIMPUL*)malloc(sizeof(SIMPUL));
if (P!=NULL)
{
cout<<" Nama \t: ";cin>>P->NAMA;
cout<<" NIM \t: ";cin>>P->NIM;
cout<<" GENDER \t: ";cin>>P->GENDER;
cout<<" NILAI \t: ";cin>>P->NILAI;
}
else
{
cout<<" pembuatan simpul gagal"<<endl;
getchar();
exit(1);
}
}
void INIT(void)
{
FRONT=NULL;
REAR=NULL;
}
void INSERT(void)
{
BUAT_SIMPUL();
if(FRONT==NULL)
{
FRONT=P;
REAR=P;
REAR->LINK=NULL;
}
else
{
REAR->LINK=P;
REAR=P;
REAR->LINK=NULL;
}
}
void DELETE(void)
{
if(FRONT==NULL)
{
cout<<" data belum ada"<<endl;
getchar();
}
else
{
Q=FRONT->LINK;
free(FRONT);
FRONT=Q;
if(FRONT==NULL)
19;
INIT();
cout<<" data terakhir"<<endl;
getch();
}
}
void CETAKLAYAR(void)
{
int i=1;
if(FRONT!=NULL)
{
Q=FRONT;
while(Q!=NULL)
{
cout<<"\n Data ke- \t: "<<i++<<endl;
cout<<" NAMA \t\t: "<<Q->NAMA<<endl;
cout<<" NIM \t\t: "<<Q->NIM<<endl;
cout<<" GENDER \t\t: "<<Q->GENDER<<endl;
cout<<" NILAI \t\t: "<<Q->NILAI<<endl;
Q=Q->LINK;
cout<<endl;
}
}
else
cout<<" Data Kosong"<<endl;
getch();
}
void FREE_MEMORY(void)
{
while(FRONT!=NULL)
{
Q=FRONT->LINK;
free(FRONT);
FRONT=Q;
}
}
Komentar
Posting Komentar