TUGAS
Buat program animasi Linear Singly Linked List 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.
Ket :
INSER DATA : menyisipkan satu simpul pada akhir linked list
HAPUS DATA :menghapus satu simpul pada akhir linked list
CETAK DATA : mencetak seluruh isi linked list
EXIT : Keluar/selesai
Tampilan menu :
LIN.
SINGLY LINKED LIST
==========================
1. INSERT DATA
2. HAPUS DATA
3. CETAK DATA
4. EXIT
Pilihan (1 – 4) :
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
using namespace std;
int pilih; void pilihan();
void insert_data();
void hapus_data();
void cetak_data();
struct node
{
int nomorinduk;
char nama [40];
char gender [20];
float nilai;
node *prev, *next;
};
node *baru, *head=NULL, *tail=NULL,*help,*del;
main()//interface monitor
{
do
{
system("cls");
cout<<"\tLIN. DOUBLY LINKED LIST"<<endl;
cout<<"\t=========================="<<endl;
cout<<"\t1. INSERT DATA"<<endl;
cout<<"\t2.
HAPUS DATA"<<endl;
cout<<"\t3. CETAK DATA"<<endl;
cout<<"\t4. EXIT"<<endl;
cout<<"\tPilihan (1 - 4) : ";
cin>>pilih;
cout<<endl<<endl;
pilihan();
cout<<"==============================="<<endl;
}
while(pilih!=4);
}
void pilihan()//fungsi "pilihan" untuk pemrosesan
{
if(pilih==1)
insert_data();
else if(pilih==2)
hapus_data();
else if(pilih==3)
cetak_data();
else
{
cout<<"EXIT";
cout<<"\nSampai Jumpa lagi"<<endl;
}
}
void buat_baru()//fungsi membuat data baru
{
baru = new(node);
cout<<"Masukkan Nomor Induk :
";cin>>baru->nomorinduk;
cout<<"Masukkan Nama :
";cin>>baru->nama;
cout<<"Masukkan Gender :
";cin>>baru->gender;
cout<<"Masukkan Nilai :
";cin>>baru->nilai;
cout<<"\n\t---Data telah
dimasukkan---";
cout<<"\n\nPRESS
ENTER TO CONTINUE...";
getch();
baru->prev=NULL;
baru->next=NULL;
}
void insert_data()
{
buat_baru();
if(head==NULL)
{
head=baru;
tail=baru;
}
else
{
baru->next=head;
head->prev=baru;
head=baru;
}
cout<<endl<<endl;
}
void hapus_data()//fungsi penghapusan data
{
int hapus,nomorinduk;
if(head==NULL)
{
cout<<"\nLinked List kosong, \nPenghapusan tidak dapat
dilakukan"<<endl;//data yang habis maka tampilannya
}
else
{
hapus=head->nomorinduk;
cout<<"\nData
yang dihapus adalah ";//pemilihan data yang akan dihapus
cin>>nomorinduk;
del = head;
head =
head->next;
delete del;
}
}
void cetak_data()
{
if (head==NULL)
cout<<"\nData tidak dapat
ditemukan!"<<endl;//data yang kosong
else
{
help=head;
while(help!=NULL)
{
cout<<"
Nomor Induk : "<<help->nomorinduk;//data akan muncul dengan
tampilan
cout<<"
Nama : "<<help->nama;
cout<<"
Gender : "<<help->gender;
cout<<"
Nilai : "<<help->nilai<<endl;
help=help->next;
}
}
getch();
}
Tidak ada komentar:
Posting Komentar