Daftar Blog Saya

Senin, 28 September 2020

TUGAS MATA KULIAH STRUKTUR DATA Pertemuan Ke-11 " Program Animasi Queue Menggunakan Linked List Tanpa Head"

 Bismillah, 

Assalamualaikum Wr.Wb.


Hello My Name Is Alif Yoga Prasetya 😉

Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah " Struktur Data "




SOAL :


TUGAS III

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.



JAWABAN :


SOURCE CODE PROGRAM :


#include <cstdlib>

#include <iostream>

#include<conio.h>

using namespace std;

struct SIMPUL{

char NAMA[10];

char NIM[10];

char GENDER;

int NILAI;

struct SIMPUL *LINK;

};

SIMPUL *P,*Q,*FIRST,*LAST;

void BUAT_SIMPUL(void);

void INIT(void);

void INSERT(void);

void DELETE(void);

void AWAL(void);

void INSERT_KANAN();

void DELETE_KANAN();

void CETAKLAYAR(void);

void FREE_MEMORY(void);

int PIL;

char PILIHAN[1],HURUF;

int main(int argc, char *argv[])

{

INIT();

do{

system("cls");

cout<<"QUEUE SINGLY LINKED LIST"<<endl;

cout<<"======================="<<endl;

cout<<"1. INSERT DATA"<<endl;

cout<<"2. HAPUS DATA"<<endl;

cout<<"3. CETAK DATA"<<endl;

cout<<"4. EXIT"<<endl<<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:

cout<<"TERIMA KASIH"<<endl;

FREE_MEMORY();

break;

}

}while (PIL<4);

system("PAUSE");

return EXIT_SUCCESS;

}

void BUAT_SIMPUL(void)//Buat simpul baru

{

P=(SIMPUL *)malloc(sizeof(SIMPUL));

if(P!=NULL)

{

cout<<"Nama : ";cin>>P->NAMA;

cout<<"NIM : ";cin>>P->NIM;

cout<<"GENDER : ";cin>>P->GENDER;

cout<<"NILAI : ";cin>>P->NILAI;

}

else

{

cout<<"Pembuatan Simpul Gagal"<<endl;

getch();

exit(1);

}

}

void INIT(void)//Inisialisasi

{

FIRST=NULL;

LAST=NULL;

}

void AWAL(void)//Pembuatan simpul pertama

{

FIRST=P;

LAST=P;

P->LINK=NULL;

}

void INSERT_KANAN(void)

{

LAST->LINK=P;

LAST=P;

P->LINK=NULL;

}

void DELETE_KANAN(void)

{

if(FIRST==LAST)//Baru ada satu simpul

{

free(LAST);//Atau free(FIRST)

INIT();

}

else

{

Q = FIRST;

while(Q ->LINK != LAST)

Q = Q -> LINK;

free(LAST);

LAST = Q;

LAST -> LINK = NULL;

}

}

void INSERT(void)//Insert satu simpul diujung kanan

{

BUAT_SIMPUL();

if(FIRST==NULL)

AWAL();

else

INSERT_KANAN();

}

void DELETE(void)//Delete satu simpul terakhir

{

if(LAST==NULL)

{

cout<<"Data belum ada"<<endl;

getch();

}

else

{

DELETE_KANAN();

cout<<"Data terakhir dihapus"<<endl;

getch();

}

}

void CETAKLAYAR()//Cetak seluruh data linked list

{

int i=1;

if(FIRST!=NULL)

{

Q=FIRST;

while(Q!=NULL)

{

cout<<"Data ke : "<<i++<<endl;

cout<<"Nama : "<<Q->NAMA<<endl;

cout<<"NIM : "<<Q->NIM<<endl;

cout<<"GENDER : "<<Q->GENDER<<endl;

cout<<"NILAI : "<<Q->NILAI<<endl;

Q=Q->LINK;

cout<<endl;

}

}

else

cout<<"Data Kosong"<<endl;

getch();

}

void FREE_MEMORY(void)

{

while(FIRST!=NULL)

{

Q=FIRST->LINK;

free(FIRST);

FIRST=Q;

}

}


TAMPILAN OUTPUT



INSERT DATA




CETAK DATA




HAPUS DATA




EXIT


Wa'alaikumussalam Warahmatullahi Wabarakatuh 😎


Tidak ada komentar:

Posting Komentar

Catatan: Hanya anggota dari blog ini yang dapat mengirim komentar.

TUGAS STRUKTUR DATA PERTEMUAN KE-4 " STACK (TUMPUKKAN) "

Bismillah,  Assalamualaikum Wr.Wb. Hello My Name Is Alif Yoga Prasetya 😉 Disini Saya Akan Membagikan Tugas Perkuliahan Dengan Mata Kuliah &...