“LINKED LIST”
Oleh :
Nama : Ade Prasetyo
NIM : 18102218
Kelas : S1 IF06 G
Hari/ Tanggal : Minggu, 7 April 2019
1. Buatlah program menggunakan Single Linked List Non Circular untuk menyimpan
Dst
DATA MAHASISWA
Nama NIM
Dede 12347867
Kiki 98765674
Nina 67453279
Andi 83450120
Andi terhapus
DATA MAHASISWA
Nama NIM
Dede 12347867
Kiki 98765674
Nina 67453279
BAB II
PEMBAHASAN
A. Source Code
#include <iostream>
#include <conio.h>
#include <string>
string data_nama;
nama *next_nama;
};
nama *head_nama;
int data_nim;
nim *next_nim;
};
nim *head_nim;
void initHead();
int Emptynama();
int Emptynim();
void tampil();
void hapusnama();
void hapusnim();
void initHead()
int Emptynama()
int Emptynim()
nama *baru,*bantu;
baru->data_nama = datanama;
baru->next_nama = NULL;
if(Emptynama()==1)
head_nama=baru;
head_nama->next_nama = NULL;
else
bantu=head_nama;
while(bantu->next_nama!=NULL)
{
bantu=bantu->next_nama;
bantu->next_nama = baru;
nim *baru,*bantu;
baru->data_nim = datanim;
baru->next_nim = NULL;
if(Emptynim()==1)
head_nim=baru;
head_nim->next_nim = NULL;
else
bantu=head_nim;
while(bantu->next_nim!=NULL)
bantu=bantu->next_nim;
bantu->next_nim = baru;
void hapusnama()
{
nama *hapus,*bantu;
string d;
if (Emptynama()==0)
if(head_nama->next_nama != NULL)
bantu = head_nama;
while(bantu->next_nama->next_nama!=NULL)
bantu = bantu->next_nama;
hapus = bantu->next_nama;
d = hapus->data_nama;
bantu->next_nama = NULL;
delete hapus;
else
else
void hapusnim()
{
nim *hapus,*bantu;
int d;
if (Emptynim()==0)
if(head_nim->next_nim != NULL)
bantu = head_nim;
while(bantu->next_nim->next_nim!=NULL)
bantu = bantu->next_nim;
hapus = bantu->next_nim;
d = hapus->data_nim;
bantu->next_nim = NULL;
delete hapus;
else
d = head_nim->data_nim;
head_nim = NULL;
cout<<" \n";
else
void tampil()
{
nim *bantu;
bantu = head_nim;
nama *help;
help = head_nama;
cout<<"\tNama\t\tNIM\n";
cout<<"\t------------------------\n";
cout<<"\t"<<help->data_nama<<"\t\t"<<bantu-
>data_nim<<"\n";
help=help->next_nama;
bantu=bantu->next_nim;
cout<<"\n";
else
int main()
cout<<"\t\t\t ===============================\n";
cout<<"Menyiapkan head...\n";
initHead();
tampil();
string data_nama;
int data_nim;
for(int i=1;i<=4;i++)
cin>>data_nama;
insertnama(data_nama);
cin>>data_nim; insertnim(data_nim);
cout<<"\n";
tampil();
for(int i=1;i<2;i++)
hapusnama();
hapusnim();
cout<<"\n";
tampil();
}
B. Screenshot Output
C. Kesimpulan
Linked List merupakan suatu bentuk struktur data yang berisi kumpulan data yang
disebut sebagai node yang tersusun secara sekuensial, saling sambung menyambung,
dinamis, dan terbatas. Linked List sering disebut sebagai senarai berantai. Untuk
menghubungkan satu node dengan node lainnya maka Linked List menggunakan pointer
sebagai penunjuk node selanjutnya. Node sendiri merupakan sebuah struct yang
menempati suatu lokasi memori secara dinamis yang terdiri dari beberapa field, minimal
2 buah field yaitu field untuk isi dari struct datanya sendiri, dan 1 field arbitari bertipe
pointer sebagai penunjuk node selanjutnya. Array dan Linked List memiliki perbedaan
sebagai berikut :
Array
1. Statis
2. Penambahan dan penghapusan data Terbatas
3. Random access
4. Penghapusan array tidak mungkin
Linked List
1. Dinamis
2. Penambahan dan penghapusan data tidak terbatas
3. Sequential access
4. Penghapusan mudah
Salah satu tipe Linked List yang sederhana yaitu Single Linked List. Single Linked List
merupakan Linked List yang memiliki hanya satu pointer penunjuk dengan arah data
hanya satu arah juga. Single Linked List memiliki 2 macam bentuk yaitu Non Circular
dan Circular. Non Circular Linked List merupakan Linked List di mana antara kepala dan
node terakhir tidak memiliki hubungan. Pada Linked List ini maka pointer terakhir selalu
menunjuk NULL sebagai pertanda data terakhir dalam list-nya. Single Linked List Non
Circular dapat digambarkan sebagai gerbong kereta api seperti berikut ini :
Langkah membuat dan operasi pada sebuah Linked List adalah sebagai berikut :
Linked List banyak dimanfaatkan pada pemrograman kecerdasan buatan, fuzzy, maze
solving, dan sebagainya.