• Tidak ada hasil yang ditemukan

Staffsite STMIK PPKIA Pradnya Paramita 4849d two way list

N/A
N/A
Protected

Academic year: 2017

Membagikan "Staffsite STMIK PPKIA Pradnya Paramita 4849d two way list"

Copied!
5
0
0

Teks penuh

(1)

SENARAI BERANTAI DUA ARAH (DOUBLE LINKED LIST)

Senarai Berantai Dua Arah (Double Linked List) merupakan bentuk pengembangan Senarai Berantai (Link List) yang tidak hanya memiliki pointer yang menunjuk ke elemen berikutnya (Next Element), tapi juga memiliki pointer yang menunjuk ke elemen sebelumnya (Prev Element). Sehingga setiap node/simpul dalam double linked list dibagi dalam 3 medan yaitu:

Medan penyambung ke elemen berikutnya (Next) Medan penyambung ke

elemen sebelumnya (Prev) Info

Model Logika Head

Ika Ira Ida

Irna

Model Fisik

Alm Prev Info Next 1 2 Ida 0 2 5 Ira 1 3 0 Irna 5 4 5 3 Ika 2 Head

3

PENDEKLARASIAN SIMPUL (NODES)

typedef struct nodestr *node;

struct nodestr {

int info;

node prev, next; };

node head, search, last, temp;

Operasi pada Double Link List

1. Traversing

(2)

2. Inserting

Seperti halnya single linked list, operasi inserting dalam double linked list juga dibedakan dalam tiga posisi penyisipan yaitu: sebagai elemen pertama (di awal list), sebagai elemen terakhir, dan di tengah list.

2.1 Sebagai Elemen Pertama / Di Awal List

Algoritma Menyisipkan Elemen Pada Awal List

InsertFirst_DLL(Head, X) Malloc(Temp);

Temp->Info = X; Temp->Prev = NULL;

If (Head = NULL) Then Temp->Next = NULL Else Begin

Temp->Next = Head; Head->Prev = Temp; End;

Head = Temp; Return Return

2.2 Penyisipan elemen sebagai elemen terakhir (di akhir list)

Algoritma menyisipkan elemen di akhir list

INSERTLAST_DLL(HEAD, X) Malloc(Temp);

Temp->Next = NULL;

If (Head = NULL) Then Temp->Prev = NULL; Head = Temp;

Else Begin

P = Head;

While (P->Next != NULL)Do {cari alm elemen terakhir} P = P->Next;

Eofwhile

P->Next = Temp; Temp->Prev = P; Endif;

(3)

2.3 Menyisipkan elemen sebagai elemen ke N yang baru (1 < N < elemen)

Algoritma Menyisipkan di tengah Link List

InsertN_DLL(Head, X, N)

Malloc(Temp); Temp->Info = X;

FindK(Head, N-1, P); //Cari alamat elemen ke N-1

If P = NULL

Write(‘Elemen ke : ‘,N-1,’tidak ada’); Free(Temp);

Else

Temp->Next = P->Next; Temp->Prev = P;

P->Next->Prev = Temp; P->Next = Temp;

Endif Return

3. Deleting

3.1 Hapus elemen pertama

Algoritma Deleting Elemen Pertama Pada Double Link List

Head

Irna Ika Ira

P 3 2

4

Ida

DeleteFirst_DLL(Head) If (Head = NULL)

Write(‘List Kosong !’) Else

P = Head; { Step 1 }

If (P->Next != NULL) { List Lebih Dari 1 Elemen } Head = P->Next; { Step 2 }

Head->Prev = NULL; { Step 3 } Else

Head = NULL; { List Hanya 1 Elemen} EndIf

(4)

SENARAI BERANTAI DENGAN KEPALA DAN EKOR

Senarai berantai dengan kepala dan ekor adalah senarai berantai yang sering digunakan dalam mensimulasikan antrian (QUEUE)

Model Logika

Head

Ika Ida

Tail Ira

(5)

SENARAI BERANTAI DUA ARAH BERPUTAR

CI RCULAR D OUBLE LI N K LI ST ( CD LL)

Senarai Berantai Dua Arah Berputar (circular double link list) merupakan bentuk pengembangan Senarai Berantai Dua Arah (double link list), dimana pointer Next Element Terakhir menunjuk Elemen Pertama dan Prev Elemen Pertama menunjuk Elemen Terakhir, sehingga tidak ada pointer yang bernilai NULL, kecuali list dalam keadaan kosong

Model Logika

Head

Irna

Model Fisik

Alm Prev Info Next 1 2 Ida 3 2 5 Ira 1 3 1 Irna 5 4 5 3 Ika 2 Head

Irna Ika Ira Ida

Head 3

Circular double linked list dengan 1 elemen Circular double linked list dengan 4 elemen

Operasi pada CDLL 1. Operasi Travesing

Algoritma traversing sama dengan algoritma traversing pada circular single link list 2. Operasi Inserting

2.1 Algoritma Inserting Elemen Di Awal Circular Double Link List InsertFirst_CDLL(Head, X)

Malloc(Temp); Temp->Info = X; If (Head = NULL)

Temp->Next = Temp; Temp->Prev = Temp;

Else

Referensi

Dokumen terkait

Erick Juriara E, M.Si Pembina Utama Muda NIP.. Erick Juriara E., M.Si Pembina Utama

Selain digunakan untuk memberikan latihan simulasi ketakutan yang biasa dialami oleh anak – anak, terdapat perangkat lain pada board game yang akan digunakan untuk

Double Link list selalu memiliki pointer petunjuk yang selalu menunjuk pada awal dari list yang disebut Head.. Double Link list juga selalu memiliki pointer petunjuk

Tujuan dari penelitian ini adalah untuk memaparkan dan menjelaskan (1) maksim implikatur percakapan(2) makna implikatur percakapan.Sumber data adalah dialog tentang One-

Kesimpulan dari penelitian ini adalah terdapat pola komunikasi pada Ritual Haul Habib Ali al Habsyi yang di dalam pola tersebut menyangkut perilaku dari komunikator dalam

Berdasarkan hasil uji antiseptik dengam metode replika didapatkan hasil bahwa gel ekstrak daun cabe rawit memiliki efektivitas sebagai gel antiseptik dilihat dari

Justru siraman eksudat akar dari segawe menunjukkan pengaruh positif terhadap pertumbuhan tanaman kakao yang ditunjukkan pada peningkatan jumlah daun, tinggi

* Senarai berantai ganda (doubly linked-list) atau senarai dua arah (two-way list), setiap simpulnya mempunyai 2 buah pointer, dengan pointer pertama menunjuk