ORGANISASI
ORGANISASI
BERKAS
BERKAS
SEQUENTIAL
SEQUENTIAL
ORGANISASI
ORGANISASI
BERKAS
BERKAS
SEQUENTIAL
SEQUENTIAL
B S h
ll h Di S K
M T
B S h
ll h Di S K
M T
By:Syaharullah Disa, S.Kom., M.T
By:Syaharullah Disa, S.Kom., M.T
1
• Pengertian Berkas Sequential
Adalah merupakan cara yang paling dasar untuk mengorganisasikan kumpulan record-record dalam sebuah berkas.
• Keuntungan
Kemampuan untuk mengakses record berikutnya secara Kemampuan untuk mengakses record berikutnya secara tepat.
• Keterbatasan
Tidak dapat mengakses langsung pada record yang diinginkan.
• Pola Akses
Adalah penentuan akses berdasarkan field tertentu Adalah penentuan akses berdasarkan field tertentu. • Media Penyimpanan
Disimpan dalam SASD, seperti magnetic tape atau pada DASD, seperti magnetic disk.
•
Alasan untuk menyimpan pada DASD :
1. Pada umumnya komputer dihubungkan dengan sedikit tape drive, sehingga tidak cukup untuk menunjang program aplikasi yang banyak membutuhkan berkas sekuensial
membutuhkan berkas sekuensial.
2. Sistem yang dikonfigurasikan untuk fungsi berkas tertentu, selalu disimpan dalam disk.
3. Karakteristik lalu lintas saluran dan kapasitas saluran pada sistem dapat dibuat menguntungkan dengan cara memisahkan berkas-berkas dalam media penyimpanan
media penyimpanan. • Generation File
File yang memiliki nama yang sama tapi berbeda generasinya.
•
Pembuatan Berkas Sequential
1. Meliputi penulisan record-record dalam serangkaian yang diinginkan pada media penyimpanan.
2. Tugas-tugasnya : 3. Pengumpulan data 3. Pengumpulan data
4. Perubahan data dalam bentuk bahasa yang dapat dibaca oleh mesin
5. Pengeditan data
6. Pemeriksaan transaksi yang ditolak 7. Penyortiran edit data
•
Pembuatan Berkas Laporan
1. Header Record; 2. Detail Record; 3. Footer Record;
•
Retrieval Terhadap Berkas Sequential
Record pada berkas sequential di retrieve secara berurutan. Retrieve dari sebuah berkas dapat dibagi 2, yaitu : Report Generation dan Inquiry, yang bergantung pada jumlah data yang dihasilkan
pada jumlah data yang dihasilkan.
•
Hit Ratio
1. Banyaknya record yang harus diakses untuk mendapatkan informasi yang diinginkan dibagi dengan banyaknya record dalam berkas tersebut . 2. Semakin rendah hit ratio, semakin tidak baik bila
menggunakan organisasi sequential menggunakan organisasi sequential. 3. Semakin tinggi hit ratio, semakin baik bila
menggunakan organisasi sequential.
•
Update Terhadap Berkas Sequential
1. Frekuensi dimana sebuah master file harus di-update bergantung pada faktor-faktor :
2. Tingkat perubahan data 3. Ukuran dari master file
4 K b t h d k d i d t d
4. Kebutuhan yang mendesak dari data yang sedang berjalan pada master file
5. File activity ratio • File Activity Ratio
1. Banyaknya record pada master file yang di-update dibagi dengan banyaknya record pada master file. 2 Semakin tinggi file activity ratio semakin lama proses 2. Semakin tinggi file activity ratio, semakin lama proses
peng-update-an master file.
3. Semakin tinggi kebutuhan akan data yang baru pada master file, maka semakin sering file tersebut diakses. 4. Semakin sering master file di-update, semakin tinggi
• Istilah-istlah pada file;
– Elemen Data (Field) merupakan unit data terkecil yang tidak dapat dibagi lagi menjadi unit yang berarti.
Contoh : elemen data (field) dalam record
mahasiswa adalah nama mahasiswa, umur dan mahasiswa adalah nama mahasiswa, umur dan alamat
– Record (Catatan), terdiri dari semua elemen data yang berhubungan dengan suatu objek atau kegiatan tertentu
• Operasi File sequential Terdiri dari :
1. Penyisipan Record;2. Penghapusan Record; 3. Perubahan Isi Record;
Penyisipan Record
• File merupakan berkas yang berisi data. Dimana di dalamnya terdapat record yang memuat informasi. Dibawah ini terlampir data yang akan disimpan ke dalam file
NAMA MAHASISWA UMUR ALAMAT
Bimbi 15 Setia Budi, Jakarta Anang 27 Grogol, Jakarta Ikram 31 Kebayoran, jakarta Ikram 31 Kebayoran, jakarta
Dewi 24 Dago, Bandung
John Fair 19 Sunter, Jakarta Shelli 32 Pd. Bambu, Jakarta
• Data diatas terdiri atas tiga item yaitu nama, umur dan alamat. Untuk proses penyimpanan ke file maka perlu disiapkan variable yang dipakai sebagai variable input dan output. Proses ini digambarkan melalui flowchart berikut (lihat gambar 1).
Gambar 1:
Flowchart penyimpanan record
• Berdasarkan flowchart di atas, variable yang
berfungsi sebagai input adalah :
– NM : Data Nama – UM : Data Umur – ALM : Data Alamat
• Sedangkan variable berfungsi sebagai output adalah : NMO : Data Nama
UMO : Data Umur ALMO : Data Alamat
Setelah semua data tersimpan di dalam file, isi file secara logika dapat digambarkan seperti berikut :
• Tanda /* biasanya digunakan sebagai tanda dari record sebagai tanda dari record yang terakhir. Selain tanda /* juga sering dipakai sebagai akhir file adalah EOF (end of file).
• File yang diorganisir secara sequential hanya dapatFile yang diorganisir secara sequential hanya dapat
diakses secara berurutan. Misalnya jika ingin mengadakan perubahan pada record ke-5 maka proses pembacaan record dilakukan mulai dari record pertama sampai pada record yang dituju.
• Misalnya, untuk penambahan record ke dalam suatu file, maka posisi record terakhir harus diketahui Karena record maka posisi record terakhir harus diketahui. Karena record baru diletakkan pada posisi setelah record terakhir.
Berikut ini terlampir flowchart yang memperlihatkan proses penambahan record baru (gambar 2).
Gambar 2: Flowchart Penambahan Record
• Bagaimana halnya jika record baru disisipkan di antara dua record yang ada didalam file? Misalnya record baru dengan data sebagai berikut :
– Nama = Faisal – Umur = 25 tahun
– Alamat = Rawamangun, Jakarta
• Untuk penyisipan record, posisi yang akan ditempati oleh record baru harus diketahui dengan jelas. Posisi ini dapat diketahui dengan cara memeriksa salah satu isi field dari suatu record. • Dari ilustrasi gambar di atas terlihat bahwa data yang akan
disisipkan diletakkan pada posisi setelah record dengan file NAMA yang berisi IKRAM.
• Proses penyisipan record juga memerlukan satu file baru untuk menampung hasil akhir dari penyisipan. Dibawah ini terlampir system flowchart yang memperlihatkan proses tersebut.
• System flowchart untuk penyisipan record
• System flowchart diatas memperlihatkan bahwa data yang akan disisipkan diinput melalui keyboard.
Sedangkan file yang akan disisipkan data tersebut diambil dari FILE01. Sedangkan file baru hasil penyisipan adalah FILE02.
Berikut ini terlampir flowchart yang memperlihatkan proses penyisipan record secara rinci.
Gambar 4
• Dari flowchart di atas, proses penyisipan dapat di urutkan sebagai berikut:
1. Proses pertama adalah menunggu input data dari keyboard. Input ini berupa data yang akan disisipkan ke dalam file. Variabel yang dipakai sebagai input adalah :
1. NMS : Variabel Nama 2. UMS : Variabel Umur 3. ALMS : Variabel Alamat
2. Baca record dari FILE01, variable yang digunakan untuk menampung data dari file ini adalah :
1. NM : Variabel Nama 2. UM : Variabel Umur 3. ALM : Variabel Alamat
3. Periksa isi record, jika isinya sama dengan /* maka proses berakhir
4. Pindahkan record dari FILE01 yang tersimpan didalam variabel NM, UM, ALM ke variable penampung untuk FILE02. Variabel penampung tersebut adalah :
1. NMO : Variabel Nama 2. UMO : Variabel Umur 3. ALMO : Variabel Alamat
5. Pindahkan data di variable penampung ke dalam file FILE02
6. Periksa isi variable NM, jika isi NM tidak sama dengan ‘IKRAM’ maka proses kembali ke langkah 2 untuk
membaca record selanjutnya. Jika isi NM = ‘IKRAM’ maka lakukan langkah 7
7 Pindahkan data yang akan disisipkan ke variable 7. Pindahkan data yang akan disisipkan ke variable
penampung untuk FILE02. Data yang akan disisipkan ini tersimpan di dalam variable NMS, UMS, ALMS
8. Pindahkan data di dalam variable penampung ke dalam file FILE02
9. Kembali ke langkah 2 untuk data berikutnya
• Setelah proses di atas dilakukan maka terbentuk satu file baru yaitu FILE02. File ini berasal dari file sebelumnya yaitu FILE01 namun telah disisipkan satu data.
Penghapusan Record
• Record yang akan dihapus dapat diketahui dengan cara memeriksa salah satu isi field dari suatu record.
Dibawah ini terlampir system flowchart yang
memperlihatkan proses penghapusan record (lihat
keterangan gambar 5)
• Penghapusan record dilakukan terhadap FILE01. Record yang akan dihapus diinput melalui keyboard. Hasil penghapusan record disimpan didalam file FILE02. • Record nomor 5 dengan field nama yang berisi ‘DEWI’
akan dihapus. Flowchart untuk proses penghapusan adalah sebagai berikut :
Gambar 5: flowchart penghapusan record
Berdasarkan flowchart di atas, proses penghapusan record dapat diurutkan sebagai berikut :
1. Proses pertama adalah menunggu input data dari keyboard. Data ini menunjukkan record data yang akan y j y g di hapus dan disimpan didalam variable NMH.
Berdasarkan contoh ini maka variable NMH diisi dengan nama ‘DEWI”
2. Baca record dari FILE01. Variabel yang digunakan untuk menampung data dari file ini adalah :
1. NM1 : Variabel Nama 2 UM1 : Variabel Umur 2. UM1 : Variabel Umur 3. ALM1 : Variabel Alamat
3. Periksa isi record, jika isinya sama dengan /* maka proses berakhir
4. Periksa isi variable NM1. Jika isi NM1 = NMH berarti record yang telahdibaca dari file FILE01 merupakan record yang akan dihapus. Oleh karena itu record ini diabaikan atau tidak perlu ditulis ke file baru dan proses kembali ke langkah 2 untuk membaca record
selanjutnya Sebaliknya jika NM1 tidak sama dengan selanjutnya. Sebaliknya jika NM1 tidak sama dengan NMH maka lakukan langkah 5 untuk menulis record tersebuit ke file baru yaitu FILE02.
5. Pindahkan record dari FILE01 yang tersimpan di dalam variable NM1, UM1, ALM1 ke variable penampung untuk FILE02. Variabel penampung tersebut adalah : 4. NMO : Variabel Nama
5. UMO : Varaibel Umur 6. ALMO : Variabel Alamat
6. Pindahkan data di variable penampung ke dalam file FILE02
Perubahan Isi Record
• Perubahan record merupakan modifikasi
terhadap isi record dari satu file
terhadap isi record dari satu file.
• Proses ini hampir serupa dengan proses yang
telah di jelaskan sebelumnya. Record yang akan
dimodifikasi di cari dengan memeriksa isi salah
satu field.
• Misalnya dari file sebelumnya yaitu FILE02 akan
dil k k
b h
i i
d
it
d k 4
dilakukan perubahan isi record yaitu record ke-4
dengan field nama sama dengan ‘FAISAL’.
Maka flowchartnya adalah (lihat gambar 6)
Gambar 6: flowchart perubahan isi record
1
Berdasarkan flowchart diatas, proses perubahan data dapat diurutkan sebagai berikut :
1. Proses pertama adalah menunggu input data dari keyboard. Data ini menunjukkan record data yang akan diuabh. Berdasarkan contoh ini maka variable NM1 diisi dengan nama ‘FAISAL’
dengan nama ‘FAISAL’.
2. Baca record dari FILE02. Variabel yang digunakan untuk menampung data dari file ini adalah :
1. NM2 : Variabel Nama 2. UM2 : Variabel Umur 3. ALM2 : Variabel Alamat
3. Periksa isi record, jika isinya sama dengan /* maka proses berakhir
proses berakhir
4. Periksa isi variable NM2. Jika isi NM2 tidak sama dengan NM1 berarti record yang telah dibaca dari file FILE02 bukan merupakan record yang akan diubah. Maka langkah selanjutnya adalah kembali ke langkah 2 untuk membaca record yang lain. sebaliknya, jika isi NM2 sama dengan NM1 maka lanjutkan ke langkah 5.
1. Lakukan proses input data. Data ini merupakan data baru yang akan mengubah data didalam record yang akan diubah. Masing-masing data dimasukkan di dalam variable :
1. NMB : Variabel Nama 2. UMB : Variabel Umur 3. ALMB : Variabel Alamat
Dalam contoh ini variable tersebut diisi sebagai berikut :
• NMB : HARRY • UMB : 30
• ALMB : Tebet, Jakarta
2. Perbaharui data yang lama dengan data baru dengan cara memindahkan data baru ke tempat penampungan data. Variabel yang digunakan sebagai penampung data adalah :
adalah :
• NMO : Variabel Nama • UMO : Variabel Umur • ALMO : Variabel Alamat
3. Pindahkan data divariabel penampung ke dalam file FILE02
Kinerja File Sequential
• R = a. V
a : Jumlah atribut pada 1 recordp
V : Panjang rata – rata nilai atribut (byte) • Fetch Record (TF)
– Pencarian menggunakan atribut non-kunci
• Belum ada file log rata – rata ½ file akan ditelusuri TF= ½ waktu pencarian seluruh blok
TF= ½ b. B / t’ = ½ n R / t’ • Sudah ada file log
TFo= ½ o R / t’
TF= ½ (n + o) R / t’
Kinerja File Sequential
• Fetch Record (TF)
– Pencarian menggunakan atribut kunci (pencarian biner)gg (p ) • Belum terbentuk log
TF=2log (b) (s + r + btt + c)
TF=2log (n / Bfr) (s + r + btt + c)
• Sudah terbentuk log
TF=2log (n / Bfr) (s + r + btt + c) + TFO
TF=2log (n / Bfr) (s + r + btt + c) + ½ o (R / t’)
• Waktu untuk mendapatkan 1 record berikutnya (TN)
TN = waktu transfer 1 blok x peluang ditemukannya record dalam
blok yang sama TN= btt / Bfr = R / t
Kinerja File Sequential
• Waktu penyisipan record baru (TI)
– Cari, geser, sisip, g , p
TI= TF+ ½ (n / Bfr) (btt + TRW) – Memakai log file
TI= s + r + TRW+ (TY/ o)
• Waktu Update (TU)
– Bukan kunci TU= TF+ TRW
– Terhadap kunci : cari record, hapus record, sisipkan record TU= TF(main) + TI(file log)
Kinerja File Sequential
• Waktu pembacaan seluruh record (TX)
TXX= Tsortsort(o) + (n + o) R / t’( ) ( )
• Waktu reorganisasi File (TY)
TY= Tsort(o) + nold(R / t’) + o (R / t’) + nnew(R / t’) TY= Tsort(o) + 2 (n + o) (R / t’)
Soal Latihan
• Diketahui file sequential : • Putaran disk = 8000 rpm • Seek time (s) = 5 ms = 0,005 s • Transfer rate (t) = 2048 byte/s • TRW= 2r
• Ukuran blok (B) = 4096 byte • Ukuran pointer blok (P) = 8 byte • IBG (G) = 1024 byte
• Jumlah record pada file (n) = 100000 record • Jumlah field (a) = 8 field
• Panjang nilai (V) = 25 byte
• Jumlah record file log (o) = 5000 record • Waktu pemrosesan (c) = 2 ms = 0,002 s
Soal Latihan
• Hitung :
R, T, FF,, TNN,, TII,, TUU, T, XX, T, YYjika metode blocking :j g
– Fixed
– Variable-length spanned – Variable-length unspanned
Pembahasan Soal Latihan
Metode Fixed Blocking
R = a V= 8 * 25 =
200 byte
R = a. V= 8 25 =200 byte
TF(Non Kunci ) =½ (n + o) R / t’ Bfr = B / R= 4096 / 200 = 20,48 =20 record
W = G / Bfr= 1024 / 20 =51 byte
t’ = (t / 2) (R / (R + W)) = (2048 / 2) (200 / (200 + 51)) = (1,024) (200 / 251) = 1024 (0,797) =815,94 s
TF = ½ (n + o) R / t’ = ½ (100000 + 5000) (200 / 815,94) = ½ (105,000) (0,245) = 52500 (0,245) =12868,59 s
,
Pembahasan Soal Latihan
• TF(Kunci) =2log (n / Bfr) (s + r + btt + c) + TFO
r = (60 1000) / (2 rpm)
R = 200 Byte
Putaran disk = 8000 rpm Ukuran blok (B) = 4096 byte
Transfer rate (t) = 2048 byte/s t’ = 815,94 r = (60 . 1000) / (2 rpm) = 60000 / (2 * 8000) = 6000 / 16000 = 3,75 ms =
0,00375 s
btt = B / t = 4096 / 2048 =2 s
TFo= ½ o R / t’ = ½ (5000) (200 / 815,94) = ½ (5000) (0,2451) = ½ (1,225) =612,79 s TF=2log (n / Bfr) (s + r + btt + c) + TFOJumlah record pada file (n) = 100000 record Bfr = 20 Record Seek time (s) = 5 ms = 0,005 s R = 200 Byte Btt = 2 Second Waktu pemrosesan (c) = 2 ms = 0,002 s Tfo = 612,79 Second =2log (100000 / 20) (0,005 + 0,00375 + 2 + 0,002) + 612,79 =2log (5000) (2,01075) + 612,79 = 12,29 (2,01075) + 612,79 = 24.7121175 + 612,79 =
637,5 s
• TN= btt / Bfr = 2 / 20 =0,1 sPembahasan Soal Latihan
Jumlah record file log (o) = 5000 record btt = 2 Second
t’ = 815,94 R = 200 Byte
Jumlah record pada file (n) = 100000 record
• TI= s + r + TRW+ (TY/ o)
Tsort(o) =2log (o / btt)
=2log (5000 / 2) =
11,29 s
TY = Tsort(o) + 2 (n + o) (R / t’) = 11,29 + 2 (100000 + 5000) (200 / 815,94) = 11,29 + 2 (105.000) (0,245) = 11,29 + 210,000 * 0,245 = 11,29 + 51,450 =51461,29 s
TI= s + r + TRW+ (TY/ o) Seek time (s) = 5 ms = 0,005 s Ty = 51461,29 sJumlah record file log (o) = 5000 record
Tf = 637,5 s TRW = 2r r = 0,00375 s = 0,005 + r + 2r + (51461,29 / 5000) = 0,005 + 3r + 10,29 = 0,005 + 3 (0,00375) + 10,29 =
10,31 s
• TU(Non Kunci) = TF+ TRW = 12868,59 + 2 (0,00375) = 128686 + 0,0075 =12868,6 s
Pembahasan Soal Latihan
Seek time (s) = 5 ms = 0,005 s r = 0,00375 s Waktu pemrosesan (c) = 2 ms = 0,002 s T1 = 10,31 S Tf(main) = 24,71 s Bfr = 20 record btt = 2 SecondJumlah record pada file (n) = 100000 record
• TU(Kunci) = TF(main) + TI(file log) TF(main) =2log (n / Bfr) (s + r + btt + c)
=2log (100000 / 20) (0,005 + 0,00375 + 2 + 0,002)
=2log (5000) (2,01075)
=
24,71 s
,
TU= TF(main) + TI(file log)= 24,71 + 10,31 =
35,02 s
• TX = Tsort(o) + (n + o) R / t’
= 11,29 + (100000 + 5000) (200 / 815,94)
Jumlah record file log (o) = 5000 record Jumlah record pada file (n) = 100000 record T(sort) = 11,29 s R = 200 Byte t' = 815,94 s , ( ) ( , ) = 11,29 + 105000 (0,245) =