• Tidak ada hasil yang ditemukan

SISTEM BERKAS. Materi Sistem Berkas

N/A
N/A
Protected

Academic year: 2021

Membagikan "SISTEM BERKAS. Materi Sistem Berkas"

Copied!
59
0
0

Teks penuh

(1)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 1

Sesi 1

SISTEM BERKAS

Materi Sistem Berkas

1. Konsep Dasar Sistem Berkas 2. Media Penyimpanan

3. Organisasi Berkas Primer 4. Organisasi Berkas Sequential 5. Organisasi Berkas Langsung

6. Organisasi Berkas dengan Banyak key 7. Organisasi Berkas Relatif

8. Organisasi Berkas Indeks Sequential 9. Manajemen Kolisi

10. Pengurutan Rekaman 11. Sort dan Merge File

12. Pengenalan Kontrol Input/Output

Sistem Penilaian

Nilai Akhir = (40% x UTS) + (60% x UAS) UTS = (50% x nilai quiz) + (50% x nilai UTS)

(2)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 2 Rencana Penjadwalan kuliah

SESI TANGGAL MATERI

1 Senin/27 Feb 2012 (kls A) Rabu/29 Feb 2012 (kls B)

Pengenalan

Pokok materi selama satu semester Materi 1. Konsep Dasar Sistem Berkas

2 Senin/05 Mar 2012 (kls A) Rabu/07 Mar 2012 (kls B)

Materi 2. Media Penyimpanan

3 Senin/12 Mar 2012 (kls A) Rabu/14 Mar 2012 (kls B)

Materi 3. Organisasi Berkas Primer

4 Senin/19 Mar 2012 (kls A) Rabu/21 Mar 2012 (kls B)

Quiz (Bahan dari materi 1 s/d 3)

5 Senin/26 Mar 2012 (kls A) Rabu/28 Mar 2012 (kls B)

Materi 4. Organisasi Berkas Sequential

6 Senin/02 Apr 2012 (kls A) Rabu/04 Apr 2012 (kls B)

Materi 5. Organisasi Berkas Langsung

7 Senin/09 Apr 2012 (kls A) Rabu/11 Apr 2012 (kls B)

Materi 6. Organisasi Berkas dengan Banyak key

Sesuai Jadwal UTS (Bahan dari materi 4 s/d 7) 8 Senin/30 Apr 2012 (kls A)

Rabu/02 Mei 2012 (kls B)

Materi 7. Organisasi Berkas Relatif

9 Senin/07 Mei 2012 (kls A) Rabu/09 Mei 2012 (kls B)

Materi 8. Organisasi Berkas Indeks Sequential

10 Senin/14 Mei 2012 (kls A) Rabu/16 Mei 2012 (kls B)

Materi 9. Manajemen Kolisi

11 Senin/21 Mei 2012 (kls A) Rabu/23 Mei 2012 (kls B)

Materi 10. Pengurutan Rekaman

12 Senin/28 Mei 2012 (kls A) Rabu/30 Mei 2012 (kls B)

Materi 11.Sort dan Merge File

13 Senin/04 Juni 2012 (kls A) Rabu/06 Juni 2012 (kls B)

Tugas (Bahan dari materi 7 s/d 11)

14 Senin/11 Juni 2012 (kls A) Rabu/13 Juni 2012 (kls B)

Materi 12. Pengenalan Kontrol Input/Output

(3)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 3

Materi 1

KONSEP DASAR SISTEM BERKAS

Komputer dapat menyimpan informasi dalam berbagai bentuk fisik tempat penyimpanan seperti pita magnetik, disk magnetic, disk optical.

Sistem operasi memberikan pandangan logis yang sejenis dari tempat penyimpanan informasi. Bentuk penyimpanan abstraksi dari unit penyimpan informasi dalam bentuk fisik adalah file. File–file dipetakan oleh sistem operasi ke dalam peralatan fisik.

A. PENGERTIAN SISTEM BERKAS

File/berkas adalah sekumpulan informasi yang saling berkaitan dan didefenisikan oleh pembuatnya. Umumnya berkas adalah sekumpulan bit, byte, record di mana artinya didefenisikan oleh pembuat dan pemakainya. File data dapat berbentuk numeric, alfabeth ataupun alfanumeric. File dapat berbentuk bebas seperti file teks atau terstruktur. Suatu file mempunyai nama dan diacu berdasarkan nama tersebut. Juga mempunyai komponen lain seperti tipe, waktu pembuatan, nama dan nomor account dari pembuatnya, besar ukuran file. Kita dapat menulis informasi, mengubah informasi, menambah dan menghapus informasi dalam file.

Sistem berkas adalah suatu sistem untuk mengetahui bagaimana cara menyimpan data dari file tertentu dan organisasi file yang digunakan.Sistem berkas menyediakan pendukung yang memungkinkan programmer mengakses file tanpa menyangkut perincian karakteristik penyimpanan dan peralatan pewaktu. Sistem berkas mengubah pernyataan akses file menjadi instruksi/output level rendah.

Sistem berkas adalah cara untuk mengambil informasi dari suatu file. Pengarsipan dan akses adalah :

a) Cara untuk membentuk suatu arsip/file dan cara pencarian record-recordnya kembali.

b) Sistem berkas dan akses adalah sistem pengorganisasian, pengelolaan dan penyimpanan data pada alat eksternal dan pada organisasi file tertentu. Pada sistem berkas dan akses penyimpanan data dilakukan secara fisik.

c) Teknik yang digunakan untuk menggambarkan dan menyimpan record pada file disebut organisasi file.

Berikut ini adalah 4 komponen sistem berkas : a) Disk Management.

Menjelaskan bagaimana seharusnya menyusun blok-blok disk ke dalam file. b) Naming.

Berguna bagi pemakai yang memungkinkan untuk menunjuk file dengan penamaan yaitu dengan mengenali blok-blok disk.

(4)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 4 c) Protection.

Suatu cara untuk memproteksi pemakai-pemakai file dari pemakai lain. d) Reliability.

File-file yang diperlukan ada tersedia jika terjadi kerusakan sistem .Setiap sistem operasi memiliki sistem tersendiri.

Contoh : FAT 32 pada Window 9x. NTFS pada Windows NT dan Windows XP.FAT 16 pada MS-DOS. Ext2,Ext3 dan Reiser pada Linux. Masing–masing file sistem mempuyai metode yang berbeda dalam pengaksesesan, pengorganisasian dan pengeloaan pada disk.

B. PENGERTIAN ORGANISASI FILE

Pengorganisasian merupakan suatu teknik yang dipakai untuk menggambarkan dan menyimpan record-record dalam sebuah berkas/file.

Ada 4 teknik dasar dari organisasi berkas, yaitu : 1) Sequential

2) Relative

3) Indexed sequential 4) Multi key

Secara umum berbeda dalam hal cara pengaksesannya, yaitu :

1) Direct acces, yaitu suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh record yang ada.

2) Sequential Acces, yaitu suatu cara pengaksesan record yang didahului pengaksesan record-record didepannya.

C. ISTILAH-ISTILAH DASAR

Entitas : Adalah suatu objek yang dapat dibedakan dari

lainnya. Objek disini dapat berupa barang, orang, maupun peristiwa. Contoh : Entitas gaji pegawai, entitas nomor telepon, entitas nilai ujian.

Atribut : Adalah karakteristik yang menjadi ciri dari entitas.

Contoh Entitas gaji pegawai terdiri dari atribut : NIP, nama, jem lembur, tunjangan, gaji pokok.

Item Data : Tempat penyimpanan tiap atribut dari sebuah

entitas. Contoh : Item data untuk nama mahasiswa. Biasa disebut field, namun dipakai untuk menunjukkan tempat dimana item data disimpan.

(5)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 5

Item data elementer : Adalah bagian lebih kecil dari item data. Contoh :

item data tanggal dapat dibagi menjadi intem data elementer tanggal, bulan, dan tahun.

Record : Adalah kumpulan item data yang saling

berhubungan.

Berkas/file : Adalah kumpulan record yang saling berhubungan.

D. HUBUNGAN FIELD, RECORD, DAN FILE Contoh : File Siswa yang berisi berikut ini

NIM Nama Alamat

11.01.0020 Dinny Singosari 11.01.0057 Wahyu Blitar 11.01.0059 Widarti Sumedang

File siswa tersebut memiliki 3 field, yaitu NIM, Nama, dan Alamat. Juga memiliki 3 record, yaitu :

1) 11.01.0020 Dinny Singosari 2) 11.01.0057 Wahyu Blitar 3) 11.01.0059 Widarti Sumedang

Record

(6)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 6

Sesi 2

Materi 2

MEDIA PENYIMPANAN FILE

A. PENYIMPANAN PRIMER

Penyimpanan primer (primary memory) atau disebut juga Memori utama (main memory) dan memori internal (internal memory).Komponen ini berfungsi sebagai pengingat.Dalam hal ini, yang disimpan didalam memori dapat berupa data atau program.

Penyimpanan primer dibedakan menjadi dua macam, yaitu :

RAM

Random-Access Memory adalah jenis memori yang isinya dapat diganti selama komputer dihidupkan dan mempunyai sifat bisa mengingat data/program selama terdapat arus listrik (komputer hidup). RAM dapat menyimpan dan mengambil data dengan sangat cepat.

ROM

Read-Only Memory adalah jenis memori yang hanya bisa dibaca.Disediakan oleh vendor komputer dan berisi program atau data.

Selain itu ada pula Cache memory,yaitu memori yang memiliki kecepatan yang sangat tinggi yang digunakan sebagai perantara antara RAM dan CPU.

B. PENYIMPANAN SEKUNDER

Penyimpanan sekunder atau disebut secondary memory adalah penyimpanan data yang relative mampu bertahan dalam jangka waktu yang cukup lama di luar CPU maupun penyimpanan primer.

Ada dua jenis penyimpanan sekunder, yaitu :

1. Serial/sequential access storage device(SASD)

Contoh : Magnetic tape, punched card, punched paper tape 2. Direct access storage device (DASD)

Contoh : Magnetic disk, floppy disk,

C. JENIS MEDIA PENYIMPANAN FILE 1. Magnetic Tape

Adalah alat penyimpanan data untuk berkas besar, yang di akses dan diproses secara sequential.

Magnetic tape dibuat dari bahan plastik tipis yang dilapisi oleh besi magnet oksida pada satu sisinya, berwarna merah kecoklatan.

(7)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 7 Magnetic tape adalah model pertama dari secondary memory.Tape ini digunakan untuk merekam audio, video dan untuk menyimpan informasi berupa sinyal komputer.

Panjang tape pada umumnya 2400 feet, lebarnya 0.5 inch dan tebalnya 2 mm. Data disimpan dalam bintik kecil yang bermagnit dan tidak tampak pada bahan plastik tersebut.

Contoh :cassette tape dan kaset video

2. Magnetic Disk

Adalahpiranti penyimpanan sekunder yang paling banyak dijumpai pada sistem komputer.

Magnetic disk terdiri dari logam yang kaku atau plastic yang fleksibel.Pada saat disk digunakan, motor drive berputar dengan kecepatan yang sangat tinggi.Ada sebuah read−write head yang ditempatkan diatas permukaan piringan tersebut.Permukaan disk terbagi atas beberapa track yang masih terbagi lagi menjadi beberapa sector. Fixed−head disk memiliki satu head untuk tiap−tiap track, sedangkan Moving−head disk (atau sering dikenal dengan nama hard disk) hanya memiliki satu head yang harus dipindah−pindahkan untuk mengakses dari satu track ke track yang lainnya. Contoh : Floppy disk (disket), hardisk.

3. Optical Disk

Optical disk tidak menggunakan bahan yang bersifat magneti sama sekali. Optical disk menggunakan bahan spesial yang dapat diubah oleh sinar laser menjadi memiliki spot-spot yang relatif gelap atau terang.contoh dari optical disk ini adalah CD-RW dan DVD-RW.

(8)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 8

Sesi 3

Materi 3

ORGANISASI BERKAS PRIMER

Organisasi berkas akan mempelajari struktur yang tepat untuk mengorganisasi:

Jumlah rekaman yang besar Berkas dengan kinerja tertentu

Informasi yang diolah dengan cara yang berbeda untuk keperluan yang

berbeda

Informasi yang memungkinkan dilakukannya tugas-tugas khusus

Menyelesaikan permasalahan dengan cara yang berbeda dari yang selama ini

dilakukan

A. ORGANISASI BERKAS

Terdapat tiga oganisasi berkas primer, yaitu sekuensial, langsung, dan sekuensial berindeks. Masing-masing organisasi tersebut memiliki cara memproses atau mengakses berkas.

Organisasi Akses

Sekuensial Sekuensial

Sekuensial berindeks Sekuensial atau langsung

Langsung langsung

Sebagai contoh, terdapat sejumlah unit informasi yang disebut rekaman yang mengandung data mengenai entitas individual.Rekaman tersebut dapat diuraikan menjadi unit-unit yang lebih kecil, yang disebut medan-medan yang mengandung nilai-nilai khusus bagi atribut-atribut yang mewakili individu tersebut.

B. MEDAN DATA

Medan berisi nilai dasar yang membentuk sebuah rekaman. Isi sebuah medan bergantung pada atribut yang dimiliki oleh individu pemilik rekaman. Nilai tersebut pada saatnya nanti akan dimanipulasi oleh proses komputasi. Nilai-nilai dalam medanharus tunduk pada deskripsi tentang tipe nilai, kapasitas byte maksimum, domain dan seterusnya yang dimiliki oleh medan tersebut.

Rekaman yang disimpan dalam berkas pada umumnya memiliki medan yang berfungsi khusus, yaitu sebagai identitas rekaman yang memiliki sifat pembeda baik internal maupun eksternal. Medan ‘tanggal’ yang umumnya dimiliki oleh sebuah rekaman merupakan contoh yang unik. Medan tersebut bisa memiliki kapasitas byte maksimum 8, dan disusun dari 3 medan yang lebih elementer, yaitu tanggal (2digit), bulan (2digit), tahun (4digit). Data tanggal paling baik dinyatakan dalam tipe bilangan,

(9)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 9 mengingat tanggal memiliki kemungkinan untuk diperbandingkan (lebih tua atau lebih muda), proses dengan aritmatik sederhana (menghitung umur) dan sebagainya.

Pemilihan tipe data yang paling sesuai dengan kebutuhan yang disyaratkan oleh sistem yang sedang dibangun merupakan hal yang penting.Suatu domain yang spesifik, sangat baik bila diuraikan dalam satu tipe dan satu representasi. Representasi yang tidak sesuai akan menyebabkan hilangnya informasi yang sulit untuk dilacak kembali.

C. REKAMAN DATA

Medan ke-1 Medan ke-2 … Medan ke-n

Rekaman merupakan koleksi berbagai medan yang berisi beberapa item data elementer. Beberapa medan dapat berhubungan satu dengan yang lainnya karena mereka melakukan deskripsi suatu hal yang spesifik, misalnya tentang seseorang , tentang sebuah subyek, atau suatu kejadian. Informasi tentang seseorang mahasiswa misalnya, dapat disimpan dengan cara berikut :

Rekaman mahasiswa Nama Mahasiswa Nomor Mahasiswa Jenjang Program Studi

Dosen Wali SPP Data lain

Rekaman tersebut dapat disimpan dengan nama-nama medan ‚Nama Mahasiswa‛, ‚Nomor Mahasiswa‛, ‚Jenjang‛, ‚Program Studi‛, ‚Dosen Wali‛, ‚SPP‛, dan lain-lain. Kunci primernya merupakan suatu medan, atau gabungan beberapa medan, yang secara unik membedakan satu rekaman dengan yang lainnya, sedangkan semua medan yang tersisa merupakan kunci skunder dari atribut.

Sebagai contoh: medan ‚Nama Mahasiswa‛ ataupun ‚Nomor Mahasiswa‛ mungkin merupakan kunci primer, sedangkan medan ‚Jenjang‛, ‚Program Studi‛, dan yang lain merupakan kunci skunder.

D. BERKAS DATA

Sebuah berkas merupakan koleksi dari rekaman-rekaman yang sama, yang diletakkan dalam peralatan penyimpanan data komputer. Salah satu tipe peralatan penyimpanan eksternal, dari berbagai alternatif, adalah penggerak disk dengan disk magnetiknya. Sebuah berkas akan memiliki nama yang dikenal oleh sistem operasi, dan mempunyai struktur atau organisasi yang ditentukan oleh program pengakses berkas.

(10)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 10 Berikut ini adalah contoh berkas tentang mahasiswa di universitas:

Nama Mahasiswa Nomor Mahasiswa

Jenjang Program Studi Dosen Wali SPP Data

lain

Dian Kartika 11.50.001 S1 Sistem Informasi Made 500.000 …

Syda Arlin 11.50.011 S1 Sistem Informasi Sugeng 500.000 …

Yuniati 11.30.012 DIII Manajemen Informatika Made 400.000 …

Sunaryono 11.30.013 DIII Manajemen Informatika Made 400.000 …

Zainul 11.55.024 S1 Teknik Informatika Sugeng 500.000 …

Yenny Noorma 11.50.021 S1 Sistem Informasi Sugeng 500.000 …

Mustafa 11.50.025 S1 Sistem Informasi Sugeng 500.000 …

Kusmiyati 11.55.024 S1 Teknik Informatika Made 500.000 …

Susiana 11.55.024 S1 Teknik Informatika Made 500.000 …

Dewi Dwi 11.30.014 DIII Manajemen Informatika Made 400.000 …

Dalam merancang sebuah berkas untuk menyimpan semua rekaman yang menggambarkan tentang mahasiswa sebuah universitas, bukanlah gagasan yang baik bila beberapa tipe rekaman di campur-aduk, missal rekaman mahasiswa dengan daftar matakuliah yang ditawarkan, dalam sebuah berkas yang sama. Sebaliknya, mempunyai berbagai berkas yang berbeda juga mengundang berbagai kesulitan dikemudian hari.Untuk mengulangi kesulitan-kesulitan tersebut, para pakar berusaha mencari jalan keluar.Akhirnya ditemukan suatu alternatif yaitu menggabungkan rekaman-rekaman milik semua mahasiswa untuk semua jurusan dalam sebuah berkas.

(11)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 11

Sesi 5

Materi 4

ORGANISASI BERKAS SEKUENSIAL

Dalam organisasi ini, record-record direkam secara berurutan pada waktu berkas ini dibuat dan harus diakses secara berurutanpada waktu berkas ini digunakan sebagai input.

Berkas sekuensial sangat cocok untuk akses yang sekuensial, misalnya dalam aplikasi dimana sebagian besar atau semua rekaman akan diproses. Sebagai contoh adalah membuat daftar mahasiswa dalam sebuah program studi. Melakukan akses secara sekuensial berarti proses akan berpindah dari satu rekaman ke rekaman berikutnya secara langsung.

1 2 3 … i i+1 i+2 … n-1 n

Pencarian secara sekuensial adalah memproses rekaman – rekaman dalam berkas sesuai urutan keberadaan rekaman – rekaman tersebut sampai ditemukan rekaman yang diinginkan atau semua rekaman terbaca.

Berkas sekuensial juga dapat diproses secara tunggal dan langsung, jika diketahui subskripnya. Tetapi bagaimana kalau subskrip yang dimiliki bukan identitas utama rekaman, misal ‚Nama Mahasiswa‛ pada file berikut ini :

Nama Mahasiswa

Nomor Induk Mahasiswa

Jenjang Program Studi Dosen Wali

SPP Data lain

Dian Kartika 11.50.001 S1 Sistem Informasi Made 500.000 …

Syda Arlin 11.50.011 S1 Sistem Informasi Sugeng 500.000 …

Yuniati 11.30.012 DIII Manajemen Informatika Made 400.000 …

Sunaryono 11.30.013 DIII Manajemen Informatika Made 400.000 …

Zainul 11.55.024 S1 Teknik Informatika Sugeng 500.000 …

Yenny Noorma 11.50.021 S1 Sistem Informasi Sugeng 500.000 …

Mustafa 11.50.025 S1 Sistem Informasi Sugeng 500.000 …

Kusmiyati 11.55.027 S1 Teknik Informatika Made 500.000 …

Susiana 11.55.028 S1 Teknik Informatika Made 500.000 …

Dewi Dwi 11.30.014 DIII Manajemen Informatika Made 400.000 …

Pembacaan harus dilakukan secara sekuensial.Rekaman demi rekaman, sampai ‚Nama Mahasiswa‛ yang sesuai ditemukan. Misalnya untuk pembacaaan rekaman dengan ‚Nama Mahasiswa‛ = Sunaryono, diperlukan probe (akses terhadap lokasi yang berbeda) sejumlah 4 kali.

Yang harus dilakukan agar kinerja pembacaan rekaman lebih baik, maka rekaman-rekaman dalam berkas mahasiswa tersebut diurutkan untuk mendapatkan pengurutan yang linier berdasarkan nilai kunci rekaman.Baik secara alphabetis maupun numeris. Hasil pengurutannya adalah sbb :

(12)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 12 Nama

Mahasiswa

Nomor Induk Mahasiswa

Jenjang Program Studi Dosen Wali

SPP Data lain

Yuniati 11.30.012 DIII Manajemen Informatika Made 400.000 …

Sunaryono 11.30.013 DIII Manajemen Informatika Made 400.000 …

Dewi Dwi 11.30.014 DIII Manajemen Informatika Made 400.000 …

Dian Kartika 11.50.001 S1 Sistem Informasi Made 500.000 …

Syda Arlin 11.50.011 S1 Sistem Informasi Sugeng 500.000 …

Yenny Noorma 11.50.021 S1 Sistem Informasi Sugeng 500.000 …

Mustafa 11.50.025 S1 Sistem Informasi Sugeng 500.000 …

Zainul 11.55.024 S1 Teknik Informatika Sugeng 500.000 …

Kusmiyati 11.55.027 S1 Teknik Informatika Made 500.000 …

Susiana 11.55.028 S1 Teknik Informatika Made 500.000 …

Berkas diatas berisi rekaman mahasiswa urut berdasar ‚Nomor Induk Mahasiswa‛.Kolom ‚Nomor Induk Mahasiswa‛ menunjukkan nilai yang urut dari kecil ke besar.

Dengan demikian , hanya n/2 rekaman yang perlu diperiksa rekaman-demi-rekaman untuk menemukan rekaman-demi-rekaman yang diinginkan. Kalau pembacaan diteruskan melewati posisi dimana rekaman seharusnya berada (mengingat berkas sudah diurutkan), maka proses pencarian dihentikan.

Untuk membaca ‚Sunaryono‛ hanya diperlukan 2 probe, lebih kecil disbanding berkas sebelum diurutkan.Namun teknik tersebut masih kurang memuaskan untuk berkas dengan jumlah rekaman yang lebih besar.

A. PENCARIAN BINER (BINARY SEARCH)

Pencarian Biner dalah membandingkan kunci yang dicari dengan rekaman pada posisi tengah dari berkas. Bila sama (Kasus 1) rekaman yang diinginkan sudah ditemukan. Jika tidak sama (kasus 2), berarti separuh rekaman-rekaman dalam berkas akan dieliminasi dari perbandingan yang selanjutnya. Bila yang terjadi pada kasus 2, maka proses perbandingan terhadap rekaman pada posisi di tengah dilanjutkan menggunakan rekaman-rekaman yang tersisa.

Jumlah probe (yang diperlukan untuk membaca sebuah rekaman) pada sebuah berkas dengan rekaman yang sudah diurutkan, dapat diperkecil dengan menggunakan teknik pencarian biner.

Jika kunci cari<kunci tengah

maka bagian berkas

mulai dari kunci tengah sampai akhir berkas dieliminiasi.

sebaliknya jika kunci cari> kunci tengah, maka bagian berkas

mulai dari depan sampai dengan kunci tengah

(13)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 13 Dengan mengulang proses perbandingan terhadap rekaman tengah, maka lokasi rekaman yang diinginkan akan ditemukan atau diketahui bahwa rekaman yang diinginkan tersebut tidakberada dalam berkas.

Algoritma pencarian biner:

B. PENCARIAN INTERPOLASI

Pencarian interpolasi (asumsinya kunci rekaman numeris) menentukan posisi yang akan dibandingkan berikutnya berdasar posisi yang di estimasi dari sisa rekaman yang belum diperiksa. Pencarian interpolasi tidak mencari posisi tengah, seperti algoritma pencarian biner, melainkan menentukan posisi berikutnya.

Proc pencarian_biner

*/ n buah rekaman dalam berkas diurutkan menaik menurut kunci rekaman */

AWAL := 1 AKHIR := n

While AWAL <= AKHIR do Tengah := [(AWAL+AKHIR)/2] If kunci(cari) = kunci(tengah)

Then pencarian berakhir

Else if kunci(cari) > kunci(tengah) Then AWAL := Tengah + 1

Else AKHIR := tengah - 1 End

Rekaman tidak ditemukan End pencarian_biner

Proc pencarian_interpolasi

*/ n buah rekaman dalam berkas diurutkan menaik menurut kunci rekaman */

AWAL := 1 AKHIR := n

While AWAL <= AKHIR do

BERIKUT := [AWAL + kunci(cari) – kunci(AWAL) (AKHIR – AWAL)] Kunci(AKHIR)- kunci(AWAL)

If kunci(cari) = kunci(BERIKUT) Then pencarian berakhir

Else if kunci(cari) > kunci(BERIKUT) Then AWAL := BERIKUT + 1

Else AKHIR := BERIKUT - 1 End

Rekaman tidak ditemukan End pencarian_interpolasi

(14)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 14

Sesi 6

Materi 5

ORGANISASI BERKAS LANGSUNG

Pengguna teknologi pada umumnya dan teknologi informasi pada khususnya merasa bahwa waktu yang diperlukan untuk memperoleh suatu informasi masih terlalu lama.

Metode pencarian biner maupun interpolasi masih belum dapat mengimbangi ketidaksabaran manusia terhadap penyediaan informasi yang cepat dan akurat.

Perkembangan media perekam data dalam hal kemampuan untuk menampung volume data yang sangat besar harus diimbangi dengan peningkatan teknik pencarian kembali data yang tersimpan.

A.

KUNCI SEBAGAI ALAMAT REKAMAN YANG UNIK

Untuk mendapat rekaman yang diasosiasikan dengan suatu kunci primer, sangat diharapkan agar proses langsung menuju ke alamat tempat rekaman dengan kunci tertentu disimpan. Hal tersebut mungkin terjadi apabila satu kunci rekaman juga merupakan alamat lokasi rekaman.

Untuk aplikasi rekaman berisi nomor induk mahasiswa, terdapat 8 digit (kunci rekaman yang merupakan gabungan 2 digit tahun angkatan + 2 digit kode program studi + 4 digit nomor urut), maka diperlukan lokasi sebanyak 99.999.999.

Dengan demikian waktu pencarian akansangat baik, yaitu 1 probe untuk setiap rekaman yang dicari. Akan tetapi, teknik tersebut memiliki kerugian karena diperlukan ruang yang sangat besar untuk menampung semua rekaman.

Untuk menampung data NIM mahasiswa diperlukan ruang yang besar, meski jumlah mahasiswa mungkin hanya 500, pasti ada beberapa nomor yang kosong karena beberapa alasan, misalnya sudah lulus, mengundurkan diri, drop-out, cuti, dan sebagainya. Sehingga tidak semua ruang dimanfaatkan.

B.

KONVERSI KUNCI REKAMAN MENJADI SATU ALAMAT YANG UNIK

Contoh klasik yang menggambarkan fenomena konversi kunci rekaman adalah sistem reservasi penerbangan.Jika suatu maskapai penerbangan memiliki nomor penerbangan dari 1 sampai 999, ingin memantau reservasi pesawat selama setahun yang jumlah harinya 1 sampai 366 (1 tahun), maka nomor penerbangan dan hari-ke dapat dihubungkan untuk mendapatkan lokasi rekaman yang berisi data reservasi penerbangan pada hari tertentu.

(15)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 15 Dengan simbol + menandakan hubungan, maka untuk menyediakan semua kemungkinan penerbangan diperlukan ruang alamat sebesar 999366 unit. Jumlah tersebut dapat direduksi sampai dengan 30% bila digunakan kombinasi:

Karena kecil kemungkinan dalam satu maskapai terdapat lebih dari 100 penerbangan, maka ruang alamat maksimum yang diperlukan adalah 36699.

C.

MENENTUKAN ALAMAT DENGAN KONVERSI KUNCI

Diperlukan satu fungsi untuk memetakkan cakupan nilai kunci yang lebih luas ke dalam cakupan yang lebih sempit nilai alamat. Fungsi yang dikenal dengan fungsi hashakan melakukan pemetaan sebagaimana diharapkan.

Hash (kunci)  kemungkinan alamat

Keluaran dari proses hashing bukan lagi alamat yang unik, melainkan kemungkinan alamat bagi kunci yang di hash. Alamat untuk menempatkan alamat yang diperoleh dari fungsi hash disebut home-address untuk rekaman tersebut. Tidak ada batasan mengenai bentuk fungsi yang akan memetakkan kunci ke cakupan alamat, tetapi diharapkan fungsi tersebut menghasilkan kemungkinan alamat yang:

Mampu mendistribusi kunci secara merata ke dalam cakupan alamat. Hal tersebut

dimaksudkan untuk mengurangi terjadinya kolisi. Kolisi terjadi bila hasil hashing dua kunci rekaman yang berbeda menunjuk ke alamat yang persis sama.

Dapat dieksekusi dengan efisien. Hal tersebut dimaksudkan agar waktu

pembacaan dapat ditekan seminimal mungkin.

Maka fungsi hashing dapat dipandang dari 2 aspek, yaitu:

Fungsi hash itu sendiri

Metode untuk meresolusi kolisi

Mekanisme resolusi kolusi diperlukan untuk mengatasi terjadinya jumlah rekaman yang dikonversikan ke suatu lokasi melebihi kapasitasnya.Dalam bahasan ini diasumsikan bahawa satu lokasi memiliki kapasitas satu rekaman.Berikut adalah beberapa fungsi hash, dimulai dari yang paling sering digunakan.

a) Hashing dengan Kunci Modulus N

Satu fungsi hash yang paling popular dan paling sering diimplementasikan adalah modulus N,

LOKASI = HARI-KE DALAM TAHUN INI+ NOMOR PENERBANGAN

(16)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 16 dengan N sebagai ukuran tabel atau berkas. Hasil fungsi modulus adalah sisa pembagian kunci oleh N. Sabagai contoh untuk N=12 maka:

30 mod N = 6 40 mod N = 4

Keuntungan fungsi ini hanya menghasilkan nilai dalam rentang ruang alamat (0) sampai dengan (N-1)

b) Hashing dengan Kunci Modulus P

Fungsi hashing Kunci mod P merupakan variasi fungsi modulus N, rumusnya adalah:

dengan P sebagai bilangan prima terkecil yang lebih besar atau sama dengan N. dan N adalah ukuran tabel. P ini kemudian menjadi ukuran tabel baru yang menggantikan N. Contoh: untuk N=12 maka P=13

30 mod P = 4 40 mod P = 1

c) Hashing dengan Pemotongan

Alternatif lain untuk fungsi hashing adalah pemotongan. Sebagai contoh adalah para pegawai negeri sipil di Indonesia. Para pegawai memiliki NIP (Nomor Induk Pegawai) dengan panjang total 9 digit, terdiri atas 3 digit pertama sebagai identitas departemen, sementara 6 digit terakhir adalah nomor urutnya. Bila ingin dijadikan 6 digit saja, maka bisa dilakukan pemotongan jumlah digit.Pemotongan bisa dilakukan dibagian mana saja, tentunya dengan konsekuensi masing-masing.

Pada kasus NIP, jika pemotongan dilakukan pada bagian belakang, akan diperoleh sejumlah alamat yang memiliki 3 digit yang sama (identitas departemen) sehingga kemudian kolisinya akan lebih besar dibanding bila pemotongan dilakukan di bagian depan.

d) Hashing dengan Lipatan

Fungsi ini melipat digit pada batasan yang ditentukan berdasarkan kondisi digit awal dan digit yang akan dihasilkan. Sebagai contoh 9 digit NIP akan direduksi menjadi 3 digit, maka digit awal di bagi 3, kemudian dilipat pada batas antar-bagian.

Contoh :

5 8 3 9 7 6 1 2 4

Kunci asli tersebut ditulis pada selembar kertas. Batasan dimana lipatan akan dilakukan ditandai dengan garis .

(17)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 17 Penjumlahan dari susunan tersebut adalah:

385 976 421 --- +

Jika penjumlahan dilakukan dengan mengabaikan carry maka diperoleh alamat 672, sedangkan jika tidak mengabaikan carry maka hasilnya 782.

e) Hashing dengan Penggeseran

Hashing dengan penggeseran memiliki proses yang serupa dengan hashing lipatan, bedanya setelah ditentukan batasan. Digit asli dipotong kemudian digeser dan dihitung hasil jumlahnya.

583 976 124 --- +

Yang diperoleh alamat yang berbeda yaitu 573 (tanpa carry). Jika kedua hasil penjumlahan tersebut diterapkan dengan menggunakan carry dan hanya tiga digit yang paling kanan saja yang digunakan, maka diperoleh 683.

f) Hashing dengan Pengkuadratan

Hashing dengan penguadratan adalah fungsi hashing dengan menguadratkan kunci.Hasil penguadratan ini kemudian dapat dikombinasi dengan pemotongan atau lipatan untuk mendapatkan alamat yang diperbolehkan. Sebagai contoh, penguadratan kunci 782 akan menghasilkan kemungkinan alamat 117.

F(782) = 117

g) Hashing dengan Konversi Radix

Dalam konversi radix, kunci dianggap dalam base selain 10 yang kemudian dikonversi ke dalam basis 10, misal kunci 5 6 7 8 dalam base 13 akan menghasilkan 12098, diperoleh dari:

5 6 7 8

Posisi: 3 2 1 0

Hasil tersebut masih dapat dikombinasi dengan fungsi hash lain (pemotongan atau lipatan) untuk mendapatkan digit alamat yang diinginkan.

(18)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 18

Sesi 7

Materi 6

ORGANISASI BERKAS DENGAN BANYAK KUNCI

A. METODE ORGANISASI

Ada banyak teknik yang dipakai untuk organisasi file dengan banyak kunci. Berikut ini dua teknik dasar untuk pemberian hubungan antara sebuah index dan data record dari file, yaitu:

1. Inverted 2. Multilist

Banyak bahasa program kompilator tidak memberikan kemampuan untuk mendukung organisasi file banyak kunci. Karenanya diperlukan paket program tambahan untuk mendukung sistem pengolahan data manajemen yang hampIr semuanya menggunakan organisasi file banyak kunci.

Contoh sebuah sistem perbankan yang mempunyai beberapa pemakai seperti kasir, pegawai kredit, manajer cabang, pegawai bank, nasabah, dll. Semuanya memerlukan akses data yang sama dengan format record sebagai berikut:

ID NAMA KODE GROUP NO SOSIAL

SOCIATY

SALDO OVERDRAW

LIMIT

DEPAN AKHIR CABANG TYPE

Adanya pemakai yang berbeda memerlukan akses record-record ini dengan cara yang berbeda. Seorang kasir hendak mengidentifikasi sebuah record account menurut ID-nya. Seorang pegawai kredit memerlukan akses semua record menurut nilai overdraw-limit atau semua record account dengan sebuah nilai No Sosial Sociaty. Seorang manajer cabang hendak membuat laporan berkala untuk semua record account yang disortir berdasarkan ID. Seorang nasabah memerlukan akses recordnya dengan memberikan ID yang dipunyainya atau kombinasi dari Nama, No Sosial Sociaty, dan Type.

Satu pendekatan yang dapat mendukung semua jenis akses adalah dipunyainya banyak file yang berbeda. Setiap file diorganisasi untuk melayani satu jenis keperluan. Untuk contoh adalah sistem perbankan di atas, harus ada:

a. File account yang organisasinya sekuensial dengan nilai kunci ID (untuk melayani kasir, pegawai bank, dan nasabah).

b. File account yang organisasinya sekuensial dengan record diurut menurut Overdraw-Limit (untuk melayani pegawai kredit).

c. File account yang organisasinya relatif dengan kunci No SS (untuk melayani pegawai kredit).

(19)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 19 d. File account yang organisasinya sequensial dengan record diurut menurut kode

group (melayani manajer cabang).

e. File account yang organisasinya relative dengan nilai kunci Nama, NoSS dan Type (untuk melayani nasabah)

Kita memiliki 5 file yang semuanya mempunyai record yang sama. Kelima file ini hanya berbeda dalam organisasinya dan cara aksesnya.

Pengulangan data dari beberapa file bukan merupakan cara yang baik untuk mengakses record dengan berbagai cara. Lagi pula cara ini memerlukan ruang yang besar di penyimpanan dan kesulitan pada waktu pemutakhiran record secara serentak.

File dengan organisasi banyak kunci adalah cara terbaik untuk mengatasi masalah di atas. File ini menggunakan indeks dan bukan pengulangan data seperti cara diatas. Konsep dari akses banyak kunci umumnya diimplementasikan dengan pembentukan banyak indeks untuk memberikan yang berbeda terhadap record.Cara ini menggunakan linked-list.

B. FILE TERBALIK (INVERTED FILE)

1. Metode Akses pada File Terbalik (Inverted File Access method)

Setiap daftar file yang dibalik, alamat atau key untuk semua record memiliki atribut yang sama. Contoh:

Bagian File Personel

Alamat Record Nomor Pegawai Umur 101 102 103 104 28541 35879 47853 50917 43 27 32 24

File Inverted dengan Index Umur Umur Alamat Record 18-25 26-35 36-45 104, … 102, 103, … 101, …

Beberapa file diperlukan jika mempertimbangkan untuk melokasikan record yang memakai 1 atau lebih atribut. Data diperlukan untuk menjelaskan hubungan dan alamat record yang ditunjukkan dengan file-file inverted yang diketahui sebagai pengeluaran tambahan data.

2. Contoh Pemakaian File Terbalik No.Rec<S-Id, Nama, Mata Kuliah…><Pointer>

1 1234 : Adam : SBD : … 3 2 5678 : Bruce : SB : … 4 3 9012 : Clarck : SBD : … 0

(20)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 20 4 3456 : David : SB : … 0

5 7890 : Erik : PSI : … 0

6 … … … …

DIRECTORY DATAFILE

Search Key Address List No.Rec<S-Id, Nama, Mata Kuliah, …>

SB 2,4 1 1234 : Adam : SBD : …

PSI 5 2 5678 : Bruce : SB : …

SBD 1,3 3 9012 : Clarck : SBD : …

4 3456 : David : SB : … 5 7890 : Erik : PSI : … Pengindekan dengan Pengalamatan tidak langsung yaitu:

1. Inversion bisa menggunakan kunci yang bukan nilai yang unik. Seperti indeks berdasarkan kunci Kode-Group.

Kode-Group Tipe-Cabang ID DT 001 DT 002 NW 001 NW 002 NE 002 111111, 201431, 310103 198121 112131, 208432 291821 300123

2. Struktur Index Inversion menggunakan Pengalamatan tidak langsung dengan nilai No.Soc.

No.Society ID 001234123 123456789 399142131 412631467 459463001 513014265 713214622 821346211 291821 208432 201431 300123 111111 310103 198121 112131 Data Recordnya adalah:

Alamat Record ID Nama Kode Grup Cabang Tipe No Sociaty Saldo Overdraw Limit Depan Akhir 1 111111 ADAM JOHN DT 001 459463001 100.500 0. 2 112131 SMITH IVAN NW 001 821346211 2311.20 100. 3 198121 MORALES JOSE DT 002 713214622 191.87 200. 4 201431 SMITH ELOISE DT 001 399042131 3142.93 100. 5 208432 JONES JANE NW 001 123456789 95.26 0. 6 291821 MORGAN NILL NW 002 001234123 146.92 0. 7 300123 ADAMS MYRTLE NE 002 412631467 3000.0 100. 8 310103 MATTHERS ELMER DT 001 513014265 243.63 0.

(21)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 21 C. FILE MULTILIST

File multilist mempunyai sebuah indeks untuk setiap kunci sekunder. Organisasi multilist berbeda dengan file terbalik dimana dalam indek inverse untuk sebuah nilai kunci mempunyai sebuah petunjuk untuk data record pertama dengan nilai kunci, sedangkan dalam indeks multilist untuk sebuah nilai kunci mempunyai hanya sebuah petunjuk untuk data record pertama dengan nilai kunci. Data record mempunyai sebuah penujuk untuk data record selanjutnya dengan nilai kunci dan seterusnya. Karena terdapat sebuah linked-list dari data record untuk setiap nilai dari kunci sekunder.

Contoh File data dengan struktur MultiList:

Dari Tabel Data Record di atas, dapat ditunjukkan file multi-list di bawah ini untuk kunci sekunder Kode-group. Setiap data record mempunyai tempat penunjuk untuk mengakses record selanjutnya.

Kode_Group Tipe_cabang ID DT001 DT002 NE002 NW001 NW002 111111 198121 300123 112131 291821

Kemudian file Multi list untuk kunci sekunder Overdraw Limit: Overdraw Limit ID 0 100 200 111111 112131 198121

Nilai kunci harus diurut, struktur indek adalah tabel dengan indirect addressing dan mempunyai hubungan data record yang disusun menurut ID secara menaik. Hasil sebuah struktur multilist adalah sebuah kunci sekunder yang mempunyai nilai unik atau tunggal. Ini berarti ada N data record maka ada N nilai kunci sekunder dalam indeks yang menunjukkan record pertama.

Suatu sifat yang menaik dari multilist bahwa indeks dapat berupa fixed length. Pendekatan multilist memberikan jenis kemampuan akses yang sama dengan pendekatan inverted file tetapi memproses dari 2 jenis file yang berbeda, sbg contoh : a) Berapa jumlah account dengan kode grup = ‘DT001’?

b) Berapa jumlah cabang ‘NE’?

c) Daftar nilai ID untuk account dengan grup ‘DT002’? d) Daftar nilai ID untuk account dengan tipe ‘002’?

e) Apakah ID = 198121 mempunyai account dengan tipe ‘002’?

Contoh di atas memerlukan data record dalam pengaksesannya. Agar dapat menjawab pertanyaan di atas dalam hal jumlah (seperti soal a dan b) dan setiap nilai

(22)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 22 second y dalam indeks multilist mempunyai banyak record dalam link-list di samping penunjuk untuk record pertama dan nilai kunci.

Tabel di bawah ini menunjukkan variasi dari indeks kode grup dan overdraw limit: Kode_Group Tipe_cabang Panjang DT001 NW001 DT002 NW002 NE002 2 2 1 1 1 Overdraw Limit Panjang 0 100 200 4 3 1

(23)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 23 1 2 I-1 I I+1 N-1 N Sesi 9

Materi 7

ORGANISASI BERKAS RELATIF

Salah satu cara yang efektif dalam mengorganisasikan sekumpulan record yang membutuhkan akses sebuah record dengan cepat adalah ORGANISASI BERKAS RELATIF. Dalam berkas relatif ada hubungan antara KEY YANG DIPAKAI untuk mengidentifikasi record dengan LOKASI RECORD dalam penyimpan sekunder.

Perlu diperhatikan bahwa URUTAN RECORD SECARA LOGIC tak ada hubungannya dengan URUTAN SECARA FISIK. Record tidak perlu tersotir secara fisik menurut nilai key.

NILAI KEY ADDRESS

Bagaimana record yang ke-N dapat ditemukan? Dalam hal ini, perlu kita buat hubungan yang akan menerjemahkan antara NILAI KEY dan ADDRESS. Hubungan ini dinyatakan sebagai R, yang merupakan fungsi pemetaan.

R(NILAI KEY) ADDRESS

dari nilai key ke address dalam penyimpanan sekunder. Pada waktu sebuah record ditulis ke dalam berkas relatif, fungsi pemetaan R digunakan untuk menerjemahkan NILAI KEY DARI RECORD menjadi ADDRESS, dimana record tersebut disimpan. Begitu pula pada waktu akan meretrive record dengan nilai key tertentu, fungsi pemetaan R digunakan terhadap nilai key tersebut, dimana record tersebut dapat ditemukan.

Berbeda dengan organisasi berkas sekuensial, organisasi berkas relatif ini tidak perlu mengakses record secara berurut (consecutive), karena sebuah record tertentu dapat diakses secara langsung. Organisasi berkas relatif ini tidak menguntungkan bila penyimpanan sekundernya adalah medium serial access seperti magnetic tape.

COW ZEBRA APE EEL DOG CAT BAT AWAL BERKAS AKHIR BERKAS

(24)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 24 Berkas relatif harus disimpan dalam medium direct access storage device (DASD) seperti magnetic disk.

Juga dimungkinkan untuk mengakses record-record dalam berkas relatif secara CONSECUTIVE. Tetapi perlu diketahui bahwa nilai key tidak urut secara logic. Sebagai contoh record dalam gambar di atas, di retrieve secara consecutive; COW, ZEBRA, …, APE, EEL, DOG, …, CAT, BAT.

Karena kemampuan mengakses record tertentu secara cepat, maka organisasi berkas relatif paling sering digunakan dalam proses interactive. Sebagai contoh sebuah online sistem perbankan mempunyai berkas induk dengan struktur sebagai berikut : CUSTOMER – ACCOUNT ACCOUNT NUMBER ACCOUNT TYPE BALANCE DATE-LAST CREDIT DATE-LAST DEBIT

Sedangkan berkas transaksinya terdiri dari field-field sebagai berikut: TRANSACTION ACCOUNT NUMBER TRANS TYPE AMOUNT DATE

Field ACCOUNT NUMBER dipakai sebagai nilai key untuk kedua berkas tersebut. Pada saat nilai key ACCOUNT NUMBER dimasukkan ke dalam transaksi, nilai key tersebut akan me-retrieve secara langsung record yang ada pada berkas induk. Jika TRANS-TYPE = ‘T’, maka BALANCE akan ditampilkan di layar. Jika TRANS-TYPE = ‘C’ atau ‘D’, maka record-record dari berkas induk CUSTOMER-ACCOUNT akan dimodifikasi dengan AMOUNT dan DATE yang ada di berkas transaksi, dimana ACCOUNT NUMBER yang menentukan lokasi record dalam berkas tersebut.

Ada dua hal penting yang perlu dicatat; pertama, tidak perlu mengakses semua record berkas induk, cukup mengakses langsung record yang dikehendaki. Kedua, record dari berkas relatif dapat di up-date langsung tanpa perlu merekan kembali semua record.

Bandingkan kedua hal ini pada organisasi sekuensial.

Keuntungan dari berkas relatif ini adalah kemampuan mengakses record secara langsung. Sebuah record dapat di retrieve, insert, modifikasi, atau bahkan dapat di delete; tanpa mempengaruhi record laindalam berkas yang sama.

Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan R, dimana R (NILAI KEY)  ADDRESS

1. Pemetaan Langsung (Direct Mapping) 2. Pencarian Tabel (Directory Look-up) 3. Kalkulasi (Calculating)

(25)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 25 A. TEKNIK PEMETAKAN LANGSUNG

Teknik ini merupakan yang sederhana untuk menerjemahkan nilai record key menjadi address. Ada dua cara dalam pemetaan langsung:

1) Pengalamatan mutlak (absolute addressing) 2) Pengalamatan relatif (relative addressing)

1. Pengalamatan Mutlak

Fungsi pemetaan R (NILAI KEY)  ADDRESS, di mana NILAI KEY = ALAMAT MUTLAK. Fungsi pemetaan ini disebut PENGALAMATAN MUTLAK. Nilai key diberikan oleh pemakai program yang sama dengan ADDRESS SEBENARNYA dari record tersebut disimpan pada penyimpanan sekunder.

Pada waktu record tersebut disimpan, lokasi penyimpanan record (nomor silinder, nomor surface, nomor record) bila dipakai CYLINDER ADDRESSING atau (nomor sector, nomor record) bila dipakai SECTOR ADDRESSING harus ditentukan oleh pemakai.

Begitu pula pada waktu record tersebut di retrieve, lokasi mutlak itu harus diketahui dan diberikan pemakai.

Ada 2 keuntungan dari pengalamatan mutlak:

Fungsi pemetaan R sangat sederhana

Tidak membutuhkan sekunder (retrieve lebih cepat)

Kelemahannya :

Pemakai harus mengetahui dengan pasti record-record yang disimpan

secara fisik.

Pemakai tidak dapat menggunakan nilai key seperti ACCOUNT

Alamat mutlak adalah device dependent. Perbaikan atau perubahan

alat, dimana berkas berada, akan mengubah nilai key.

Alamat mutlak adalah address space dependent. Reorganisasi berkas

relatif akan menyebabkan nilai key berubah. Reorganisasi bertujuan memperbesar ruang alamat di mana sampah (garbage) akan dibuang atau dapat juga memperkecil ruang alamat.

2. Pengalamatan Relatif

Fungsi pemetaan R (NILAI KEY)  ADDRESS, dimana NILAI KEY = ALAMAT RELATIF. Fungsi pemetaan ini disebut PENGALAMATAN RELATIF.

Alamat relatif dari sebuah record dalam sebuah berkas adalah urutan record tersebut dalam berkas. Sebuah berkas dengan N record mempunyai record dengan alamat relatif dari himpunan (1, 2, 3, …, N-2, N, N-1) Record yang ke-I mempunyai alamat relatif I dan I-1.

(26)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 26 Keuntungan dari pengalamatan relatif:

Fungsi pemetaan R sangat sederhana

Nilai key dari sebuah record dapat ditentukan lokasi recordnya dalam

sebuah penyimpanan sekunder tanpa memerlukan waktu proses berarti.

Alamat relatif tidak tepat dikatakan sebagai device dependent seperti pada alamat multak, karena itu kelemahan tersebut dapat dihilangkan pada pengalamatan relatif. Namun seperti pada pengalamatan mutlak, pengalamatan relatif juga address space dependent.

Nilai key dari sebuah field dapat dipakai sebagai alamat relatif. Misal dari 2000 jenis barang yang mempunyai nilai key PART NUMBER dipakai sebagai alamat relatif.Part number 1001 mempunyai alamat relatif 1001.

Kelemahan nilai key dari sebuah field dipakai sebagai alamat relatif adalah terjadinya pemborosan ruangan dimana berkas relatif menyediakan ruang (alamat relatif) untuk 9999 jenis barang dari sebenarnya 2000 jenis barang, terjadi pemborosan kurang lebih 80%. Untuk nilai key NIP yang terdiri dari 9 digit dari berkas pegawai yang berjumlah 2000 record akan terjadi pemborosan 99,99998% ruang dimana berkas relatif menyediakan alamat relatif untuk 999.999.999 pegawai.

Untuk mengatasi pemborosan ruang adalah dengan cara mendapatkan sebuah key yang nilai jangkauannya mempunyai populasi tinggi. Sebagai contoh 8200 jenis barang akan lebih efisien mempunyai PART NUMBER sebanyak 4 digit sebagai nilai key-nya yang juga merupakan alamat relatif. Ruang kosong sebesar 20% dipakai untuk penambahan record.

B. TEKNIK PENCARIAN TABEL

Teknik pencarian tabel jauh lebih baik disbanding dengan teknik pemetaan langsung.Hanya saja memerlukan biaya baru dalam pemeliharaannya. Kita akan lihat bahwa pendekatan ini hamper serupa dengan teknik yang dipakai pada berkas indeks sekuensial.

Dasar pemikiran pendekatan pencarian tabel adalah sebuah tabel atau direktori dari nilai key dan address. Untuk menemukan sebuah record dalam berkas relatif, pertama dicari dalam direktori nilai key dari record tersebut, akan menunjukkan alamat dimana record tersebut berada dalam penyimpanan.

Dalam bentuk yang sedrhana, direktori diimplementasikan sebagai suatu array dari nilai key; record alamat, digambarkan sebagi berikut:

(27)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 27

APE I-1 COW

BAT N ZEBRA

CAT N-1

APE

COW 1 EEL

DOG I+1 DOG

EEL I

2 CAT

ZEBRA BAT

Disini data dalam direktori disusun secara urut menurut nilai key, sehingga pencarian nilai key dalam direktori lebih cepat dengan binary search dibanding sequential search.

Alternatif lain, direktori dapat disusun dalam binary search tree, M-way search tree, atau B-tree.

DIREKTORI BERKAS RELATIF ALAMAT RELATIF

APE, I-1 BAT, N CAT, N-1 COW, 1 DOG, I+1 EEL, 1 ZEBRA, 2-1 DIREKTORI

KEY ALAMAT BERKAS RELATIF ALAMAT RELATIF

1 2 I-1 I I+1 N-1 N COW ZEBRA APE EEL DOG CAT BAT 1 2 I-1 I I+1 N-1 N

(28)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 28 Keuntungan dari pencarian tabel:

Sebuah record dapat di akses dengan cepat, setelah nilai key dalam

direktori ditentukan .

Nilai key dapat berupa field yang mudah dimengerti seperti PART NUMBER,

NMP, karena nilai key tersebut akan diterjemahkan menjadi alamat.

Nilai key adalah address space independent, dimana reorganisasi berkas

tak akan mempengaruhi nilai key, yang berubah adalah alamat dalam direktori.

Teknik ini banyak dipengaruhi oleh organisasi direktorinya. Apabila nilai key disimpan secara urut pada direktori, akses secara binary jauh lebih cepat dibanding secara sekuensial.

C. TEKNIK KALKULASI ALAMAT

Pendekatan lain yang umum dipakai untuk mengimplementasikan R (NILAI KEY)  ADDRESS adalah dengan melakukan kalkulasi terhadap nilai key. Hasilnya adalah alamat alternatif. Teknik ini dapat dipakai sendiri atau bersama-sama dengan pencarian tabel.

Ide dasar dari kalkulasi alamat adalah mengubah jangkauan nilai key yang mungkin, menjadi sejumlah kecil alamat alternatif.

Salah satu kelemahan dari teknik pengalamatanrelatif adalah ruang harus disediakan sebanyak jangkauan nilai key, terlepas dari beberapa banyak nilai key. Sebagai contoh, dari 2000 jenis barang hendak dibuat alamat relatif sebanyak 2000 lebih sedikit. Cara ini dapat dilakukan dengan teknik kalkulasi alamat.

Salah satu masalah dari teknik ini adalah ditemukannya alamat relatif yang sama untuk nilai key yang berbeda. Keadaan di alamat relatif yang sama untuk nilai key yang berbeda. Keadaan dimana R (K1) = R (K2) dan K1 # K2 disebut BENTURAN (COLLISION). Sedangkan nilai key K1 dan K2 disebut SYNONIM.

Ada banyak cara untuk mengatasi benturan, antara lain:

Scatter diagram techniques Randomizing techniques

Key to address transformation methods Direct addressingbtechniques

Hash tables methods Hashing

(29)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 29

Sesi 10

Materi 8

ORGANISASI BERKAS INDEKS SEKUENSIAL

Organisasi Berkas Indeks Sekuensial dirancang dengan tujuan untuk menanggulagi masalah pengaksesan yang dimiliki oleh organisasi berkas sekuensial tanpa mengurangi keuntungan dan tradisi oleh organisasi berkas sekuensial.

Berkas indeks sekuensial memiliki 2 sifat yang mengungguli berkas sekuensial. Yaitu:

Indeks terhadap berkas menghasilkan pengaksesan random yang lebih baik. Area overflow untuk menyediakan ruang bila dilakukan penambahan rekaman

ke dalam berkas

Gambar 8.1 adalah contoh berkas indeks sekuensial.Pada gambar tersebut diperlihatkan tiga komponen, yakni berkas sekuensial, area indeks, dan overflow.

Gambar 8.1 komponen dalam berkas sekuensial berindeks

Berkas sekuensial berindeks memungkinkan dilakukannya pembacaan secara sekuensial terhadap rekaman-rekaman yang berada dalam area primer. Rekaman-rekaman yang disisipkan dialokasikan pada area yang terpisah, yang disebut area overflow. Rekaman-rekaman dalam area overflow ditempatkan dengan memperhatikan penunjuk dari rekaman sebelumnya. Pembacaan yang serial terhadap kombinasi kedua berkas akan dilakukan secara sekuensial sampai ditemukan penunjuk yang mengarah ke overflow area, kemudian dilanjutkan dengan pembacaan rekaman-rekaman yang berlokasi di area overflow sampai ditemukan penunjuk yang nilainya nol. Untuk pembacaan yang dilakukan secara random, maka digunakan area indeks.

A. STRUKTUR DASAR

Dalam sebuah sistem komputer, pada umumnya rekaman yang akan disimpan memiliki volume yang terlalu besar untuk ditempatkan semuanya pada penyimpanan primer. Jadi, diperlukan penyimpanan sekunder seperti disk untuk menyimpan rekaman. Bila yang digunakan adalah komputer dengan disk yang dapat diberi alamat melalui blok-nya, maka digunakan track sebagai unit terkecil dalam mengelompokkan

Berkas Utama Indeks

(30)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 30

primer overflow

informasi. Unit yang berikutnya adalah silinder, kemudian terdapat unit tambahan lain yang disebut indeks. Organisasi berkas dengan struktur indeks sekuensial mempunyai terminology khusus, yaitu ISAM atau Indexed Sequential Access Methods. Metode pengakses adalah program sistem yang mengelola pemindahan data antarprogram aplikasi dengan komputer.

Sebagai contoh adalah sebuah berkas sekuensial berindeks dengan format blok yang dapat diberi alamat. Untuk memperjelas pemahaman, dipilih rekaman-rekaman dalam sebuah silinder, tetapi indeks silinder tersebut berisi penunjuk ke berbagai silinder lainnya. Sepasang masukan yang berisi informasi untuk masing-masing silinder dalam indeks silinder adalah sebagai berikut:

dengan kunci merupakan kunci rekaman tertinggi dari rekaman-rekaman yang berada pada silinder tersebut, dan pnj yang menunjuk ke arah indeks track untuk ke silinder tersebut. Masing-masing track dalam silinder memiliki dua buah pasangan masukan yang berisi informasi yang dapat diasosiasikan dengan track tersebut dalam indeks track. Satu pasang berisi informasi yang berada pada area penyimpanan primer, dan sebuah lagi memiliki informasi pada rekaman overflow yang diasosiasikan dengan track tersebut. Untuk masing-masing track, masukan-masukan tersebut memiliki bentuk sebagai berikut:

Kunci pada pasangan pertama menunjukkan kunci tertinggi pada track yang berada pada area penyimpanan primer, dan kunci yang berada pada pasangan kedua menunjukkan kunci tertinggi yang berada pada area overflow yang diasosiasikan dengan track tersebut. Pnj primer memberikan indikasi bahwa track berisi rekaman primer, dan pnj overflow menunjukkan rekaman pertama yang berada pada area overflow (jika ada) yang diasosiasikan dengan track tersebut.

Pada gambar 8.2 indeks silinder memberikan informasi mengenai masukan dari tiga buah silinder; yaitu silinder 1, 2, dan 3, serta informasi bahwa kunci tertinggi pada silinder 1 adalah 250.

Indeks silinder

kunci pnj

kunci pnj kunci pnj

(31)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 31 Indeks track (untuk silinder = 1)

Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.2 Struktur awal berkas sekuensial berindeks

Pada penunjuk, masukan memiliki notasi x-y dengan x sebagai nomor silinder dan y nomor track di mana indeks track untuk silinder tersebut disimpan. Dengan demikian penunjuk 1-0 dapat diartikan sebagai track 0 pada silinder 1. Nilai penunjuk yang berada pada indeks track penunjuk pada nomor track yang spesifik. Pada nilai penunjuk tersebut nilai kunci tertinggi pada area primer sama dengan kunci tertinggi pada area overflow karena sampai saat ini belum dilakukan penyisipan rekaman yang dialokasikan pada area overflow. Simbol ^ pada penunjuk overflow mengindikasikan bahwa tidak ada rekaman pada area overflow.

Pada saat melakukan penyisipan, urutan harus tetap dipertahankanuntuk mempreservasi mekanisme pembacaan. Ini berarti pada saat penyisipan rekaman, rekaman tersebut dialokasikan pada posisi yang tepat secara leksikografik. Mengingat dimungkinkan untuk memiliki area overflow pada setiap track, maka tidak perlu memindahkan rekaman-rekaman dengan jumlah yang melebihi jumlah rekaman dalam sebuah track. Pada saat rekaman baru disisipkan pada sebuah track pada area primer, terdapat kemungkinan bahwa rekaman tersebut menyebabkan terlemparnya rekaman yang sudah berada pada area primer ke area overflow. Hal ini berarti rekaman dengan kunci tertinggi pada area primer akan berubah, tetapi tidak demikian halnya pada area overflow. Pada dasarnya, kunci tertinggi pada area overflow tidak akan berubah kecuali bila dilakukan penyisipan pada akhir berkas. Pada kejadian tersebut, kunci tertinggi yang berada pada indeks track, akan berubah.

Pada gambar 8.2, rekaman overflow dialokasikan pada track 9 pada lokasi yang konsekutif. Pada umumnya rekaman overflow tidak bersifat konsekutif. Sebuah daftar akan menghubungkan ruang yang masih kosong dalam area overflow saat rekaman disisipkan maupun dihapus. Selang beberapa waktu, daftar tentang ruang yang masih kosong tersebut tidak akan berisi penyimpanan dengan lokasi yang konsekutif.

25 1 25 ^ 70 2 70 ^ 85 3 85 ^

7 9 12 15 20 22 25

28 38 41 55 57 65 70

(32)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 32 Penunjuk yang berada pada overflow memiliki bentuk z-w, dengan z sebagai nomor track serta w sebagai nomor rekaman.

B. PENYISIPAN REKAMAN

1. Menyisipkan rekaman dengan kunci 13 pada berkas gambar 8.2

Pertanyaan pertama yang harus dijawab adalah apakah rekaman tersebut sudah ada dalam berkas, dan bila tidak dimanakah sebaiknya berkas tersebut diletakkan? Langkah dimulai dari indeks silinder. Rekaman dengan kunci 13 harus berada dalam silinder 1 mengingat rekaman tertinggi dalam silinder satu adalah 250 (13 lebih kecil dari 250). Langkah selanjutnya adalah mencermati track indeks untuk silinder 1. Kunci rekaman yang akan disisipkan dibandingkan dengan kunci tertinggi yang berada pada indeks track 0 silinder 1. Karena kunci rekaman yang akan disisipkan < dari kunci rekaman tertinggi yang berada pada track 1 silinder 1, maka rekaman baru tersebut harus diletakkan pada track 1 silinder 1. Rekaman-rekaman pada area primer dibaca satu per satu untuk memastikan bahwa rekaman dengan kunci 13 belum ada dalam track 1 tersebut. Untuk menyiapkan rekaman dengan kunci 13 pada posisi yang sesuai, maka semua rekaman yang ada pada posisi tersebut perlu dipindahkan. Pada contoh ini, maka rekaman baru akan menempati posisi rekaman 15, sementara rekaman 15 dipindahkan menggantikan posisi rekaman 20, dan rekaman 20 dipindah menggantikan posisi rekaman 22, sedang rekaman 22 dipindah menggantikan posisi rekman 25. Kemana rekaman 25 akan dipindahkan?

Indeks track (untuk silinder = 1) Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.3 Proses penyisipan rekaman 13

Rekaman 25 akan dipindah ke area overflow. Daftar ruang yang masih kosong akan menunjuk pada track 9 rekaman nomor 1. Rekaman 25 dipindah ke

25 1 25 ^ 70 2 70 ^ 85 3 85 ^

7 9 12 15 13 20 15 22 20 25 22

28 38 41 55 57 65 70

73 75 77 79 80 83 85

(33)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 33 posisi tersebut dan pada penunjuk diberikan symbol ^. Dengan pemindahan tersebut maka kunci tertinggi pada track 1 adalah 22 sehingga rekaman tertinggi pada amsukan indeks track pasangan pertama harus berubah dari 25 menjadi 22, dan penunjuk pada masukan indeks track pasangan kedua harus mengarah pada track 9 rekaman nomor 1 (atau 9-1). Struktur berkas sesudah penyisipan adalah sebagai berikut:

Indeks track (untuk silinder = 1) Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.2 Struktur awal berkas sekuensial berindeks

2. Menyisipkan rekaman dengan kunci 27 pada berkas gambar 8.4

Rekaman dengan kunci 27 harus berada dalam silinder 1 mengingat rekaman tertinggi dalam silinder 1 adalah 250 (27 lebih kecil dari 250). Setelah mencermati track indek untuk silinder 1 dan membandingkan kunci rekaman yang akan disimpan dengan kunci tertinggi yang berada pada indeks track 1 silinder 1, ternyata 27 > 22 maka pembandingan dilanjutkan dengan track berikutnya, yaitu track 2 silinder 1. Karena kunci rekaman yang akan disisipkan < dari kunci rekaman tertinggi yang berada pada track 2 silinder 1. Rekaman-rekaman pada area primer dibaca satu per satu untuk memastikan bahwa rekaman dengan kunci 27 belum ada dalam track 2 tersebut. Untuk menyisipkan rekaman pada kunci 27 pada posisi yang sesuai, semua rekaman yang ada sesudah posisi tersebut perlu dipindahkan. Pada contoh kedua ini, semua rekaman harus dipindah untuk memberi tempat pada rekaman yang baru (lihat gambar 8.5). rekaman dengan kunci 70 akan dipindahkan ke overflow area. Sesuai informasi dari daftar ruang yang masih kosong, makan rekaman tersebut akan diletakkan pada track 9 rekaman nomor 2, dan penunjuk akan berisi ^. Dengan pemindahan tersebut maka kunci tertinggi pada track 2 adalah 65 sehingga rekaman tertinggi pada masukan indeks track pasangan pertama harus berubah dari 70 menjadi 65, dan

22 1 25 9-1 70 2 70 ^ 85 3 85 ^

7 9 12 13 15 20 22

28 38 41 55 57 65 70

73 75 77 79 80 83 85

(34)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 34 penunjuk pada masukan indeks track pasangan kedua harus mengarah pada track 9 rekaman nomor 2 (atau 9-2). Struktur berkas sesudah penyisipan diperlihatkan pada gambar 8.6.

Indeks silinder

Indeks track (untuk silinder = 1)

Menjadi 65 menjadi 9-2 Nomor track 0 Penyimpanan Primer 1 27 28 38 41 55 57 65 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.5 Proses penyisipan rekaman dengan kunci 27

Indeks silinder

Indeks track (untuk silinder = 1) Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.6 Struktur berkas sesudah rekaman dengan kunci 27 disisipkan

250 1-0 750 2-0 1500 3-0 … 22 1 25 9-1 70 2 70 ^ 85 3 85 ^ 7 9 12 13 15 20 22 28 38 41 55 57 65 70 73 75 77 79 80 83 85 25 ^ ^ 250 1-0 750 2-0 1500 3-0 … 22 1 25 9-1 65 2 70 9-2 85 3 85 ^ 7 9 12 13 15 20 22 27 28 38 41 55 57 65 73 75 77 79 80 83 85 25 ^ 70 ^

(35)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 35 3. Menyisipkan rekaman dengan kunci 26 pada berkas gambar 8.6

Rekaman dengan kunci 26 harus berada dalam silinder 1 mengingat rekaman tertinggi dalam silinder 1 adalah 250 (26 lebih kecil dari 250). Setelah mencermati track indeks untuk silinder 1 dan membandingkan kunci rekaman yang akan disisipkan dengan kunci tertinggi berada pada indeks track 1 silinder 1, ternyata 26>22 maka pembandingan dilanjutkan pada track berikutnya, yaitu track 2 silinder 1. Karena kunci rekaman yang akan disisipkan < dari kunci rekaman tertinggi yang berada pada track 2 silinder 1 (26<65), maka rekaman baru tersebut harus diletakkan pada track 2 silinder 1. Rekaman-rekaman pada area primer dibaca untuk memastikan bahwa rekaman dengan kunci 26 belum ada pada track 2 tersebut. Untuk menyisipkan rekaman dengan kunci 26 pada posisi yang sesuai, maka semua rekaman yang ada sesudah posisi tersebut perlu dipindahkan. Pada contoh ketiga ini, semua rekaman harus dipindah untuk member tempat pada rekaman yang baru (lihat gambar 8.7). Rekaman dengan kunci 65 akan dipindahkan ke overflow area. Sesuai informasi dari daftar ruang yang masih kosong, maka rekaman tersebut akan diletakkan pada track 9 rekaman nomor 3. Bagaimana penunjuknya? Karena rekaman dengan kunci 65 merupakan rekaman kedua yang dipindahkan ke area overflow dari track 2, maka penunjuk akan mengarah pada rekaman yang dipindahkan sebelumnya, yaitu rekaman 70 yang berada pada track 9 rekaman nomor 2, atau penunjuk akan berisi 9-2. Dengan pemindahan tersebut, maka kunci tertinggi pada track 2 bukan lagi 65, melainkan 57. Jadi, rekaman tertinggi pada masukan indeks track pasangan pertama harus berubah dari 65 menjadi 67, dan penunjuk pada masukan indeks track pasangan kedua harus mengarah pada track 9 rekaman nomor 3 (atau 9-3). Struktur berkas sesudah penyisipan diperlihatkan pada gambar 8.8.

Indeks silinder

Indeks track (untuk silinder = 1)

Menjadi 57 menjadi 9-3 Nomor track 0 Penyimpanan Primer 1 26 27 28 38 41 55 57 2 3 250 1-0 750 2-0 1500 3-0 … 22 1 25 9-1 65 2 70 85 3 85 ^ 7 9 12 13 15 20 22 27 28 38 41 55 57 65 73 75 77 79 80 83 85 9-2

(36)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 36

Penyimpanan Overflow 65 9-2

1 2 3 4

9

Gambar 8.7 Proses penyisipan rekaman dengan kunci 26

Indeks silinder

Indeks track (untuk silinder = 1) Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 1 2 3 4 9

Gambar 8.8 Struktur berkas sesudah rekaman dengan kunci 26 disisipkan

4. Menyisipkan rekaman dengan kunci 58 pada berkas gambar 8.8

Rekaman dengan kunci 58 harus berada dalam silinder 1 mengingat rekaman tertinggi dalam silinder 1 adalah 250 (58 lebih kecil dari 250). Setelah mencermati track indeks untuk silinder 1 dan membandingkan kunci rekaman yang akan disisipakan dengan kunci tertinggi yang berada padan indeks track 1 silinder 1, ternyata 58>22 maka pembandingan dilanjutkan pada track berikutnya, yaitu track 2 silinder 1. Meskipun rekaman baru tersebut > dari kunci rekaman tertinggi yang berada pada area primer track 2 silinder 1 (58>57), tetapi rekaman baru tersebut < disbanding rekaman tertinggi yang berada pada area overflow. Dengan demikian rekaman baru tersebut harus diletakkan pada track 2 silinder 1. Rekaman tersebut tidak menempati area primer, tetapi pada overflow area, tepatnya sector 9 rekaman nomor 4. Penunjuk mengarah pada rekaman sebelumnya yang berasal dari track yang sama (baca track 2), yaitu track 9 rekaman 3 atau 9-3. Rekaman baru tersebut tidak mengubah kunci tertinggi pada area primer sehingga masukan rekaman tertinggi pada pasangan pertama indeks track untuk track 2 silinder 1 tidak mengalami perubahan (tetap 65), sementara untuk area overflow adalah 70.

25 ^ 70 ^ 250 1-0 750 2-0 1500 3-0 … 22 1 25 9-1 57 2 70 9-3 85 3 85 ^ 7 9 12 13 15 20 22 26 27 28 38 41 55 57 73 75 77 79 80 83 85 25 ^ 70 ^ 65 9-2

(37)

Dinny Wahyu Widarti, S.Kom Sistem Berkas - 37 Penunjuk pada pasangan kedua mengarah pada rekaman pertama yang harus didatangi saat meninjau area overflow, yaitu 9-4 (lihat gambar 8.9).

Indeks silinder

Indeks track (untuk silinder = 1)

menjadi 9-4 Nomor track 0 Penyimpanan Primer 1 2 3 Penyimpanan Overflow 58 9-3 1 2 3 4 9

Gambar 8.9 Proses penyisipan rekaman dengan kunci 58

Pembahasan

Membaca berkas indeks secara sekuensial dilakukan dengan mengikuti arahan yang diperoleh dari indeks untuk menentukan lokasi dari track satu ke track berikutnya yang berada di area primer dan juga area overflow. Pembacaan tidak dapat dilakukan dari rekaman pertama dari berkas dan diproses sesuai keinginan sama seperti pembacaan pada berkas dengan organisasi sekuansial. Alasannya, mungkin terdapat track yang tiba-tiba menyisip yang berisi informasi yang berada di area overflow, atau informasi lain, ada kemungkinan dari berkas lain.

Indeks juga dibutuhkan untuk berpindah dari satu silinder ke silinder lain karena silindar bisa saja secara fisik tidak berurutan. Dengan kata lain, bagaimana indeks melakukan pengurutan terhadap berkas untuk pengolahan secara sekuensial sangat berbeda terhadap berkas dengan organisasi sekuensial.

Untuk membaca satu rekaman secara langsung, proses yang dilakukan sama seperti akan melakukan penyisipan. Pertama dilakukan pembacaan silinder indeks untuk menentukan lokasi silinder yang benar tempat rekaman yang akan dibaca tersebut disimpan, kalau memang rekaman tersebut ada di dalam berkas. Masukan dalam indeks silinder member informasi tentang track indeks yang benar tempat rekaman berada. Indeks track memiliki informasi tentang kunci rekaman tertinggi yang berada pada area primer dan kunci rekaman tertinggi pada area overflow. Bila kunci rekaman yang dicari lebih kecil dari kunci tertinggi dalam area

250 1-0 750 2-0 1500 3-0 … 22 1 25 9-1 57 2 70 85 3 85 ^ 7 9 12 13 15 20 22 26 27 28 38 41 55 57 73 75 77 79 80 83 85 25 ^ ^ 9-3 70 65 9-2

Gambar

Tabel  di  bawah  ini  menunjukkan  variasi  dari  indeks  kode  grup  dan  overdraw  limit:  Kode_Group  Tipe_cabang  Panjang  DT001  NW001  DT002  NW002  NE002  2 2 1 1 1  Overdraw  Limit  Panjang  0  100  200  4 3 1
Gambar  8.1  adalah  contoh  berkas  indeks  sekuensial.Pada  gambar  tersebut  diperlihatkan tiga komponen, yakni berkas sekuensial, area indeks, dan overflow
Gambar 8.2 Struktur awal berkas sekuensial berindeks
Gambar 8.3 Proses penyisipan rekaman 13
+7

Referensi

Dokumen terkait

Suatu work file merupakan alat untuk melewatkan data yang dibuat oleh sebuah program ke program lain.. Biasanya file ini dibuat

Baca record dari FILE01, variable yang digunakan untuk menampung data dari file ini adalah :.. Periksa isi record, jika isinya sama dengan /* maka

– Perubahan yang dibuat terhadap file dengan tujuan memperbaiki penampilan program dalam mengakses file tersebut. *

Suatu teknik yang digunakan untuk menyatakan atau menggambarkan dan menyimpan record-record dalam sebuah file... Secara umum keempat teknik dasar tersebut berbeda

Nama Database : “koperasi_wanita” Nama File : Tabel Data Perkiraan Akronim : tabel_data_perkiraan Tipe File : File Transaksi Akses File : Random Panjang Record : 33..

• Sistem berkas dan akses adalah Cara untuk membentuk suatu arsip / file.. dan cara pencarian

Mekanisme pembacaan seluruh record pada file pile dilakukan secara sekuensial yaitu : dibaca secara terurut dari record awal sampai record yang terakhir.

Enkripsi File Pada Proses ini, yang dilakukan pertama oleh admin adalah mengakses menu list file dekripsi dan kemudian memilih file data member yang ingin di enkripsi, setelah itu