Organisasi
File
Pile &
Random
Organisasi File Pile
P d h l
Pendahuluan
Struktur dan Manipulasi
Pendahuluan
Struktur File yang sangat dasar dan sederhana
J
di
k
i
k
d
li i
Jarang digunakan tapi merupakan dasar analisis
untuk struktur file lain
Panjang record dapat saja tidak seragam dan elemen
datanya tidak perlu sama
Struktur file Pile biasanya data ditumpuk dan tak
y
p
ada keterkaitan antara ukuran record dan blok
Definisi
Merupakan struktur paling sederhana.
Struktur ini jarang digunakan secara praktis secara
sendirian tetapi merupakan basis evaluasi struktur
sendirian tetapi merupakan basis evaluasi struktur
lain.
Merupakan dasar evaluasi bagi struktur lainnya.
Istilah pile digunakan dengan istilah lain yaitu file
heap atau ada juga yang mengistilahkan file
sekuen.
Beberapa bahasa pemrograman seperti Basic, PL/I
p
p
g
p
,
menyebutkan sebagai pile disebut file sekuen
Struktur dan Manipulasi
Salah satu organisasi file yang tidak terstruktur
Ti
l
d
di il b b
k
Tiap elemen data di pile berbentuk pasangan nama
atribut – nilai atribut (attribute name – value pair)
Record baru akan ditambahkan diakhir file
Record dapat memiliki field yang berbeda
Pencarian secara linier keseluruh record akan
Pencarian secara linier keseluruh record akan
dilakukan ketika akan mencari sebuah record
Alasan Organisasi
Waktu tanggap yang cepat sering dikehendaki
terhadap perangkat lunak.
p p
g
Sering konstrain kinerja perangkat lunak
ditentukan penggunanya secara waktu nyata.
Perlu persiapan perangkat lunak yang cukup
untuk dimuatkan ke dalam memori.
Struktur
Record tersusun berdasarkan kedatangannya
dan disusun bertumpuk
dan disusun bertumpuk.
Tidak perlu memiliki elemen data yang sama,
namun data yang disimpan harus disimpan
secara lengkap, yaitu atribut maupun nilainya.
Properti Struktur Pile
Data tidak dianalisis, dikategorikan, atau harus
memenuhi definisi atau ukuran field tertentu
memenuhi definisi atau ukuran field tertentu.
Panjang rekord dapat bervariasi dan
Karakteristik Struktur Pile
Biasanya data ditumpuk secara kronologis.
Tak ada keterkaitan antara ukuran file rekord
Tak ada keterkaitan antara ukuran file, rekord,
dan blok.
Elemen data dapat beragam, dapat berbeda
untuk setiap rekord (berisi atribut dan nilai).
Data harus disimpan secara lengkap beserta
nama atributnya, tidak cuma nilai atributnya.
Komponen File
Hanya file berisi data.
Berisi file-file yang bersifat koleksi
Berisi file file yang bersifat koleksi.
Struktur dan Pengaksesan
Record berelasi dengan suatu objek atau kejadian di dunia nyata.
Rekord berisi elemen-elemen (fields) data dan tiap elemen data perlu mempunyai identifikasi.
Identifikasi pada pile adalah berupa nama atribut secara eksplisit.
Contoh: tinggi = 165. Nilai elemen data adalah 165 dan nama deskripsi adalah tinggi.
Setiap elemen data di pile berbentuk tuple dua komponen disebut pasangan nama atribut-nilai atribut.
Format Rekord: sejumlah pasangan untuk mendefinisikan objek dan mengasosiasikan data dengan objek.
Penggunaan
File pile merupakan struktur dasar dan tak terstruktur. Struktur ini memberikan fleksibilitas penuh. Struktur ini menggunakan ruang penyimpanan dengan baik saat data berukuran dan berstruktur beragam. Namun, struktur ini sangat jelek untuk pencairan record tertentu. Berbagai penggunaan dari file pile, diantaranya :
File-file sistem
File log (mencatat kegiatan) File-file penelitian / medis File teks
Config.sys
Variable-lengthrecord Variablesetoffield Chronologicalorder
Kelebihan File Pile
Kemudahan untuk diciptakan. Panjang record dan
format record yang bervariasi File pile tidak
format record yang bervariasi. File pile tidak
memiliki ketentuan ketika record data tersebut
dimasukkan.
Kekurangan File Pile
Sulitnya melakukan pencarian data. Ukuran
record yang bervariasi dan elemen data yang
y
g
y
g
berbeda-beda menyebabkan record dalam file
pile menjadi sulit ketika hendak dicari. Waktu
pengaksesan lambat. Jarang digunakan untuk
pemrosesan.
Pengertian
Random file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara random atau langsung. Dengan demikian, random file juga disebut sebagai Direct Access File (Bisa dibaca secara langsung) Dalam hal ini Direct Access File (Bisa dibaca secara langsung). Dalam hal ini, tempat penyimpanan data sudah diatur sedemikian rupa, sehingga setiap data akan tersimpan didalam tempat-tempat yang telah ditentukan sesuai dengan nomor data yang dimiliki-nya.Dikarenakan data yang tersimpan menggunakan teknik yang sedemikian rupa (yaitu random), maka data yang dibutuhkan bisa langsung ditemukan tanpa harus membaca data-data sebelumnya. Walaupun demikian, seandainya diperlukan untuk dibaca secara berurutan, juga dimungkinkan. Apabila lagu-lagu yang ada kemudian disimpan didalam compack-disk, maka untuk mendengar kan lagu yang ke-lima bisa langsung dilakukan (dibaca secara random). Disamping itu, dengan compact-disk juga bisa dilakukan pembacaan secara berurutan atau Sequential. Compact-disk menyimpan lagu secara random.
Penyisipan
Akses pada file random dapat dilakukan
secara acak Jadi akses data tidak dilakukan
secara acak. Jadi akses data tidak dilakukan
dengan membaca data satu per satu mulai
dari record pertaa tapi dilakukan dengan
nomor record,
Pencarian record data dapat dilakukan
dengan pindah dari record terakhir ke reocrd
awal atau record lainnya. Flowchart proses
penyimpanan data ke file
Data di MAST1.DTA di tambahkan ke
MAST2.DTA dengan ketentuan , jika data
MAST1.DTA sudah ada di MAST2.DT
maka data tersebut diabaikan atau tidak
maka data tersebut diabaikan atau tidak
di simpan ke MAST2..DTA
Akses
terhadap
file
random
dapat
dilakukan dengan mengunakan nomor
record, sehingga dari satu record dapat
pindah ke record lainnya tergantung dari
nomor record tersebut.
Penghapusan Record
Penghapusan dilakukan dengan membentuk file baru. Dimana file baru ini merupakan file berisiskan record dari file lama.
Namun record dari file lama tersebut hanya terbatas pada Namun record dari file lama tersebut hanya terbatas pada
record yang tidak sama dengan data yang akan dihapus. Sedangkan record yang sama dengan data yang akan
dihapus diabaikan
System flowcart penghapusan record
Record yang dihapus pada file MASTER.DTA ditentukan berdasarkan data yang terdapat di file TRANS. DTA
Hasil penghapusan record disimpan di dalam file NEW.DTA . Jadi isi TRANS. DTA merupakan isi MASTER.DTA setelah mengalami penghapusan record.
Struktur record file MASTER.DTA terdiri dari
field :
• Nomor induk mahasiswa
• Nama mahasiswa
a a
a as s a
• Alamat mahasiswa
Struktur file TRANS.DTA hanya terdiri dari field
Nomor Induk Mahasiswa . Field ini
menunjukkan record di MASTER.DTA yang
akan di hapus
Penghapusan
Perubahan Isi
Perubahan record dilakukan dengan mencari record yang akan diubah lalu mengadakan perubahan terhadap isinya.
Selanjutnya record tersebut disimpan kembali tanpa mengubah posisi record.
p
Proses pencarian dilakukan dengan membaca record satu persatu mulai dari awal record sampai record terakhir.
Setiap record yang dibaca dibandingkan melalui field yang berfungsi sebagai key.
System flowchart perubahan record
File INDUK.DTA dan TRANS.DTA terdiri dari field Nomor Induk Mahasiswa, nama dan alamat
D t di INDUK DTA k di b h b d k d t di TRANS Data di INDUK.DTA akan diubah berdasarkan data di TRANS.
Implementasi ke Program Basic
Berikut adalah prosedur penyimpanan data ke dalam berkas data masup acak :
1. Buka file
2. Siapkan buffer data
3. Untuk data numeric harus dikonversi ke alfabetik/string 4. Simpan data ke dalam buffer
5. Lakukan penulisan ke dalam file
Membuka File
Perintah yang diperlukan adalah : OPEN Bentuk Umum :
OPEN “R”, #nomfile, namafile, reclen
atau atau
OPEN namafile FOR RANDOM ACCESS akses AS
#nomfile LEN = reclen
Dimana:
nomfile : bilangan bulat antara 1 sampai 255. Digunakan untuk menyatakan nomor file yang akan dibuka
namafile : ekspresi string untuk menunjukkan nama file namafile : ekspresi string untuk menunjukkan nama file
reclen : bilangan bulat antara 1 sampai 32.676. Digunakan untuk menyatakan jumlah byte setiap record. Parameter ini bersifat pilihan, jika tidak dipakai, maka jumlah byte per record dianggap 512 byte.
berupa :
READ : menyebabkan file untuk pembacaan saja. WRITE : menyebabkan file untuk penulisan saja.
READWRITE : menyebabkan file untuk pembacaan dany p penulisan.
Parameter ini bersifat pilihan. Jika tidak ditulis, maka
diasumsikan file random digunakan untuk membaca dan menulis.
Contoh-contoh :
OPEN “R” #1 “B:DataNama” OPEN R , #1, B:DataNama OPEN “R”, #2, “DataMhs”, 250
OPEN “DataMhs” FOR RANDOM AS #2 LEN 250
OPEN “B:DataMhs” FOR RANDOM ACCESS READ AS #2 LEN 50
Penyediaan Buffer Data
Dalam file random, perlu disiapkan suatu area penampungan sementara untuk data yang akan diakses dari file tersebut, yang disebut dengan “RANDOM BUFFER”. Untuk membentuknya digunakan statement FIELD.
Bentuk Umum :
FIELD #nomfile, lebarfield AS varstring [, lebarfield1 AS varstring 2, …]
Dimana:
nomfile : bilangan sesuai dengan nomor file yang dibuka dengan statement OPEN
lebarfield,
lebarfield1 : bilangan yang menyatakan panjang variabel (data) yang akan disimpan
varstring1 : nama variabel string yang akan digunakan untuk data yang akan diakses.
Catatan:Data yang disimpan ke dalam file harus dalam bentuk string.
Total jumlah byte yang diperlukan berdasarkan tabel 1 di atas adalah 55 byte meliputi, 8 byte untuk NPM, 20 byte untuk NAMA, 25 byte untuk ALAMAT dan 2 byte untuk NILAI. Penyediaan buffer yang diperlukan adalah :
OPEN “R”, #1, “DataMHS”, 55
FIELD #1, 8 AS NPM$, 20 AS NAMA$, 25 AS ALAMAT$, 2 AS NILAI
Penyimpanan Data ke Buffer
Ada dua bentuk perintah untuk meletakkan data ke dalambuffer :
LSET : meletakkan data ke dalam buffer dengan posisi merapat ke kiri
merapat ke kiri
RSET : meletakkan data ke dalam buffer dengan posisi merapat ke kanan
Bentuk Umum
LSET varstring = ekspstring
LSET varstring = ekspstring
RSET varstring = ekspstring
dimana,
varstring : nama variabel yang telah didefinisikan dengan FIELD
ekspstring : variabel string atau ekspresi string yang akan ditempatkan dalam bufferp
Contoh :
OPEN “R”, #1, “DataMHS”, 55
FIELD #1, 8 AS NPM$, 10 AS Nama$ LSET Nama$ = “Andi”
RSET NPM$ = “5523” Hasil dalam buffer:
Penulisan Data ke Dalam File
Untuk menuliskan data ke dalam file digunakan
statement PUT.
Bentuk Umum :
PUT #nomFile [, nomRec]
PUT #nomFile [, nomRec]
dimana,
nomFile : nomor file yang akan digunakan untuk
menyimpan data
nomRec : bilangan bulat antara 1 sampai
2 147 483 647 yang menyatakan nomor record
2.147.483.647 yang menyatakan nomor record
tempat data disimpan
Contoh :
Menyimpan data pada posisi record ke-2 PUT #1, 2
Contoh Aplikasi 1 Contoh Aplikasi 1
Pembuatan file random untuk menyimpan data mengenai nama, alamat, dan nomor telepon. Nama filed yang akan dibuat adalah TELEPON.DTA. Isi record file adalah
Item Jenis Jumlah karakter Nama Alpanumerik 20 karakter Alamat Alpanumerik 30 karakter Telepon Numerik 7 digit
‘Keterangan : Contoh penulisan data ke file random
‘==================================================== ‘
OPEN “R”, #1, “C:\DATA\TELEPON.DTA”, 57
FIELD #1, 20 AS Nama$, 30 AS Alamat$, 7 AS Telepon$ Nm$ = “ “
NoRec = 1 NoRec = 1 WHILE Nm$ <> ““ CLS
LOCATE 5, 10: PRINT “Nama : “ LOCATE 6, 10: PRINT “Alamat : “ LOCATE 7, 10: PRINT “Telepon : “ LOCATE 5, 19: LINE INPUT Nm$ IF Nms = “” THEN END LOCATE 6, 19: LINE INPUT Alm$ LOCATE 7 19: LINE INPUT Tlp$ LOCATE 7, 19: LINE INPUT Tlp$ LSET Nama$ = Nm$
LSET Alamat$ = Alm$ LSET Telepon$ = Tlp$ PUT #1, NoRec NoRec = NoRec + 1 WEND CLOSE END
Keuntungan
Sangat sesuai untuk kebutuhan File Transaksi, sebab transaksi harus diproses saat kejadian berlangsung. Data yang tersimpan tidak harus urut (sorted). Untuk pemrosesan lebih efisien, sebab ada beberapa file yang memerlukan perubahan saat proses berlangsung.g g Lebih cepatp dalam hal pemanggilanp gg data. Beberapa data yang tersimpan didalam file, bisa diperbaiki dalam waktu bersamaan.
Keuntungan lain mengakses data melalui akses random adalah kita bisa langsung menuju ke record yang akan kita akses tanpa harus melalui record-record sebelumnya sebagaimana harus dilakukan untuk akses secara sequential. Namun demikian, organisasi file random dapat juga diakses secara sequential (berurut dari record pertama ke record-record sesudahnya). Bila diil strasikan kita j ga dapat mendengar lag ang direkam di diilustrasikan, kita juga dapat mendengar lagu yang direkam di CD secara berurut dari awal hingga akhir
Kerugian
Memerlukan adanya back-up data. Sebab transaksi yang diperbaiki setiap saat bisa menghilangkan jejak data asal. Data yang tersimpan mempunyai potensi lebih cepat rusak. Kapasitas media penyimpanan memory menjadi besar. Memerlukan hardware dan software yang lebih kompleks apabila dibanding Sequential file.
Kesulitannya, jika kita akan mengakses secara langsung (direct) ke record tertentu, maka kita harus t h d (il t i bil kit k tahu nomor recordya (ilustrasi : bila kita akan mendengarkan lagu tertentu di CD, maka kita harus tahu judulnya, lalu kita lihat daftar isinya, baru kita pilih lagu itu).