Anda di halaman 1dari 7

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII

LINKEDLIST

Pertemuan5 Waktu :135menit :Mahasiswamampumenjelaskanteknikpemrograman menggunakanLinkedList. :SingleLinkedList,LIFO,FIFO TujuanPembelajaran SubstansiMateri No


1

TabulasiKegiatanPerkuliahan Tahap Kegiatan


Pendahuluan 1. 2. Penyajian Materi 1. 2. 3. 1. 2. 3.

KegiatanPengajar
Membukapertemuan Mengulangmateripertemuan sebelumnya SingledLinkedList Lastinfirstout Firstinfirstout Menyimpulkanmateripertemuan Memberikantugaskecil Menutuppertemuan

Kegiatan Mahasiswa
Menyimak Bertanya Menyimak Bertanya Menjawab Pertanyaan Menyimak

Media& Alat
PapanTulis

Waktu
20Menit

PapanTulis

80Menit

Penutup

Papantulis

35Menit

MAT ERIKULIAH SingleLinkedList

Gambar berikut menunjukan sebuah data terletak pada sebuah lokasi memory. Tempat yangdisediakanpadasuatuareamemorytertentuuntukmenyimpandatadikenaldengan sebutan node / simpul. Pada setiap node memiliki pointer(penunjuk) yang menunjuk ke simpul berikutnya sehingga terbentuk suatu untaian dan dengan demikian hanya diperlukan sebuah variable pointer. Susunan berupa untaian ini disebut dengan Single LinkedList.Niltidakmemilikinilaiapapun.Setiaplinkedlistpadaakhirnyaakanmenunjuk keNil.
V3/20092010 1

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII
Memory P 0100 0200 0300 FFFF Aku Aku Belajar Pointer NIL

LINKEDLIST

DalampembuatanSingleLinkedListdapatmenggunakan2Metoda: LIFO(LastInFirstOut) LIFO adalah suatu metoda pembuatan Linked List dimana data yang masuk paling akhir adalah data yang keluar paling awal. Hal ini dapat dianalogikan dengan menumpukan barang pada kehidupan seharihari. Pembuatan simpul pada suatu linked list disebut dengan istilah INSERT. Jika linked list dibuat dengan Metoda LIFO maka penambahan/insertsimpuldilakukandiBELAKANG. ProcedureInsert Istilah INSERT berarti menambahkan sebuah simpul baru ke dalam suatu linked list. Berikut adalah deklarasi tipe data dan variabel yang dapat digunakan sebagai deklarasi awaldanpenggalanprocedureinsert.
V3/20092010 2

LIFO(LastInFirstOut),aplikasinya:Stack(Tumpukan) FIFO(FirstInFirstOut),aplikasinya:Queue(Antrian)

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII

LINKEDLIST

Type Point=^RecPoint; RecPoint=Record Isi:TipeData; Next:Point; End; Var Head,Tail,Now:Point;

ProcedureINSERT(elemen:TipeData); VarNow:Point; Begin New(Now); Now^.Isi:=Elemen; IfHead=NilThen Now^.Next:=Nil; Else Now^.Next:=Head; Head:=Now; End;

FirstInFirstOut FIFO adalah suatu metoda pembuatan Linked List dimana data yang masuk paling awal adalahdatayangkeluarpalingawaljuga.JikalinkedlistdibuatdenganmenggunakanFIFO, makaterjadipenambahan/Insertsimpuldidepan.

V3/20092010 3

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII
ProcedureINSERT(elemen:TipeData); VarNow:Point; Begin New(Now); IfHead=NilThen Head:=Now; Else Tail^.Next:=now; Tail:=Now; Tail^.Next:=Nil; Now^.Isi:=Elemen; End;

LINKEDLIST

ProceduredanfunctionLinkedListlainnya Selain procedure insert diatas, pada linked list juga masih terdapat procedure serta functionlainnya.Dibawahinidiberikanprocedureproceduresertafunctionumumdalam linkedlist. Create Membuat sebuah linked list yang baru dan masih kosong. Procedure ini wajib dipanggiluntukmenggunakanlinkedlist.
V3/20092010 4 ProcedureCreate; Begin Head:=Nil; Tail:=Nil; End;

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII

LINKEDLIST

Empty Functionuntukmenentukanapakahlinkedlistkosongatautidak. FindFirst Mencarielemenpertamadarilinkedlist FindNext MencarielemensesudahelemenyangditunjukNow


ProcedureFind_Next; Begin IfNow^.Next<>Nilthen Now:=Now^.next; End; ProcedureFind_First; Begin Now:=Head; End; FunctionEmpty:Boolean; Begin Ifhead=nilthen Empty:=true else Empty:=false; End;

Retrieve Mengambil elemen yang ditunjuk oleh now. Elemen tersebut lalu ditampung pada suatuvariabel,dalampotonganprocedureiniditampungdalamvariabelr.
ProcedureRetrieve(varr:TipeData); Begin R:=Now^.Isi; End; V3/20092010 5

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII

LINKEDLIST

Update Mengubah elemen yang ditunjuk oleh now dengan isi dari suatu variabel (dalam contohinidigunakanvariabelu). DeleteNow Menghapuselemenyangditunjukolehnow.Jikayangdihapusadalahelemenyang pertamadarilinkedlist(head),makaheadakanberpindahkeelemenberikutnya.
V3/20092010 6 ProcedureDeleteNow; Varx:point; Begin IfNow<>Headthen Begin X:=head; Whilex^.next<>nowdo X:=x^.next; X^.next:=now^.next; End Elsehead:=head^.next; Dispose(now); Now:=head; End; ProcedureUpDate(u:TipeData); Begin Now^.Isi:=U; End;

DIKTATKULIAH ALGORITMAdanSTRUKTURDATAII

LINKEDLIST

DeleteHead Menghapus elemen yang ditunjuk oleh head. Head akan berpindah ke elemen sesudahnya. Clear Untukmenghapuslinkedlistyangsudahada.Wajibdilakukanbilainginmengakhiri programyangmenggunakanlinkedlist.Jikatidakadadatadata yangdialokasikan kememorypadaprogramsebelumnyaakantetaptertinggaldidalammemory.
ProcedureClear; Begin Whilehead<>nildo Begin Now:=head; Head:=head^.next; Dispose(now); End; End; ProcedureDeleteHead; Begin Ifhead<>nilthen Begin Now:=Head; Head:=Head^.Next; Dispose(Now); Now:=Head; End; End;

V3/20092010 7