ARSIP BERUNTUTN Arsip (ile) atau berkas adalah struktur penyimpanan data di dalam memori sekunder sepert disk. Data disimpan di dalam arsip agar sewaktu waktu dapat dibuka kembali. Struktur arsip memungkinkan kita menyimpan data secara permanen dan mengaksesnya kembali bila perlu. Banyak aplikasi yang membutuhkan kemampuan ini. Setap item data yang direkam di dalam arsip disebut rekaman (record). Semua rekaman di dalam arsip diorganisasikan penyimpanannya, dan pengaksesan rekaman di dalam arsip bergantung kepada metode pengorganisasian data di dalam arsip : beruntun (sequenial) dan acak (random)- yang terakhir ini juga dikenal sebagai arsip akses langsung (direct acces).
Definisi Arsip Beruntun Arsip beruntun adalah sekumpulan rekaman yang disimpan di dalam penyimpanan sekunder komputer, yang dapat diakses secara beruntun mulai dari rekaman pertama sampai dengan rekaman terakhir, rekaman demi rekaman secara searah Karena komputer "tidak mengetahui" akhir arsip, maka di dalam arsip beruntun ditambahkan rekaman fiktif yang berfungsi sebagai "tanda" bahwa akhir arsip sudah tercapai sehingga pembacaan rekaman dihentikan. Rekaman fiktif ditambahkan sesudah rekaman terakhir. Setiap rekaman boleh bertipe dasar maupun tipe terstruktur yang telah didefinisikan.
Contoh Arsip Beruntun Arsip mahasiswa yang berisi NIM, Nama dan IPK. type DataMhs : record
type ArsipMhs : SeqFile of DataMhs and MARK = <99999999999,'.',0.00> MHS : ArsipMhs • 08053110001 Abdullah 3.10 • 08053110021 Fidha Rozak 2.87 • 08053110029 Sumiati 3.65 • 08053110030 Mila Rossa 2.21 • 99999999999 . 0.00
Perintah Dasar Arsip Beruntun 1. OPEN Sebelum arsip dapat diakses (dibaca atau ditulis) mula-mula arsip haruslah diaktifkan terlebih dahulu. Untuk keperluan ini fungsi yang digunakan OPEN. Fungsi OPEN adalah membuka arsip beruntun untuk siap dibaca. Pointer pembacaan menunjuk ke rekaman pertama. Prosedur OPEN procedure OPEN (input NamaArsip : ArsipBeruntun, Output NamaRek : Rekaman) {Membuka arsip beruntun NamaArsip untuk siap dibaca
K.Awal : Sembarang K.Akhir : NamaRek berisi nilai rekaman pertama} Contoh: OPEN (MHS, RekMhs){MHS = nama arsip, RekMhs bertipe DataMhs} Bila arsip yang dibuka berisi rekaman seperti contoh di atas, maka kedua perintah OPEN di atas menyebabkan: RekMhs berisi <08053110001, Abdullah, 3.10> Dalam program bahasa C/C++ Prototype fungsi fopen() ada di header fungsi “stdio.h” Bentuk umum : FILE *fopen(char *namafile, char *mode); Keterangan : namafile adalah nama dari file yang akan dibuka/diaktifkan. mode adalah jenis operasi file yang akan dilakukan terhadap file. Jenis-jenis operasi file : r : menyatakan file hanya dapat dibaca (file harus sudah ada). w : menyatakan file baru akan dibuat/diciptakan (file yang sudah ada akan dihapus). a : untuk membuka file yang sudah ada dan akan dilakukan proses penambahan data (jika file belum ada, otomatis akan dibuat). r+ : untuk membuka file yang sudah ada dan akan dilakukan proses pembacaan dan penulisan. w+ : untuk membuka file dengan tujuan untuk pembacaan atau penulisan. Jika file sudah ada, isinya akan dihapus. a+ : untuk membuka file, dengan operasi yang akan dilakukan berupa perekaman maupun pembacaan. Jika file sudah ada, isinya akan dihapus. Contoh : pf = fopen(“COBA.TXT”, “w”); 2. READ Fungsinya membaca rekaman yang sekarang sedang ditunjuk oleh pointer pembacaan. procedure READ(input NamaArsip : ArsipBeruntun,output NamaRek : Rekaman) { membaca rekaman yang sekarang sedang ditunjuk oleh pointer pembacaan dari arsip yang bernama NamaArsip. K.Awal : K.Akhir : NamaRek berisi nilai rekaman yang sedang ditunjuk oleh pointer pembacaan. pointer pembacaan menunjuk ke awal rekaman berikutnya.} READ (MHS,RekMhs) Jika pointer pembacaan menunjuk ke awal rekaman kedua dari contoh di atas, maka perintah READ menyebabkan: RekMhs berisi <08053110021,Fidha Rozak,2.87> setelah perintah READ di atas, pointer pembacaan sekarang menunjuk ke awal rekaman ketiga dan siap untuk membaca rekaman ketiga itu.
3. REWRITE Fungsinya menyiapkan arsip untuk perekaman. procedure REWRITE(input NamaArsip : ArsipBeruntun) { Menyiapkan arsip NamaArsip untuk ditulisi K.Awal : K.Akhir : pointer penulisan menunjuk ke awal arsip NamaArsip, siap untuk menulis rekaman} REWRITE(MHS) 4. WRITE Fungsinya menulis rekaman ke dalam arsip beruntun. procedure WRITE(input NamaArsip : ArsipBeruntun,output NamaRek : Rekaman) { menulis NamaRek ke arsip yang namanya NamaArsip. K.Awal : pointer penulisan sudah berada pada posisi siap merekam K.Akhir : NamaRek tertulis ke dalam arsip NamaArsip. Pointer penulisan maju satu posisi.} WRITE(MHS,<08053110033,'Ariel Peterpan',1.99>) Catatan: Arsip yang dibuka untuk pembacaan (dengan perintah OPEN) tidak dapat digunakan untuk perekaman. Demikian juga sebaliknya, arsip yang dibuka untuk perekaman (dengan perintah REWRITE) tidak dapat dibaca. Operasi baca dan tulis tidak dapat dilakukan sekaligus pada arsip beruntun. Cara mengakhiri arsip dengan MARK: WRITE (MHS,<99999999999,'.',0.00>) 5. CLOSE Fungsinya menutup arsip yang telah dibuka untuk pembacaan atau dibuka untuk perekaman. procedure CLOSE(input NamaArsip : ArsipBeruntun) { menutup arsip yang telah dibuka. K.Awal : Sembarang K.Akhir : Arsip NamaArsip telah ditutup, tidak dapat diproses lagi.}
TUGAS UAS ALGORITMA PERPUSTAKAAN DENGAN ARSIP BERUNTUN
Studi kasus pada data perpustakaan. KDBUKU
NMBUKU
JNSBUKU
LMPINJAM(hari).
BNYKPNJM
001 002 003 004
Algoritma Algoritma 2 Aplikasi IT Sotware Terapan2 Donal bebek Pc Media Otobook Mangle TvMovies
Pelajaran Pelajaran Pelajaran Pelajaran
7 14 4 6
2 2 3 5
Majalah Majalah Majalah Majalah Majalah
7 3 5 2 5
5 3 6 8 7
005 006 007 008 009
DEKLARASI GLOBAL DEKLARASI : Type data PRPS : record < KDBUKU : integer, NMBUKU : string, JNSBUKU : string, LMPINJM : integer, BNYKPNJM : integer> Type ArsipPerpus : File of DataPerpus. Prps : ArsipPerpus
{nama arsip data PRPS}
1. Data Perpustakaan dibaca dari papan ketk, lalu disimpan ke dalam arsip Kuliah. Jumlah data mahasiswa yang akan dimasukan tdak ditentukan sebelumnya. Proses Pembacaan data Dari papan kunci akan berhent jika kode KDBUKU yang dibaca adalah 999. Procedure RekamDataBuku {output Prps: ArsipPerpus} {merekam data ujian mahasiswa ke dalam arsip Prps, data di baca dari papan ketk, proses perekaman berhent jika NIM yang dimasukan = 999.} {K.Awal : Sembarang} {K.Akhir : arsip Prps berisi data Buku, Mungkin kosong }
Please download full document at www.DOCFOC.com Thanks