TUGAS
Buat program animasi Linear Doubly Linked List untuk mengelola data mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER, NILAI . Data terurut naik berdasarkan NIM.Program dibuat dalam bentuk menu dengan pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT.
Ket :
INSER DATA : menambah data
HAPUS DATA : menghapus satu data berdasarkan kriteria
NIM CETAK DATA : mencetak seluruh isi linked list
EXIT : Keluar/selesai
Tampilan menu :
LIN. DOUBLY LINKED LIST
==========================
1. INSERT DATA
2. HAPUS DATA
3. CETAK DATA
4. EXIT Pilihan (1 – 4) :
CONTOH PROGRAM
#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <windows.h>
using namespace std;
int pilih; void pilihan();
struct SIMPUL{
char nim[20];
int NIM;
char nama [40];
char gender [20];
int info;
float nilai;
SIMPUL *left, *right;
};
SIMPUL *data, *first=NULL, *last=NULL,*help,*del, *q;
void BUAT_SIMPUL(int X)
{
data=(SIMPUL *)malloc(sizeof(SIMPUL));
if(data!=NULL)
data->info=X;
else
{
cout<<"Membuat simpul gagal";
exit(1);
}
}
void buat_data()//fungsi membuat data data
{
data = new(SIMPUL);
cout<<" Masukkan Nama : ";cin>>data->nama;
cout<<" Masukkan NIM : ";cin>>data->nim;
cout<<" Masukkan Gender : ";cin>>data->gender;
cout<<" Masukkan Nilai : ";cin>>data->nilai;
cout<<"\n ==========================";
cout<<"\n Data telah dimasukkan ";
getch();
data->left=NULL;
data->right=NULL;
}
void insert_data()
{
buat_data();
if(first==NULL)
{
first=data;
last=data;
last->right=NULL;
}
else
{
last->right=data;
last=data;
last->right=NULL;
}
cout<<endl<<endl;
}
void hapus_data()//fungsi penghapusan data
{
int hapus,NIM;
if (last==NULL)
{
cout<<"\n Linked List kosong, \nPenghapusan tidak dapat dilakukan"<<endl;//data yang habis maka tampilannya
getch();
}
else
{
hapus=first->NIM;
cout<<"\n Data NIM yang dihapus adalah :";//pemilihan data yang akan dihapus
cin>>NIM;
cout<<" Data nim "<<NIM<<" sudah dihapus";
del = first;
q = first->right;
first=q;
delete del;
getch();
}
}
void cetak_data()
{
if (last==NULL){
cout<<" Linked List kosong!";
getch();
}
else
{
help=first;
while(help!=NULL)
{
cout<<" Nama : "<<help->nama<<endl;
cout<<" NIM : "<<help->nim<<endl;//data akan muncul dengan tampilan
cout<<" Gender : "<<help->gender<<endl;
cout<<" Nilai : "<<help->nilai<<endl;
cout<<endl;
help=help->right;
}
getch();
}
}
int main()//interface monitor
{
system ("color F0");
do
{
system("cls");
cout<<" LIN. 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;
cout<<" =========================="<<endl;
cout<<" Pilihan (1-4) : ";
cin>>pilih;
cout<<" =========================="<<endl;
cout<<endl;
pilihan();
}
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<<" Terima kasih sudah menggunakan program ini"<<endl;
}
}
Komentar
Posting Komentar