Anda di halaman 1dari 5

Lab Algoritma dan Pemrograman 2

Pertemuan XII Double Linked List


Mahasiswa diharapkan bisa :
1 2 Mengerti algoritma untuk insert kiri, insert kanan, dan insert tengah dari sebuah Double Linked List. Menerapkan algoritma Double Linked List ke dalam program.

Materi : Double Linked List

Linked List merupakan bentukan struktur data yang mengelola atau mengalokasikan memori secara dinamis dimana sejumlah strukture saling berkait menggunakan pointer. Contoh rogram untuk Dicoba Contoh rogram !"".1 #include #include #include #include #include $stdio.h% $conio.h% $stdlib.h% $malloc.h% $ctype.h%

struct simpul & int data' struct simpul (le)t' struct simpul (right' * +oid +oid +oid +oid +oid +oid +oid +oid +oid insert,kiri-.' insert,tengah-.' insert,kanan-.' delete,kiri-.' delete,tengah-.' delete,kanan-.' pesan1-.' pesan2-.' tampil-.' simpul simpul simpul simpul (kiri/01LL (kanan / 01LL' (penunjuk' (p'

struct struct struct struct int 2'

+oid main-. & int pilih' menu : clrscr-.' Lab Algoritma dan Pemrograman 2

Lab Algoritma dan Pemrograman 2 goto2y-23,14.'puts-5Double Linked List5.' goto2y-23,13.'puts-5617. "nsert 8 "nput Link List5.' goto2y-23,19.'puts-5627. Delete 8 :apus Linked List5.' goto2y-23,1;.'puts-56<7. =how 8 >ampil 5.' goto2y-23,1?.'puts-5647. @uit 8 Aeluar 5.' goto2y-23,2B.'print)-5 pilih : 5.' scan)-5Ci5,Dpilih.' switch-pilih. & case 1: print)-$Masukkan sebuah nilai integer : %.' scan)-$Ci%, D2.' i)-kiri//01LL. & insert,kiri-.' * else & penunjuk / kiri' i)-2 E penunjuk8Fdata. & insert,kiri-.' * else & while-penunjuk8Flink G/ 01LL. & penunjuk/penunjuk8Fright' * i)-2Fpenunjuk8Fdata. & insert,kanan-.' * else & insert,tengah-.' * * * getch-.' break' case 2: print)-$HnMasukkan bilangan yang mau dihapus : %.' scan)-$Ci%, D2.' i)-kiri // 01LL. & pesan1-.' goto menu' * else & penunjuk / kiri' i)-2 // penunjuk8Fdata. & delete,kiri-.' * else & penunjuk / kanan' i)-2 // penunjuk8Fdata. & delete,kanan-.' * else & penunjuk / kanan8Fle)t' while-2 G/ penunjuk8Fdata. & i)-penunjuk // kiri. & pesan2-.' goto menu' * else & penunjuk / penunjuk8Fle)t' * delete,tengah-.' * * Lab Algoritma dan Pemrograman 2

Lab Algoritma dan Pemrograman 2 * * getch-.' break' case <: tampil-.' getch-.' break' case 4: e2it-B.' break' * goto menu' * IIend o) main-. +oid insert,kiri-. & p / -struct simpul (.malloc-siJeo)-struct simpul..' p8Fdata / 2' i)-kiri G/ 01LL. & p8Flink / kiri' kiri8Fle)t / p' kiri / p' p8Fle)t / 01LL' print)-$Hninsert kiriKKK..%.' * else & p8Fle)t / 01LL' p8Fright / 01LL' kiri / p' kanan / p' print)-$Hnbikin simpul baru%.' * * +oid insert,tengah-. & struct simpul (L' p / -struct simpul (.malloc-siJeo)-struct simpul..' p8Fdata / 2' i)-kiri G/ 01LL. & L / kiri' while-L8Fdata E 2. & L / L8Fright' * p8Fright / L' p8Fle)t / L8Fle)t' L8Fle)t8Fright / p' L8Fle)t / p' print)-$Hninsert tengah KK..%.' * else & p8Fle)t / 01LL' p8Fright / 01LL' kiri / p' kanan / p' print)-$Hnbikin simpul baru%.' * Lab Algoritma dan Pemrograman 2

Lab Algoritma dan Pemrograman 2 * +oid insert,kanan-. & IIbuat prosedur insert,kanan-. * +oid delete,kiri-. & IIbuat prosedur delete,kiri-. * +oid delete,tengah-. & IIbuat sendiri lah * +oid delete,kanan-. & IIterusin sendiri * +oid tampil-. & i)-kiri G/ 01LL. & p / kiri' while-p G/ 01LL. & 2 / p8Fdata' p / p8Fright' print)-$Ci 8F %, p8Fdata.' * * * +oid pesan1-. & goto2y-23,13.' te2tcolor-MNLLOPQRL"0A.' & cprint)-$Link List masih kosongKKK.%.' * getch-.' * +oid pesan2-. & goto2y-23,13.' te2tcolor-MNLLOPQRL"0A.' & cprint)-$Data tidak ditemukan dalam Link ListKKKK..%.' * getch-.' *

Latihan =oal dan >ugas


1. Cobalah program !"".1 di atas -Double link list. dan buat prosedur untuk insert,kanan-. G

Se)erence
1 2 < Diktat Struktur Data, :ari =oesanto, "r Diktat Lab Algoritma dan Struktur Data 2 http:IIwww.google.com

Lab Algoritma dan Pemrograman 2

Lab Algoritma dan Pemrograman 2 0"M : KKKKKKKKKK >ugas : KKKKKKK.KKK KKKKKKKKKKKKKKK. KKKKKKKKKKKKKKK.

0ama : KKKKKKKKK.. KKKKKKKKKKKKKK..

ara)ICap engajar -KKKKKKKKKKKKKK...

Lab Algoritma dan Pemrograman 2