menghapus simpul dan travelsal

15
1 Menghapus Simpul Menghapus Simpul dan Travelsal dan Travelsal

Upload: knut

Post on 22-Jan-2016

48 views

Category:

Documents


2 download

DESCRIPTION

Menghapus Simpul dan Travelsal. Pengantar. Penggunaan variabel statis(misalnya Larik) yang tidak begitu efisien dalam pemrograman yang membutuhkan jumlah data yang dinamis (berubah). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Menghapus Simpul dan Travelsal

1

Menghapus Simpul Menghapus Simpul dan Travelsaldan Travelsal

Menghapus Simpul Menghapus Simpul dan Travelsaldan Travelsal

Page 2: Menghapus Simpul dan Travelsal

2

Pengantar

• Penggunaan variabel statis(misalnya Larik) yang tidak begitu efisien dalam pemrograman yang membutuhkan jumlah data yang dinamis (berubah).

• Variabel Dinamis adalah salah satu solusi untuk melakukan efisiensi terhadap penggunaan memori, yaitu ketika data tidak dibutuhkan, maka data itu harus dihapus sekaligus membebaskan memori

Page 3: Menghapus Simpul dan Travelsal

3

Del(Q)

A B C D E

A B C D EQ.Depan =2

Q.Belakang =5

Del(Q) A B C D E Q.Depan =3

Q.Belakang =5

Penghapusan terhadap elemen dalam Antrian, yang menggunakan variabel statis hanya melakukan perubahan terhadap nilai variabel depan, dengan demikian nilai dari Q[1] s/d Q[n] masih ada dalam memori

Page 4: Menghapus Simpul dan Travelsal

4

Menghapus (Dispose)• Penghapusan simpul dapat

dilakukan terhadap senarai berantai, dimana simpul-simpul yang dihapus adalah simpul yang berada di awal, di akhir maupun yang berada di tengah.

• Untuk menghapus simpul digunakan perintah DISPOSE(Var Pointer)

• Misalnya Dispose (bantu) Dispose (Akhir)

Page 5: Menghapus Simpul dan Travelsal

5

Menghapus Simpul Awal

P B M K I M A

Awal

Simpul yg akan dihapus

Hapus

Page 6: Menghapus Simpul dan Travelsal

6

Menghapus Simpul Awal

B M K I M A

Awal

Simpul yg akan dihapus

Hapus

Page 7: Menghapus Simpul dan Travelsal

7

Menghapus Simpul Awal

M K I M A

Awal

Hapus

If awal = nilThen List kosongElse Hapus =awal Awal = Hapus^.next Dispose(Hapus)

Fi

Hapus = awal

awal = awal^.next Dispose(hapus)

Page 8: Menghapus Simpul dan Travelsal

8

Menghapus Simpul Akhir

P B M K I M A

Awal

Simpul yg akan dihapus

Hapus

Ctt : untuk bisa melakukan penghapusan simpul yang paling akhir, maka linked list harus memiliki paling sedikit 2 buah simpul

Bantu

While bantu^.next^.next<> nil do

Bantu = bantu^.Next

E-while

Bantu = awal

Hapus = bantu^.next

Dispose(hapus)

Bantu^.next = nil

Page 9: Menghapus Simpul dan Travelsal

9

Menghapus Simpul Tengah

10 20 30 40 50

Awal

Simpul yg akan dihapus

Ctt : untuk bisa

harus memiliki paling sedikit 3 buah simpul

BantuWhile bantu^.next^.info<>key do

Bantu = bantu^.Next

E-while

Bantu = awal

Hapus = bantu^.next

Dispose(hapus)

Read key (key=40)Hapus

Bantu^.next = hapus^.next

Page 10: Menghapus Simpul dan Travelsal

10

Travelsal/mengunjungi simpul

1. Mencetak isi semua simpul

P B M K I M A

Awal

Bantu Bantu = awal

While bantu <> nil do

Write Bantu^.info

Bantu= bantu ^.next

E-while

Page 11: Menghapus Simpul dan Travelsal

11

Travelsal/mengunjungi simpul

1. Mencetak isi semua simpul

P B M K I M A

Awal

Bantu

While bantu <> nil do

Write Bantu^.info

Bantu= bantu ^.next

E-while

Page 12: Menghapus Simpul dan Travelsal

12

Travelsal/mengunjungi simpul

1. Mencetak isi semua simpul

P B M K I M A

Awal

Bantu

While bantu <> nil do

Write Bantu^.info

Bantu= bantu ^.next

E-while

Bantu Bantu Bantu Bantu Bantu

Page 13: Menghapus Simpul dan Travelsal

13

Travelsal/mengunjungi simpul

2. Mencari elemen dalam List

P B M K I M A

Awal

Bantu

While bantu <> nil and temu = false do

If key = bantu^.info then

temu = true

fi

Bantu= bantu ^.next

E-while

Bantu Bantu Bantu Bantu Read key, Bantu = awal, temu = false

If temu then

Data ditemukan

Else

Data tidak ditemukan

fi

Key= I

Page 14: Menghapus Simpul dan Travelsal

14

quiz

60 20 70 10 50

awal

Buat algoritma untuk mencari data terbesar dalam list

Page 15: Menghapus Simpul dan Travelsal

15

Mencari rata-rata

Bantu = awalWhile bantu <>nil do Total = total + Bantu^.info jumlah = jumlah + 1 bantu = bantu^.nextE-whileRata = total/jumlah