Académique Documents
Professionnel Documents
Culture Documents
140810150024
Coding :
/*Nama Program : praktikum strukdat circular
Nama
NPM
: 140810150024
-------------------------------------------*/
#include <iostream>
#include <iomanip>
#include <string.h>
#include <stdlib.h>
using namespace std;
struct pegawai
{
string nama;
string nip;
string alamat;
string gaji;
int gol;
pegawai* next;
pegawai* prev;
};
typedef pegawai* pointer;
typedef pointer List;
: "; cin.ignore();getline(cin,pBaru->nama);
: "; cin >> pBaru -> nip;
void pilihMenu(List& First, pointer& pBaru, string key, int found, pointer pCari) {
int pilih;
bool condition = true;
while (condition) {
system("cls");
cout << "MAIN MENU"<<endl;
void entryData(List& First, pointer pBaru, string key, int found, pointer& pCari){
int pilih;
system("cls");
cout<<"---------------------"<<endl;
cout<<"|
Entry data
|"<<endl;
cout<<"---------------------"<<endl;
cout<<"| 1. Insert First |"<<endl;
cout<<"| 2. Insert Before |"<<endl;
cout<<"| 3. Insert After |"<<endl;
cout<<"| 4. Insert Last
|"<<endl;
cout<<"---------------------"<<endl;
do{
cout<<"Pilihan Anda : ";cin>>pilih;
} while(pilih<1||pilih>4);
switch (pilih) {
case 1 : createElmt(pBaru);
insertFirst(First,pBaru);
break;
case 2 : createElmt(pBaru);
do {
cout<<"Masukan data sebelum nip nomer : ";cin>>key;
linearSearch(First,key,found,pCari);
} while (found!=1);
insertBefore(First,pBaru,pCari);
break;
case 3 : createElmt(pBaru);
do {
cout<<"Masukan data setelah nip nomer : ";cin>>key;
linearSearch(First,key,found,pCari);
} while (found!=1);
insertAfter(First,pBaru,pCari);
break;
case 4 : createElmt(pBaru);
insertLast(First,pBaru);
break;
}
}
void deleteData(List& First, pointer pHapus,string key, int found, pointer& pCari){
int pilih;
system("cls");
cout<<"---------------------"<<endl;
cout<<"|
Delete data
|"<<endl;
cout<<"---------------------"<<endl;
cout<<"| 1. Delete First |"<<endl;
cout<<"| 2. Delete Before |"<<endl;
cout<<"| 3. delete pCari |"<<endl;
cout<<"| 4. Delete After |"<<endl;
cout<<"| 5. Delete Last
|"<<endl;
cout<<"---------------------"<<endl;
do{
cout<<"Pilihan Anda : ";cin>>pilih;
} while(pilih<1||pilih>5);
switch (pilih) {
case 1 : deleteFirst(First,pHapus);
break;
case 2 : do {
cout<<"Hapus data sebelum nip nomer : ";cin>>key;
linearSearch(First,key,found,pCari);
} while (found!=1);
deleteBefore(First,pHapus,pCari);
break;
case 3 : do {
cout<<"Hapus data pada nip nomer : ";cin>>key;
linearSearch(First,key,found,pCari);
} while (found!=1);
deletePcari(First,pHapus,pCari);
break;
case 4 : do {
cout<<"Hapus data setelah nip nomer : ";cin>>key;
linearSearch(First,key,found,pCari);
} while (found!=1);
deleteAfter(First,pHapus,pCari);
break;
case 5 : deleteLast(First,pHapus);
break;
}
}
{
First=pBaru;
First->next=First;
First->prev=First;
}
else {
pBaru->next=First;
pBaru->prev=First->prev;
First->prev->next=pBaru;
First->prev=pBaru;
First = pBaru;
}
}
pBaru->next=pCari->next;
pBaru->prev=pCari;
pBaru->next->prev=pBaru;
pBaru->prev->next=pBaru;
}
}
First->prev->next=First->next;
First->next->prev=First->prev;
First=First->next;
pHapus->next=NULL;
pHapus->prev=NULL;
}
}
pHapus->prev->next=pHapus->next;
pHapus->next->prev=pHapus->prev;
pHapus->next=NULL;
pHapus->prev=NULL;
}
}
else {
pHapus=pCari;
pHapus->next->prev=pHapus->prev;
pHapus->prev->next=pHapus->next;
pHapus->next=NULL;
pHapus->prev=NULL;
}
}
{
pHapus=NULL;
cout<<"List Kosong!"<<endl;
}
else if (First->next==First)
{
pHapus=First;
pHapus->prev=NULL;
pHapus->prev=NULL;
First=NULL;
}
else {
last=First;
while(last->next!=First)
last=last->next;
pHapus=last;
First->prev=pHapus->prev;
pHapus->prev->next=First;
}
}
: "<<pCari->nama<<endl;
: "<<pCari->nip<<endl;
cout<<"Golongan : "<<pCari->gol<<endl;
cout<<"Gaji
: "<<pCari->gaji<<endl;
cout<<"Alamat : "<<pCari->alamat<<endl;
}
cout<<endl;
system("pause");
}
do {
if (pBantu->gol==1)
pBantu->gaji="Rp. 1.000.000,-";
else if (pBantu->gol==2)
pBantu->gaji="Rp. 2.000.000,-";
else if (pBantu->gol==3)
pBantu->gaji="Rp. 3.000.000,-";
else if (pBantu->gol==4)
pBantu->gaji="Rp. 4.000.000,-";
else if (pBantu->gol==5)
pBantu->gaji="Rp. 5.000.000,-";
pBantu=pBantu->next;
} while (pBantu!=First);
}
Output data :
Tampilan menu
Insert First
Insert Before
Tampilan Data
Hapus data