Anda di halaman 1dari 6

#include <iostream>

#include <conio.h>

#include <stdio.h>

#include <stdlib.h>

using namespace std;

struct TNode {

char nim[30];

char nama[30];

TNode *next;

};

TNode *head, *tail;

void init(){

head = NULL;

tail = NULL;

int isEmpty(){

if(tail == NULL) return 1;

else return 0;

void tambahDepan(){

TNode *baru;

baru = new TNode;

cout<<"Masukan Data Lengkap Di Bawah Ini :"<<endl;

printf("NIM : "); gets(baru->nim);

printf("Nama : "); gets(baru->nama);fflush(stdin);

baru->next = NULL;

if(isEmpty()==1){

head=tail=baru;

tail->next=NULL;

else {
baru->next = head;

head = baru;

printf("Data masuk\n");

void tambahBelakang(){

TNode *baru,*bantu;

baru = new TNode;

cout << "Masukkan Data lengkap di bawah ini : " << endl;

printf("NIM : "); gets(baru->nim);

printf("Nama : "); gets(baru->nama);fflush(stdin);

baru->next = NULL;

if(isEmpty()==1){

head=baru;

tail=baru;

tail->next = NULL;

else {

tail->next = baru;

tail=baru;

printf("Data masuk\n");

void hapusDepan(){

TNode *hapus;

char* ni; char* na;

printf("NIM yang mau dihapus : "); scanf("%s", &ni);

if (isEmpty()==0){

if(head!=tail){

hapus = head;

ni = hapus->nim;
na = hapus->nama;

head = head->next;

delete hapus;

} else {

ni = tail->nim;

na = tail->nama;

head=tail=NULL;

printf("NIM dengan nama %s telah ditemukan dan dihapus", na);

} else printf("Data Masih kosong...!\n");

void hapusBelakang(){

TNode *bantu,*hapus;

char* ni; char* na;

printf("NIM yang mau dihapus : "); scanf("%s", &ni);

if (isEmpty()==0){

bantu = head;

if(head!=tail){

while(bantu->next!=tail){

bantu = bantu->next;

hapus = tail;

tail=bantu;

ni = hapus->nim;

na = hapus->nama;

delete hapus;

tail->next = NULL;

}else {

ni = tail->nim;

na = tail->nama;

head=tail=NULL;
}

printf("NIM dengan nama %s telah ditemukan dan dihapus", na);

} else cout<<"Data Masih kosong...!\n";

void tampil(){

int no = 1;

TNode *bantu;

bantu=head;

if(isEmpty()==0){

while(bantu!=NULL){

cout << "No. : " << no << endl;

cout << "NIM : " << bantu->nim << endl;

cout << "Nama : " << bantu->nama << endl;

no++;

bantu=bantu->next;

else

cout<<"Data Kosong...! Belum Ada Data yang Diinputkan...!"<<endl;

void search(char* caridata)

char nama[30], nim[30];

cout<<"Inputkan NIM yang Dicari : "; cin>>caridata;

if (caridata == nim){

cout<<"Nama yang tercantum "<<strstr(nama, caridata);

else cout<<"Data Kosong...!\n";

getch();

}
main(){

int pil; char caridata[30];

do{

system("cls");

cout<<"*************"<<endl;

cout<<"MENU PILIHAN"<<endl;

cout<<"*************"<<endl;

cout<<"1.Insert Depan"<<endl;

cout<<"2.Insert Belakang"<<endl;

cout<<"3.Display"<<endl;

cout<<"4.Delete Depan"<<endl;

cout<<"5.Delete Belakang"<<endl;

cout<<"6.Cari Nama"<<endl;

cout<<"7.Exit"<<endl;

cout<<"Masukan Pilihan Anda :";pil=getche();

switch(pil){

case '1' : system("cls");

isEmpty();

tambahDepan();

break;

break;

case '2': system("cls");

isEmpty();

tambahBelakang();

break;

case '3': system("cls");

isEmpty();

tampil();

break;

case '4': system("cls");

isEmpty();
hapusDepan();

break;

case '5': system("cls");

isEmpty();

hapusBelakang();

break;

case '6' : system("cls");

isEmpty();

search(caridata);

getch();

}while(pil!='7');

return 0;

Anda mungkin juga menyukai