Diktat_Prosedural_13_StudiKasus

Jika alokasi tidak dapat dilakukan tidak ada blok

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: keadaan list tetap dan IAw diberi nilai 0. Solusi umum algoritma adalah: Sequential search List FirstZB, P sebuah address elemen kondisi berhenti semua elemen list diperiksa atau Nb(P) ≥ X if (Nb(P) ≥ X then { ada yg memenuhi syarat } if Nb(P) = X then { zone kosong menjadi isi } Delete elemen beralamat P; dealokasi P else { lebih besar : update zone kosong } Update Nb(P) dan Aw(P) Set nilai IAw dengan Aw(P) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 47 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB else Set IAw = 0 Karena proses delete P membutuhkan alamat sebelum P, maka alamat sebelum P selalu dicatat. procedure AlokBlokBB (input X : integer, output IAw : integer) Secara Best Fit I.S. : Sembarang. X adalah banyaknya blok yang diminta untuk dialokasi, yaitu status memorinya dijadikan ISI. F.S. : Tergantung kepada proses. Proses : Periksa semua elemen list, elemen list dengan properti jumlah blok kontigunya lebih besar atau sama dengan X ditandai yang minimum. Proses penentuan elemen dengan jumlah blok kontigu minimum dapat dilakukan dengan menggunakan skema pencarian harga minimum. Ada dua versi penentuan harga minimum: perlakukan khusus terhadap elemen pertama untuk menentukan minimum, atau menginisialisasi harga minimum dengan suatu nilai khusus. Implementasi yang dipilih pada algoritma yang akan ditulis merupakan kombinasi dari kedua skema tadi: elemen pertama tidak mendapat perlakukan khusus, melainkan diproses dalam badan pengulangan dengan melakukan analisa kasus, apakah menentukan minimum elemen pertama (inisialisasi), atau menggantikan elemen minimum. Cara ini dipilih untuk mempersingkat pengkodean. Setelah semua elemen diperiksa, ada dua kemungkinan : • Jika alokasi dapat dilakukan, ada blok yang memenuhi syarat, masih ada dua kemungkinan: - jika jumlah blok kontigu sama dengan X, hapus elemen list kosong tersebut, - jika jumlah blok kontigu lebih besar dari X, update elemen list kosong tersebut. • Jika alokasi tidak dapat dilakukan (tidak ada blok yang memenuhi syarat), maka list tetap keadaannya dan IAw diberi nilai 0 Solusi umum algoritma adalah: Sequential search List FirstZB, P sebuah address elemen kondisi berhenti Nb(P) = X atau semua elemen list diperiksa Skema search dengan boolean. Untuk setiap elemen list beralamat P yang diperiksa : if elemen pertama then Inisialisasi NBMin dan Naw else { bukan elemen pertama } Cek apakah Nb(P) < NBMIN, jika ya update NBMin} if (Nb(P) ≥ X) then { ada yg memenuhi syarat } if (Nb(P) = X) then { zone kosong menjadi isi } Delete elemen beralamat P; dealokasi P else { lebih besar: update zone kosong } Update Nb(P) dan Aw(P) Set nilai IAw dengan Aw(P) else Set IAw = 0 Karena untuk operasi delete list dibutuhkan alamat elemen sebelumnya, alamat elemen sebelum P selalu dicatat. procedure DeAlokBlokB (input IAw : integer, input X : integer) Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 48 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informati...
View Full Document

Ask a homework question - tutors are online