Diktat_Prosedural_13_StudiKasus

Nb of boolean tabel status memori true jika isi false

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: kan kurang menguntungkan dibandingkan dengan zone bebas yang berukuran besar karena alokasi memori menjadi sulit walaupun tempat yang tersedia masih ada. Tujuan dari studi adalah merealisasi prosedur-prosedur berikut, yang diberikan spesifikasi umumnya. Initial State, Final State, dan gambaran umum proses dari setiap prosedur akan dibuat lebih rinci ketika struktur data ditentukan. procedure InitMem { Mengeset semua blok menjadi blok KOSONG } procedure AlokBlok (input X : integer, output IAw : integer) { Melakukan alokasi: membuat suatu zone kosong (jika ada) X blok di antaranya menjadi ISI } procedure DeAlokBlok (input X, IAw : integer ) { Membebaskan zone isi: membuat sebuah zone berukuran X yang berawal pada IAw yang tadinya ISI menjadi KOSONG } Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 21 Nov 2011 37 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB procedure GarbageCollection { Memampatkan sehingga semua zone KOSONG ada di bagian kiri memori, dan zone ISI di bagian kanan memori } Berikut ini akan diberikan rincian spesifikasi dan implementasi prosedur di atas dengan dua macam representasi, yaitu representasi kontigu dan representasi berkait. Untuk setiap representasi, akan diberikan KAMUS untuk mendeskripsikan status memori, dan uraian singkat prosedur serta deskripsi yang lebih persis dari porsedur yang direalisasi berdasarkan representasi tersebut. Akan terlihat, bahwa kompleksitas algoritma tergantung kepada pemilihan representasi. Silahkan mempelajari baik-baik, dan memilihnya untuk persoalan nyata yang tepat. Representasi KONTIGU Definisi Struktur Data KAMUS constant NB : integer = 100 STATMEM : array [1..NB] of boolean { tabel status memori: true jika ISI, false jika kosong } Implikasi Representasi terhadap Realisasi Prosedur procedure InitMemK I.S. : Sembarang F.S. : Semua blok memori dinyatakan KOSONG Proses : Semua status blok dengan indeks [1..NB] dijadikan KOSONG dengan traversal blok [1..NB]. Proses sekuensial tanpa penanganan kasus kosong (NB ≥ 0). Solusi umum algoritma adalah: Set status blok [1..NB] menjadi false procedure AlokBlokF (input X : integer, output IAw : integer) I.S. : Sembarang. X adalah banyaknya blok yang diminta untuk dialokasi, yaitu dijadikan isi. IAw adalah indeks pada tabel STATMEM, yang merupakan blok kosong pertama yang dialokasikan F.S. : • Jika ada zone yang memenuhi syarat (ada zone dengan jumlah blok kontigu sebanyak X atau lebih yang berstatus kosong), maka IAw akan berisi indeks blok bebas pertama pada zone yang dipilih untuk dialokasi; kemudian memutakhirkan status pemakaian memori zone tersebut. Dalam hal ada lebih dari satu zone yang memenuhi syarat, pemilihan dari zone yang memenuhi syarat ditentukan oleh strategi pengalokasian: First Fit atau Best Fit. Dengan strategi pengalokasian First Fit, alokasi dilakukan pada zone memenuhi syarat yang pertama kali diketemukan dalam proses pencarian. Dengan strategi Best Fit, alokasi dilakukan terhadap zone yang memenuhi syarat, namun berukuran sama dengan X, atau jika tidak ada zone berukuran X maka diambil Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2...
View Full Document

Ask a homework question - tutors are online