Diktat_Prosedural_13_StudiKasus

Penyisipan data suatu suksesor xy dengan diketahui x

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: i terdiri dari banyak tabel, maka urutan pembuatan tabel harus sesuai dengan definisinya. Jika X < Y adalah simbol untuk X “sebelum” Y, dan keterurutan partial digambarkan sebagai graf, maka graf sebagai berikut : 1 2 6 10 4 9 8 3 5 7 akan dikatakan mempunyai keterurutan partial: 1<2 3<5 2<4 5<8 4<6 7<5 2<10 4<8 7<9 9<4 6<3 1<3 9<10 Dan SALAH SATU urutan linier adalah graf sebagai berikut : 7 9 1 2 4 8 6 3 Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 5 10 76 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB Kenapa disebut salah satu urutan linier? Karena suatu urutan partial akan mempunyai banyak urutan linier yang mungkin dibentuk dari urutan partial tersebut. Elemen yang membentuk urutan linier disebut sebagai “list”. Proses yang dilakukan untuk mendapatkan urutan linier : Andaikata item yang mempunyai keterurutan partial adalah anggota himpunan S. 1. Pilih salah satu item yang tidak mempunyai predesesor, misalnya X. Minimal ada satu elemen semacam ini. 2. Hapus X dari himpunan S (dan keterhubungan dari X ke item lainnya), dan insert ke dalam list. 3. Sisa himpunan S masih merupakan himpunan terurut partial, maka proses 1-2 dapat dilakukan lagi terhadap sisa dari S sampai menjadi kosong. Akhirnya, List akan mempunyai elemen dengan keterurutan linier. Solusi I Untuk melakukan hal ini, perlu ditentukan suatu representasi internal. Operasi yang penting adalah memilih elemen tanpa predesesor (yaitu jumlah predesesor elemen sama dengan nol). Maka setiap elemen mempunyai 3 karakteristik: identifikasi, list suksesornya, dan banyaknya predesesor. Karena jumlah elemen bervariasi, representasi yang paling cocok adalah list berkait dengan representasi dinamis (pointer). List dari suksesor direpresentasi pula secara berkait. Ilustrasi struktur data dan program dalam bahasa Pascal yang diadaptasi dari buku [Wirth86] diberikan sebagai berikut. Representasi yang dipilih untuk persoalan ini adalah multilist sebagai berikut : 1. List yang digambarkan horisontal adalah list dari banyaknya predesesor setiap item, disebut list “Leader”, yang direpresentasi sebagai list yang dicatat alamat elemen pertama dan terakhir (Head-Tail) serta elemen terurut menurut key. List ini dibentuk dari pembacaan data. Untuk setiap data keterurutan partial X<Y: Jika X dan/atau Y belum ada pada list Leader, insert pada Tail dengan metoda search dengan sentinel. 2. List yang digambarkan vertikal (ke bawah) adalah list yang merupakan indirect adressing ke setiap predesesor, disebut sebagai “Trailer”. Untuk setiap elemen list Leader X, list dari suksesornya disimpan sebagai elemen list Trailer yang setiap elemennya berisi alamat dari suksesor. Penyisipan data suatu suksesor (X<Y), dengan diketahui X, akan dilakukan dengan InsertFirst alamat Y sebagai elemen list Trailer dengan key X. Algoritma secara keseluruhan terdiri dari dua pass 1. Bentuk list Leader dan Trailer dari data keterurutan partial: baca pasangan nilai (X<Y). Temukan alamat X dan Y (jika belum ada sisipkan), kemudian dengan mengetahui alamat X dan Y pada list Leader, InsertFirst alamat Y sebagai trailer X. 2. Lakukan topological sort dengan melakukan search list Leader dengan jumlah predesesor = 0, kemudian insert sebagai elemen list linier hasil pengurutan. Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 77 Draft Diktat Struktur Data Hanya untuk digunakan di...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online