Pertemuan 9 Linear Singly Linked List
Pertemuan 9 Linear Singly Linked List
PERTEMUAN 9:
LINEAR SINGLY LINKED LIST
A. TUJUAN PEMBELAJARAN
Pada bab ini akan dijelaskan mengenai penggunaan Linear Singly
Linked List yang terdapat pada struktur data. Di modul ini, Anda harus
mampu:
9.1 Merepresentasikan Linear Singly Linked List dalam bahasa
pemrograman .
B. URAIAN MATERI
Tujuan Pembelajaran 9.1:
Aplikasi Linear Singly Linked List
I. Ilustrasi
Ada 4 simpul : 1, 2, 3, 4
Setiap simpul terdiri dari 2 elemen/field, yaitu :
o INFO : bertipe integer
o LINK : bertipe pointer
Simpul no.1 :
II. Proses
a. Inisialisasi : persiapan pembuatan linked list
b. Membuat simpul awal
c. Insert simpul kedalam linked list
d. Delete simpul dari linked list
II.1. Inisialisasi
FIRST = NULL;
LAST = NULL;
P=(SIMPUL*) malloc(sizeof(SIMPUL));
Contoh :
#include<iostream.h>
#include<stdlib.h>
struct SIMPUL{
int INFO;
struct SIMPUL *LINK;
};
SIMPUL *P,*FIRST,*LAST;
void BUAT_SIMPUL(int);
void main(void)
{
int x;
cout<<"Masukan Data : ";cin>>x;
BUAT_SIMPUL(x);
cout<<"Data : "<<P->INFO<<endl;
}
void BUAT_SIMPUL(int x)
{
P=(SIMPUL *)malloc(sizeof(SIMPUL));
if(P!=NULL)
P->INFO=x;
else
cout<<"Pembuatan Simpul Gagal"<<endl;
}
FIRST=P
LAST=P atau
LAST=FIRST
P->LINK=NULL atau
FIRST->LINK=NULL atau
LAST->LINK=NULL
Ilustrasi :
LAST->LINK=P atau
FIRST->LINK=P
LAST=P atau
LAST=FIRST->LINK
P->LINK=NULL atau
LAST->LINK=NULL atau
FIRST->LINK->LINK=NULL
Fungsi :
void INSERT_KIRI(void)
{
if(FIRST!=NULL)
{
P->LINK=FIRST;
FIRST=P;
}
else
cout<<”Linked List belum ada”;
}
Ilustrasi:
P->LINK=FIRST atau
P->LINK=LAST
FIRST=P
Q=FIRST;
For(i=1;i<=6;i++)
Q=Q->LINK;
Fungsi :
Void INSERT_TENGAH(void)
{
P->LINK=Q->LINK;
Q->LINK=P;
}
Ilustrasi :
Sudah ada linked list
P->LINK=Q->LINK
Q->LINK=P
Ilustrasi :
free(LAST)
LAST = Q
Fungsi :
void DELETE_KIRI(void)
{
Q = FIRST;
FIRST = Q -> LINK;
free(Q);
}
Ilustrasi :
Q = FIRST
free(Q)
Syarat agar simpul no.7 bisa dihapus maka simpul no.6 harus sudah
ditunjukoleh Q.
Caranya :
Q = FIRST;
For(I = 1; I <= 5; I++)
Q = Q -> LINK;
Fungsi :
void DELETE_TENGAH(void)
{
R = Q -> LINK;
R = Q -> LINK
free(R)
Latihan :
1. Perhatikan linked list berikut :
TUGAS
Buat program animasi Linear Singly Linked List untuk mengelola data
mahasiswa dengan struktur mahasiswa sbb : NAMA, NIM, GENDER,
NILAI STRUKTUR DATA. Program dibuat dalam bentuk menu dengan
pilihan : INSERT DATA, HAPUS DATA, CETAK DATA, EXIT.
Ket :
INSER DATA : menyisipkan satu simpul pada akhir linked list
HAPUS DATA :menghapus satu simpul pada akhir linked list
CETAK DATA : mencetak seluruh isi linked list
EXIT : Keluar/selesai
Tampilan menu :
LIN. SINGLY LINKED LIST
==========================
1. INSERT DATA
2. HAPUS DATA
3. CETAK DATA
4. EXIT
Pilihan (1 – 4) :
C. DAFTAR PUSTAKA
Buku