Pemrosesan Arsip Beruntun
Arsip Beruntun (Sequential File)
- Perbandingan media penyimpanan data pada memori utama dengan memori sekunder
- Arsip atau File adalah informasi yang tersimpan dalam memori sekunder
- Rekaman atau Record adalah informasi yang direkam dalam arsip
- Metode Pengorganisasian arsil sequential dengan random (direct)
Arsip Beruntun adalah sekumpulan rekaman bertipe sama yang diakses secara berurutan dari rekaman pertama sampai dengan rekaman terakhir. Struktur arsip beruntun hampir sama dengan struktur larik (array), perbedaannya elemen larik didefinisikan dalam memori sedangkan arsip didefinisikan dalam media penyimpanan sekunder. Perbedaan juga pada cara mengakses, jika larik bisa menggunakan indeks, di arsip beruntun rekaman harus dibaca dari awal rekaman dan satu arah dari rekaman pertama sampai akhir. Selain itu jika pada larik kita mengakhir pemrosesan bilamana pencatat indeks sudah melebihi larik N, pada arsip beruntun pembacaan rekaman berakhir jika sudah sampai pada tanda (mark) yang penandaan akhir arsip (end of life).
Tipe rekaman dapat berupa tipe dasar (integer, real, char, boolean, string) atau tipe terstruktur (record). Setiap rekaman di dalam arsip beruntun harus bertipe sama, baik dari tipe dasar maupun tipe terstruktur.
Deklarasi Arsip dalam Algoritma
DEKLARASI:
type nama tipe arsip : File of tipe rekaman { tipe bentukan}
arsip : nama tipe arsip
Arsip Bil yang berisi sekumpulan bilangan bulat
DEKLARASI
Bil: File of Integer
Arsip Mhs yang berisi data mahasiswa (NPM, Nama, dan IPK)
DEKLARASI { tipe rekaman }
type DataMhs :record <NPM : integer, Nama : string, IPK: real>
{ arsip }
Mhs : File of DataMhs
Perintah Dasar
OPEN
Sintaks : OPEN (input NamaArsip, kode)
Contoh: OPEN(MHS, 1)
OPEN(KAR,2)
FREAD
Sintaks : FREAD (input NamaArsip,<NamaRekaman>)
Contoh : FREAD (MHS, RekMhs)
FREAD (MHS, ch)
FWRITE
Sintaks: FWRITE (input/output NamaArsip, <NamaRek>)
Contoh: FWRITE (MHS, <31119002, 'Brandon', 3.50>)
FWRITE(KAR, 's')
CLOSE
Sintaks: CLOSE (input NamaArsip)
Contoh: CLOSE(MHS)
CLOSE(KAR)
MARK
Sintaks: MARK (<NamaRekaman>) -> boolean
Membuat Arsip Beruntun
BUAT_ARSIP_MAHASISWA
KAMUS
Type DataMhs : record <NPM:integer, Nama:string, IPK:real>
Type ArsipMhs : SeqFile of DataMhs
MHS : ArsipMhs
RekMhs : DataMhs
ALGORITMA
OPEN (MHS,2)
Input (RekMhs, NPM)
While (RekMhs, NPM <> 9999999) do
Input (RekMhs, Nama)
Input (RekMhs, IPK)
FWRITE (MHS, RekMhs)
Input(RekMhs, NPM)
endwhile
FWRITE (MHS, <9999999, 'xxx', 9.99)
CLOSE(MHS)
BACA_ARSIP_BERUNTUN
KAMUS
Type DataMhs : record <NPM:integer, Nama:string, IPK:real>
Type ArsipMhs : SeqFile of DataMhs
MHS : ArsipMhs
RekMhs : DataMhs
function MARK (input lokalRekMhs: DataMhs) -> boolean
ALGORITMA
OPEN (MHS,1)
FREAD(MHS, RekMhs)
While Not MARK (RekMHS) do
output (RekMhs, NPM)
output (RekMhs, Nama)
output (RekMhs, IPK)
FREAD (MHS, RekMhs)
endwhile
CLOSE(MHS)
Posting Komentar untuk "Pemrosesan Arsip Beruntun"