1
Organisasi File
Pile & Random
Organisasi File Pile
P d h l Pendahuluan
Struktur dan Manipulasi
Parameter Performansi File
2
Pendahuluan
Struktur File yang sangat dasar dan sederhana J Jarang di digunakan k tapii merupakan k dasar d analisis li i untuk struktur file lain Panjang record dapat saja tidak seragam dan elemen datanya tidak perlu sama Struktur file Pile biasanya y data ditumpuk p dan tak 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 lain. Merupakan dasar evaluasi bagi struktur lainnya. Istilah pile digunakan dengan istilah lain yaitu file heap atau ada juga yang mengistilahkan file sekuen. Beberapa p bahasa p pemrograman g seperti p Basic,, PL/I menyebutkan sebagai pile disebut file sekuen dengan batasan ketat.
3
Struktur dan Manipulasi
Salah satu organisasi file yang tidak terstruktur Ti elemen Tiap l d di pile data il berbentuk b b k 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 dilakukan ketika akan mencari sebuah record
Alasan Organisasi Waktu tanggap yang cepat sering dikehendaki terhadap pp perangkat g lunak. Sering konstrain kinerja perangkat lunak ditentukan penggunanya secara waktu nyata. Perlu persiapan perangkat lunak yang cukup untuk dimuatkan ke dalam memori. Perlu kemudahan dalam penggunaannya.
4
Struktur Record tersusun berdasarkan kedatangannya dan disusun bertumpuk. 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. tertentu Panjang rekord dapat bervariasi dan elemenelemen data tidak perlu serupa.
5
Karakteristik Struktur Pile Biasanya data ditumpuk secara kronologis. Tak ada keterkaitan antara ukuran file, file rekord, 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-file file yang bersifat koleksi. koleksi
6
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
7
Kelebihan File Pile Kemudahan untuk diciptakan. Panjang record dan format record yang bervariasi. bervariasi File pile tidak memiliki ketentuan ketika record data tersebut dimasukkan.
Kekurangan File Pile Sulitnya melakukan pencarian data. Ukuran record yyang g bervariasi dan elemen data yyang g berbeda-beda menyebabkan record dalam file pile menjadi sulit ketika hendak dicari. Waktu pengaksesan lambat. Jarang digunakan untuk pemrosesan.
8
Struktur dan Manipulasi
9
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). langsung) Dalam hal ini, 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 kelima 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. 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
10
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 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.
11
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 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.
12
Struktur record file MASTER.DTA terdiri dari field : • Nomor induk mahasiswa a a mahasiswa a as s a • Nama • Alamat mahasiswa Struktur file TRANS.DTA hanya terdiri dari field Nomor Induk Mahasiswa . Field ini menunjukkan record di MASTER.DTA yang akan di hapus. hapus
13
Flowchart 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 Data D t di INDUK.DTA INDUK DTA akan k di b h berdasarkan diubah b d k d t di TRANS. data TRANS DTA. Field key yang dipakai adalah nomor induk mahasiswa
14
15
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
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 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.
16
akses : Parameter yang menyatakan bentuk operasinya, berupa : READ : menyebabkan file untuk pembacaan saja. WRITE : menyebabkan file untuk penulisan saja. READWRITE : menyebabkan y file untuk p pembacaan dan penulisan. Parameter ini bersifat pilihan. Jika tidak ditulis, maka diasumsikan file random digunakan untuk membaca dan menulis. Contoh-contoh : OPEN “R” R , #1, #1 “B:DataNama” 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
17
varstring, 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
18
Penyimpanan Data ke Buffer Ada dua bentuk perintah untuk meletakkan data ke dalam buffer : LSET : meletakkan data ke dalam buffer dengan posisi merapat ke kiri RSET : meletakkan data ke dalam buffer dengan posisi merapat ke kanan Bentuk Umum
LSET varstring = ekspstring RSET varstring = ekspstring
dimana, varstring : nama variabel yang telah didefinisikan dengan FIELD ekspstring : variabel string atau ekspresi string yang akan p dalam buffer ditempatkan Contoh : OPEN “R”, #1, “DataMHS”, 55 FIELD #1, 8 AS NPM$, 10 AS Nama$ LSET Nama$ = “Andi” RSET NPM$ = “5523” Hasil dalam buffer:
19
Penulisan Data ke Dalam File Untuk menuliskan data ke dalam file digunakan statement PUT. Bentuk Umum :
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 tempat data disimpan
Contoh : Menyimpan data pada posisi record ke-2 PUT #1, 2 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 Nama Alamat Telepon
Jenis Alpanumerik Alpanumerik Numerik
Jumlah karakter 20 karakter 30 karakter 7 digit
20
‘==================================================== ‘Program : RANDOM1.BAS ‘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 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, 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 cepat p dalam hal p pemanggilan 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 juga diilustrasikan, j ga dapat mendengar lagu lag yang ang direkam di CD secara berurut dari awal hingga akhir
21
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 tahu nomor recordya d (il t i : bila (ilustrasi bil kit kita akan k mendengarkan lagu tertentu di CD, maka kita harus tahu judulnya, lalu kita lihat daftar isinya, baru kita pilih lagu itu).