INSTRUKSI
Buatlah program untuk
mencari nama yang telah diinputkan dengan menggunakan NIM dengan Single Link List Non-Circlar.
Contoh tampilan:
Nim yang dicari:
22053768
Nama yang
bersangkutan adalah Andrew S 5.
KODE PROGRAM
#include "conio.h"
#include "iostream.h"
#include "stdio.h"
typedef struct TNode
{
long nim;
char nama[25];
TNode *next;
}TNode;
TNode*head;
void init()
{
head=NULL;
}
int isEmpty()
{
if (head==NULL)
return 1;
else
return 0;
}
void insertdepan();
void insertbelakang();
void inserttengah();
void cari();
void tampil();
main()
{
int pil;
do
{
cout<<"\n \tPROGRAM UTAMA\n";
cout<<" ===========================\n";
cout<<"| 1. Tambah Data Di Depan |\n";
cout<<"| 2. Tambah Data Di Tengah |\n";
cout<<"| 3. Tambah Data Di Akhir |\n";
cout<<"| 4. Mencari Data |\n";
cout<<"| 5. Tampilkan |\n";
cout<<"| 6. Keluar |\n";
cout<<" ===========================\n\n";
cout<<"Pilihan Anda = ";cin>>pil;
switch (pil)
{
case 1 : insertdepan(); break;
case 2 : inserttengah(); break;
case 3 : insertbelakang(); break;
case 4 : cari(); break;
case 5 : tampil(); break;
}
} while (pil!=6);
return pil;
}
void insertdepan()
{
TNode *baru;
baru=new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
baru->next=NULL;
if (isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
baru->next=head;
head=baru;
}
getch();
}
void insertbelakang()
{
TNode *baru, *bantu;
baru = new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
baru->next=NULL;
if(isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
bantu=head;
while (bantu->next!=NULL)
bantu=bantu->next;
bantu->next=baru;
}
}
void inserttengah()
{
TNode*baru, *bantu;
long nimbaru;
baru = new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
cout<<"\nTambah Tengah Setelah NIM - \n";
cin>>nimbaru;
baru->next=NULL;
if (isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
bantu=head;
while (bantu->next!=NULL && bantu->nim!=nimbaru)
bantu=bantu->next;
baru->next=bantu->next;
bantu->next=baru;
}
}
void cari(){
TNode *bantu ;
bantu=head;
long caridata;
cout<<"\n\n------------------------------------";
cout<<"\nNIM Yang Dicari \t: ";
cin>>caridata;
int ketemu=0;
if (isEmpty()==0)
{
while (bantu!=NULL)
{
bantu->nim;
if(caridata==bantu->nim)
{
cout<<"\n\n>>> Data Yang Anda Cari Ditemukan <<<";
cout<<"\n NIM yang dicari : "<nim;
cout<<"\n Nama Yang Bersangkutan Adalah "<nama;
cout<<"\n\n";
ketemu=1;
}
bantu=bantu->next;
}
if (ketemu==0)
{
cout<<"Data Tidak Ditemukan";
}
}
else cout<<"Data Masih Kosong";
getch();
}
void tampil()
{
TNode *bantu;
int brs=2,i;
cout<<"\n";
bantu=head;
while (bantu!=NULL)
{
cout<nim;
cout<<" "<nama<<"\n";
brs++;
bantu=bantu->next;
}
cout<<"\n----------------------------------------\n";
cout<<"Tekan ENTER untuk Kembali Ke Program Utama\n\n";
getch();
}
#include "iostream.h"
#include "stdio.h"
typedef struct TNode
{
long nim;
char nama[25];
TNode *next;
}TNode;
TNode*head;
void init()
{
head=NULL;
}
int isEmpty()
{
if (head==NULL)
return 1;
else
return 0;
}
void insertdepan();
void insertbelakang();
void inserttengah();
void cari();
void tampil();
main()
{
int pil;
do
{
cout<<"\n \tPROGRAM UTAMA\n";
cout<<" ===========================\n";
cout<<"| 1. Tambah Data Di Depan |\n";
cout<<"| 2. Tambah Data Di Tengah |\n";
cout<<"| 3. Tambah Data Di Akhir |\n";
cout<<"| 4. Mencari Data |\n";
cout<<"| 5. Tampilkan |\n";
cout<<"| 6. Keluar |\n";
cout<<" ===========================\n\n";
cout<<"Pilihan Anda = ";cin>>pil;
switch (pil)
{
case 1 : insertdepan(); break;
case 2 : inserttengah(); break;
case 3 : insertbelakang(); break;
case 4 : cari(); break;
case 5 : tampil(); break;
}
} while (pil!=6);
return pil;
}
void insertdepan()
{
TNode *baru;
baru=new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
baru->next=NULL;
if (isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
baru->next=head;
head=baru;
}
getch();
}
void insertbelakang()
{
TNode *baru, *bantu;
baru = new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
baru->next=NULL;
if(isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
bantu=head;
while (bantu->next!=NULL)
bantu=bantu->next;
bantu->next=baru;
}
}
void inserttengah()
{
TNode*baru, *bantu;
long nimbaru;
baru = new TNode;
cout<<"\n\n------------------------------------";
cout<<"\nNIM\t: ";
cin>>baru->nim;
cout<<"Nama\t: ";
gets(baru->nama);
cout<<"------------------------------------\n\n";
cout<<"\nTambah Tengah Setelah NIM - \n";
cin>>nimbaru;
baru->next=NULL;
if (isEmpty()==1)
{
head=baru;
head->next=NULL;
}
else
{
bantu=head;
while (bantu->next!=NULL && bantu->nim!=nimbaru)
bantu=bantu->next;
baru->next=bantu->next;
bantu->next=baru;
}
}
void cari(){
TNode *bantu ;
bantu=head;
long caridata;
cout<<"\n\n------------------------------------";
cout<<"\nNIM Yang Dicari \t: ";
cin>>caridata;
int ketemu=0;
if (isEmpty()==0)
{
while (bantu!=NULL)
{
bantu->nim;
if(caridata==bantu->nim)
{
cout<<"\n\n>>> Data Yang Anda Cari Ditemukan <<<";
cout<<"\n NIM yang dicari : "<
cout<<"\n Nama Yang Bersangkutan Adalah "<
cout<<"\n\n";
ketemu=1;
}
bantu=bantu->next;
}
if (ketemu==0)
{
cout<<"Data Tidak Ditemukan";
}
}
else cout<<"Data Masih Kosong";
getch();
}
void tampil()
{
TNode *bantu;
int brs=2,i;
cout<<"\n";
bantu=head;
while (bantu!=NULL)
{
cout<
cout<<" "<
brs++;
bantu=bantu->next;
}
cout<<"\n----------------------------------------\n";
cout<<"Tekan ENTER untuk Kembali Ke Program Utama\n\n";
getch();
}







