• Tidak ada hasil yang ditemukan

Double Linked List Circular

N/A
N/A
Protected

Academic year: 2021

Membagikan "Double Linked List Circular"

Copied!
34
0
0

Teks penuh

(1)

PENGANTAR

PENGANTAR

-

- Double Linked

Double Linked List Circular adalah

List Circular adalah linked list dengan

linked list dengan menggunakan

menggunakan

pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang

pointer, dimana setiap node memiliki 3 field, yaitu 1 field pointer yang

menunjuk pointer berikutnya (

menunjuk pointer berikutnya (

next

next

), 1 field menunjuk pointer sebelumnya

), 1 field menunjuk pointer sebelumnya

((

prev

prev

), serta sebuah field yang berisi data untuk node tersebut.

), serta sebuah field yang berisi data untuk node tersebut.

-

- Double

Double Linked

Linked List

List Circular

Circular pointer

pointer

next

next

dan

dan

prev

prev

nya menunjuk ke

nya menunjuk ke

dirinya sendiri secara circular.

dirinya sendiri secara circular.

BENTUK NODE DLLC

BENTUK NODE DLLC

Pengertian: Pengertian:

Double

Double : : artinya artinya field field pointer-nya pointer-nya terdiri terdiri dari dari dua dua buah buah dan dan dua dua arah, arah, yaitu yaitu prev prev dan dan nextnext Linked

Linked List List : : artinya artinya node-node node-node tersebut tersebut saling saling terhubung terhubung satu satu sama sama lain.lain. Circular

Circular : : artinya artinya pointer pointer next next dan dan prev-nya prev-nya menunjuk menunjuk ke ke dirinya dirinya sendirisendiri

Ilustrasi Double Linked List Circular Ilustrasi Double Linked List Circular

Pointer Pointer next next

Menempati alamat memori tertentu Menempati alamat memori tertentu

data data Pointer Pointer prev prev A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44

(2)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(3)

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

-

- Setiap n

Setiap node pad

ode pada linked

a linked list mem

list mempunyai f

punyai field yang

ield yang berisi d

berisi data dan

ata dan pointer

pointer

ke node berikutnya &

ke node berikutnya & ke node sebelumnya

ke node sebelumnya

-

- Untuk

Untuk pembentukan

pembentukan node

node baru,

baru, mulanya

mulanya pointer

pointer

next

next

dan

dan

prev

prev

akan

akan

menunjuk ke dirinya sendiri.

menunjuk ke dirinya sendiri.

-

- Jika

Jika sudah lebih

sudah lebih dari

dari satu node,

satu node, maka

maka pointer

pointer

prev

prev

akan menunjuk ke

akan menunjuk ke

node sebelumnya, dan pointer

node sebelumnya, dan pointer

next

next

akan menunjuk ke node sesudahnya.

akan menunjuk ke node sesudahnya.

PEMBUATAN DOUBLE LINKED LIST

PEMBUATAN DOUBLE LINKED LIST CIRCULAR

CIRCULAR

Deklarasi node

Deklarasi node

Dibuat dari struct berikut ini:

Dibuat dari struct berikut ini:

typedef struct TNode{ typedef struct TNode{

int data; int data; TNode *next; TNode *next; Tnode *prev; Tnode *prev; }; };

Penjelasan:

Penjelasan:

-

- Pembuatan

Pembuatan struct

struct bernama

bernama

TNode

TNode

yang berisi 3 field, yaitu field data

yang berisi 3 field, yaitu field data

bertipe integer dan field next & prev yang bertipe pointer dari TNode

bertipe integer dan field next & prev yang bertipe pointer dari TNode

-

- Setelah p

Setelah pembuatan

embuatan struct, bu

struct, buat variabe

at variabel haed

l haed yang ber

yang bertipe pointe

tipe pointer dari

r dari

TNode yang berguna sebagai kepala linked list.

TNode yang berguna sebagai kepala linked list.

Pembentukan node baru

Pembentukan node baru

Digunakan keyword

Digunakan keyword

new

new

yang berarti mempersiapkan sebuah node baru

yang berarti mempersiapkan sebuah node baru

berserta alokasi memorinya, pointer

berserta alokasi memorinya, pointer

prev

prev

dan

dan

next

next

menunju ke dirinya sendiri.

menunju ke dirinya sendiri.

TNode *baru; TNode *baru;

baru = new TNode; baru = new TNode;

(4)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(5)

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

DOUBLE LINKED LIST

DOUBLE LINKED LIST CIRCULAR MENGGUNA

CIRCULAR MENGGUNAKAN HEAD

KAN HEAD

-

- Menggunakan

Menggunakan 1

1 pointer

pointer head

head

-

- Head

Head selalu

selalu menunjuk

menunjuk node

node pertama

pertama

Deklarasi Pointer Head

Deklarasi Pointer Head

Manipulasi linked list tidak bisa dilakukan langsung ke node yang dituju,

Manipulasi linked list tidak bisa dilakukan langsung ke node yang dituju,

melainkan harus

melainkan harus melalui node

melalui node pertama dalam

pertama dalam linked list.

linked list. Deklarasinya sebagai

Deklarasinya sebagai

berikut:

berikut:

TNode *head; TNode *head;

Fungsi Inisialisasi LinkedList

Fungsi Inisialisasi LinkedList

void 

void init(){init(){

head = NULL; head = NULL; }

}

Function untuk mengetahui kosong tidaknya

Function untuk mengetahui kosong tidaknya LinkedList

LinkedList

int

int isEmpty(){isEmpty(){

if(head == NULL) return 1; if(head == NULL) return 1; else return 0; else return 0; } }

PENAMBAHAN DATA

PENAMBAHAN DATA

Penambahan data di depan

Penambahan data di depan

Penambahan node baru akan dikaitan di node

Penambahan node baru akan dikaitan di node

paling depan,

paling depan,

namun pada saat

namun pada saat

NULL NULL head head A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44 head head

(6)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(7)

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

Pada prinsipnya adalah mengkaitkan data baru dengan

Pada prinsipnya adalah mengkaitkan data baru dengan

head

head

, kemudian

, kemudian

head

head

akan menunjuk pada data baru tersebut sehingga

akan menunjuk pada data baru tersebut sehingga

head

head

akan tetap selalu

akan tetap selalu

menjadi data terdepan.

menjadi data terdepan.

Dibutuhkan pointer

Dibutuhkan pointer

bantu

bantu

yang digunakan untuk menunjuk node terakhir

yang digunakan untuk menunjuk node terakhir

((

head->prev

head->prev

) yang akan digunakan untuk mengikat list dengan node

) yang akan digunakan untuk mengikat list dengan node

terdepan.

terdepan.

void 

void insertDepan(int databaru){insertDepan(int databaru){ TNode *baru, *bantu;

TNode *baru, *bantu; baru = new TNode; baru = new TNode;

baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; } } else { else { bantu = head->prev; bantu = head->prev; baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; head = baru; head = baru; head->prev = bantu; head->prev = bantu; bantu->next = head; bantu->next = head; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }

Ilustrasi:

Ilustrasi:

1.

1. List

List masih

masih kosong

kosong (head=NULL)

(head=NULL)

NULL NULL

head head

(8)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(9)

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

3.

3. Datang data

Datang data baru, misalnya

baru, misalnya 20

20

4.

4. Datang data

Datang data baru, misalnya

baru, misalnya 30

30

Penambahan data di belakang

Penambahan data di belakang

Penambahan data dilakukan

Penambahan data dilakukan

di belakang

di belakang, namun pada saat pertama kali data

, namun pada saat pertama kali data

langsung ditunjuk pada

langsung ditunjuk pada

head

head

-nya.

-nya.

Penambahan di belakang lebih sulit karena kita membutuhkan pointer

Penambahan di belakang lebih sulit karena kita membutuhkan pointer

bantu

bantu

untuk mengetahui data terbelakang, namun tidak diperlukan loop karena untuk

untuk mengetahui data terbelakang, namun tidak diperlukan loop karena untuk

baru baru bantu bantu 5 5 head head 20 20 baru baru 5 5 head head 20 20 baru baru 5 5 20 20 baru head baru head bantu bantu bantu bantu 5 5 20 20 head head bantu bantu 5 5 20 20 head head 30 30 baru baru 30 30

(10)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(11)

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom  void 

void insertBelakang (int databaru){insertBelakang (int databaru){

TNode *baru,*bantu; TNode *baru,*bantu; baru = new TNode; baru = new TNode;

baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; } } else { else { bantu=head->prev; bantu=head->prev; bantu->next = baru; bantu->next = baru; baru->prev = bantu; baru->prev = bantu; baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }

Ilustrasi:

Ilustrasi:

1.

1. List

List masih

masih kosong

kosong ((

head=NULL

head=NULL

))

2.

2. Masuk

Masuk data

data baru, misalnya

baru, misalnya 5

5

3.

3. Datang data

Datang data baru, misalnya 20

baru, misalnya 20 (penambahan di

(penambahan di belakang)

belakang)

head head NULL NULL 5 5 head baru head baru 5 5 head head 20 20 baru baru

(12)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(13)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

4.

4. Datang data

Datang data baru, misal 25

baru, misal 25 (penambahan di belakang)

(penambahan di belakang)

“Bagaimana dengan penambahan di tengah?”

“Bagaimana dengan penambahan di tengah?”

Function untuk menampilkan isi linked list

Function untuk menampilkan isi linked list

baru baru 20 20 head head 5 5 20 20 head head 5 5 25 25 baru baru 20 20 head head 5 5 25 25 baru baru bantu bantu 20 25 20 25 baru baru 5 5 head head bantu bantu

(14)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(15)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

-

- Function di

Function di atas digun

atas digunakan untu

akan untuk menam

k menampilkan sem

pilkan semua isi list,

ua isi list, di mana

di mana

linked list ditelusuri satu-persatu dari awal node sampai akhir node.

linked list ditelusuri satu-persatu dari awal node sampai akhir node.

Penelusuran ini dilakukan dengan menggunakan suatu variabel node

Penelusuran ini dilakukan dengan menggunakan suatu variabel node

bantu, karena pada prinsipnya variabel node head yang menjadi tanda

bantu, karena pada prinsipnya variabel node head yang menjadi tanda

awal list

awal list tidak boleh berubah/berganti posisi.

tidak boleh berubah/berganti posisi.

-

- Penelusuran dilakukan

Penelusuran dilakukan terus

terus sampai

sampai node

node terakhir ditemukan

terakhir ditemukan menunjuk

menunjuk

ke

ke head lagi.

head lagi. Jika belum

Jika belum sama dengan

sama dengan head, maka

head, maka node bantu

node bantu akan

akan

berpindah ke node selanjutnya dan membaca isi datanya dengan

berpindah ke node selanjutnya dan membaca isi datanya dengan

mengguna

menggunakan field

kan field next sehingga dapat saling

next sehingga dapat saling berkait.

berkait.

-

- Jika

Jika head

head masih

masih NULL

NULL berarti

berarti data

data masih

masih kosong!

kosong!

PENGHAPUSAN DATA

PENGHAPUSAN DATA

Function untuk menghapus data di depan:

Function untuk menghapus data di depan:

void 

void hapusDepan (){hapusDepan (){

TNode *hapus,*bantu; TNode *hapus,*bantu; int d; int d; if (isEmpty()==0){ if (isEmpty()==0){ if(head->next != head){ if(head->next != head){ hapus = head; hapus = head; d = hapus->data; d = hapus->data; bantu = head->prev; bantu = head->prev; head = head->next; head = head->next;

(16)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(17)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

-

- Function

Function di

di atas

atas akan

akan menghapus

menghapus data

data

teratas (pertama)

teratas (pertama)

yang ditunjuk

yang ditunjuk

oleh head pada linked list

oleh head pada linked list

-

- Penghapusa

Penghapusan node tidak

n node tidak boleh dilakuka

boleh dilakukan jika keadaa

n jika keadaan node seda

n node sedang

ng

ditunjuk oleh pointer, maka harus ditampung dahulu pada pointer hapus

ditunjuk oleh pointer, maka harus ditampung dahulu pada pointer hapus

dan barulah kemudian menghapus pointer hapus dengan menggunakan

dan barulah kemudian menghapus pointer hapus dengan menggunakan

perintah delete.

perintah delete.

-

- Jika

Jika head

head masih

masih NULL

NULL maka

maka berarti

berarti data

data masih

masih kosong!

kosong!

Function untuk menghapus node terbelakang

Function untuk menghapus node terbelakang

B B C C DD head head head head A B C D A B C D bantu bantu hapus hapus bantu bantu

(18)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(19)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

head = NULL; head = NULL; } } cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";

} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n"; }

}

-

- Diperlukan

Diperlukan pointer

pointer

bantu

bantu

yang mengikuti pointer

yang mengikuti pointer

hapus

hapus

yang berguna

yang berguna

untuk menunjuk ke node sebelum terakhir.

untuk menunjuk ke node sebelum terakhir.

-

- Kemudian

Kemudian pointer

pointer

hapus

hapus

ditunjukkan ke node setelah pointer bantu,

ditunjukkan ke node setelah pointer bantu,

kemudian hapus pointer hapus dengan perintah delete.

kemudian hapus pointer hapus dengan perintah delete.

A B C D A B C D head head bantu bantu A B C D A B C D head

head hapushapus

A

A B B C C DD

bantu bantu

(20)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(21)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

DOUBLE LINKED LIST MENGGUNAKAN HEAD dan TAIL

DOUBLE LINKED LIST MENGGUNAKAN HEAD dan TAIL

-

- Dibutuhkan

Dibutuhkan dua

dua buah

buah variabel

variabel pointer:

pointer:

head

head

dan

dan

tail

tail

--

Head

Head

akan selalu menunjuk pada node pertama, sedangkan

akan selalu menunjuk pada node pertama, sedangkan

tail

tail

akan

akan

selalu menunjuk pada node terakhir.

selalu menunjuk pada node terakhir.

Inisialisasi LinkedList DLLC

Inisialisasi LinkedList DLLC

TNode *head, *tail; TNode *head, *tail;

Fungsi Inisialisasi LinkedList DLLC

Fungsi Inisialisasi LinkedList DLLC

void 

void init(){init(){

head = NULL; head = NULL; tail = NULL; tail = NULL; } }

Function untuk mengetahui kosong tidaknya

Function untuk mengetahui kosong tidaknya LinkedList

LinkedList

int

int isEmpty(){isEmpty(){

if(tail == NULL) return 1; if(tail == NULL) return 1; else return 0; else return 0; NULL NULL head head tail tail A B C D A B C D F FFFFF11 FFFFFF22 FFFFFF33 FFFFFF44 head tail head tail

(22)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(23)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom  baru->data = databaru; baru->data = databaru; baru->next = baru; baru->next = baru; baru->prev = baru; baru->prev = baru; if(isEmpty()==1){ if(isEmpty()==1){ head=baru; head=baru; tail=baru; tail=baru; head->next = head; head->next = head; head->prev = head; head->prev = head; tail->next = tail; tail->next = tail; tail->prev = tail; tail->prev = tail; } } else { else { baru->next = head; baru->next = head; head->prev = baru; head->prev = baru; head = baru; head = baru; head->prev = tail; head->prev = tail; tail->next = head; tail->next = head; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }

Ilustrasi:

Ilustrasi:

(24)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(25)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

3.

3. Datang data

Datang data baru, misalnya

baru, misalnya 20

20 (di depan)

(di depan)

Penambahan node di belakang

Penambahan node di belakang

Penambahan node di belakang akan selalu dikaitkan dengan tail dan kemudian

Penambahan node di belakang akan selalu dikaitkan dengan tail dan kemudian

node baru tersebut akan menjadi tail

node baru tersebut akan menjadi tail

5 5 head head 20 20 baru baru 5 5 head head 20 20 baru baru 5 5 20 20 baru head baru head tail tail tail tail tail tail

(26)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(27)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

tail->next = head; tail->next = head; head->prev = tail; head->prev = tail; } } cout<<"Data masuk\n"; cout<<"Data masuk\n"; } }

Ilustrasi:

Ilustrasi:

1.

1. List

List masih

masih kosong

kosong ((

head=NULL

head=NULL

))

2.

2. Masuk

Masuk data

data baru, misalnya

baru, misalnya 5

5

3.

3. Datang data

Datang data baru, misalnya 20

baru, misalnya 20 (penambahan di

(penambahan di belakang)

belakang)

head head NULL NULL 5 5 head

head baru baru tailtail

5

(28)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(29)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

“Bagaimana dengan penambahan di tengah?”

“Bagaimana dengan penambahan di tengah?”

Function untuk menampilkan isi linked list

Function untuk menampilkan isi linked list

void 

void tampil(){tampil(){

TNode *bantu; TNode *bantu; bantu = head; bantu = head; if(isEmpty()==0){ if(isEmpty()==0){ do{ do{ cout<<bantu->data<<" "; cout<<bantu->data<<" "; bantu=bantu->next; bantu=bantu->next; }while(bantu!=tail->next); }while(bantu!=tail->next); cout<<endl; cout<<endl;

} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n";

20 20 head head 5 5 2525 baru

(30)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(31)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom  }

}

cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";

} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n"; } } head head A B C D A B C D B B C C DD head head tail tail hapus hapus head head A B C D A B C D tail tail hapus hapus tail tail

(32)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

(33)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom  d = hapus->data; d = hapus->data; tail = tail->prev; tail = tail->prev; tail->next = head; tail->next = head; head->prev = tail; head->prev = tail; delete hapus; delete hapus; } else { } else { d = head->data; d = head->data; head = NULL; head = NULL; tail = NULL; tail = NULL; } } cout<<d<<" terhapus\n"; cout<<d<<" terhapus\n";

} else cout<<"Masih kosong\n"; } else cout<<"Masih kosong\n";

(34)

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

Titles you can't find anywhere else

Try Scribd FREE for 30 days to access over 125 million titles without ads or interruptions!

Start Free Trial Cancel Anytime.

HANDOUT STRUKTUR DATA HANDOUT STRUKTUR DATA PRODI

PRODI TEKNIK TEKNIK INFORMATIKA INFORMATIKA UKDW UKDW by by Antonius Antonius Rachmat Rachmat C, C, S.Kom S.Kom 

Function untuk menghapus semua elemen

Function untuk menghapus semua elemen LinkedList

LinkedList

void 

void clear(){clear(){

TNode *bantu,*hapus; TNode *bantu,*hapus; if (isEmpty()==0){ if (isEmpty()==0){ bantu = head; bantu = head; while(bantu->next!=head){ while(bantu->next!=head){ hapus = bantu; hapus = bantu; bantu = bantu->next; bantu = bantu->next; delete hapus; delete hapus; } } head = NULL; head = NULL; } } } }

Referensi

Dokumen terkait

Kondisi demografi dari para peserta anggota KWK Seroja dapat digambarkan bahwa 68% anggota KWK Seroja berada pada usia produktif, 91% adalah ibu rumah tangga penuh, 73%

Hasil dari penelitian ini diharapkan dapat meningkatkan pengetahuan serta wawasan tenaga medis dan masyarakat umum mengenai distribusi karakteristik pasien PJB (usia

Langkah selanjutnya dalam pengaturan jadwal kuliah adalah mengatur ruangan kelas atau matakuliah per-semester, mangatur dosen yang mengajar, lama perkuliahan, dan

Visi ini dijabarkan dalam misi fakultas hukum UNS, salah satu di antaranya adalah menyelenggarakan pendidikan tinggi hukum yang dilandasi prinsip relevansi,

Katuk (Sauropus androgynus L Merr) diketahui mengandung karotenoid, vitamin E, vitamin C, protein, dan komponen sterol. Penelitian ini bertujuan untuk mempelajari pengaruh

Mardiasmo (2002:122) menjelaskan tujuan dari penilaian kinerja adalah untuk mendeskripsikan strategi lebih baik; mengukur secara berimbang kinerja keuangan dan

Selain menunjukkan bahwa kedua bangsa sapi ini mempunyai respon yang sama terhadap lingkungan, hasil ini juga menunjukkan bahwa tingkat konsumsi pakan (% BB) lebih mudah

Eropa merupakan anggota konsumen terbesar lada putih di Dunia, dengan total impor sebesar 30 persen dari total impor lada putih dunia, kelompok negara - negara Eropa yang