Skema traversal untuk list linier

Inggriani Liem : Algoritma dan Pemrograman Prosedural Bagian II, Jurusan Teknik Informatika - ITB 8_LIST LINIER.docList Linier - 61603 9:46 2 Biasanya list linier paling sederhana digambarkan dengan ilustrasi sebagai berikut

II. Skema traversal untuk list linier

List adalah koleksi objek, yang terdiri dari sekumpulan elemen. Seringkali diperlukan proses terhadap setiap elemen list dengan cara yang sama. Karena itu salah satu primitif operasi konsultasi dasar pada struktur list adalah traversal, yaitu “mengunjungi” setiap elemen list untuk diproses. Karena definisi list linier, urutan akses adalah dari elemen pertama sampai dengan elemen terakhir, maka traversal list secara natural dilakukan dari elemen pertama, suksesornya, dan seterusnya sampai dengan elemen terakhir. Skema traversal yang dipakai adalah skema yang telah dipelajari pada Bagian I. Procedure SKEMAListTraversal1 Input L : List { I.S. List L terdefinisi , mungkin kosong } {F.S. semua elemen list L dikunjungi dan telah diproses } { Traversal sebuah list linier . Dengan MARK, tanpa pemrosesan khusus pada list kosong } Kamus: P : address {address untuk traversal , type terdefinisi} procedure Proses Input P : address {pemrosesan elemen beraddress P } procedure Inisialisasi { aksi sebelum proses dilakukan } procedure Terminasi { aksi sesudah semua pemrosesan elemen selesai } Algoritma : Inisialisasi P ← FirstL while P ≠ Nil do Proses P P ← NextP Terminasi List dengan 3 elemen First List Kosong First Inggriani Liem : Algoritma dan Pemrograman Prosedural Bagian II, Jurusan Teknik Informatika - ITB 8_LIST LINIER.docList Linier - 61603 9:46 3 Procedure SKEMAListTraversal2 Input L: List { I.S. List L terdefinisi , mungkin kosong } {F.S. semua elemen list L dikunjungi dan telah diproses } { Traversal sebuah list linier yang diidentifikasi oleh elemen pertamanya L} {Sekam sekuensial dengan MARK dan pemrosesan khusus pada list kosong } Kamus: P : address {address untuk traversal } procedure Proses Input P : address {pemrosesan elemen ber-address P } procedure Inisialisasi { aksi sebelum proses dilakukan } procedure Terminasi { aksi sesudah semua pemrosesan elemen selesai } Algoritma : if FirstL = Nil then output List kosong else Inisialisasi P ← FirstL repeat Proses P P ← NextP until P = Nil Terminasi Procedure SKEMAListTraversal3Input L : List { I.S. List L terdefinisi , tidak kosong : minimal mengandung satu elemen} {F.S. semua elemen list L dikunjungi dan telah diproses } { Skema sekuensial tanpa MARK, tidak ada list kosong karena tanpa mark} Kamus: P : address {address untuk traversal , type terdefinisi} procedure Proses Input P : address {pemrosesas elemen ber-address P} procedure Inisialisasi { aksi sebelum proses dilakukan } procedure Terminasi { aksi sesudah semua pemrosesan elemen selesai } Algoritma : Inisialisasi P ← FirstL iterate Proses P stop NextP = Nil P ← NextP Terminasi

III. Skema Sequential Search untuk list linier