Professional Documents
Culture Documents
MATERI KULIAH
Widiastuti, Skom./BerkasAkses.1
Masalah collision
Teknik pengalokasian synonym key
Open addressing
Separate overflow
Pendekatan terhadap masalah collision
Linier probing
Double hashing
Synonym chaining
Bucket addressing
BAB 5 : ORGANISASI BERKAS INDEKS SEQUENTIAL
Pengertian berkas indeks sequential
Struktur indeks
Struktur pohon biner
Struktur pohon B+
Pendekatan pohon B+
Indeks block dan data block
Penyajian indeks secara fisik
Prime & overflow data area
BAB 6 : ORGANISASI BERKAS DENGAN BANYAK KEY
Pengertian pengaksesan berkas dengan banyak key
Organisasi inverter file
Organisasi multi-list file
Perbandingan
BAB 7 : SORT & MERGE FILE
Pengertian sort dan merge file
Natural merge
Balanced merge
Polyphase merge
Cascade merge
BAB 8 : PENGENALAN KONTROL INPUT / OUTPUT
Definisi dan persyaratan kontrol I/O
Direktori berkas dan kontrol informasi
Kontrol peralatan
Manajemen saluran
Manajemen buffer
Widiastuti, Skom./BerkasAkses.1
TUJUAN
BERKAS DAN AKSES
Widiastuti, Skom./BerkasAkses.1
REFERENSI
♦ Bunawan & Kalya P., Seri Diktat Kuliah, Berkas dan Akses, Penerbit Gunadarma,
1990.
♦ Loomis M. E. S., Data Management And File Structures, Second Edition, Prentice
Hall International, 1989.
♦ Tharp A.L., File Organization And Processing, John Willey & Son, New York, 19988.
Widiastuti, Skom./BerkasAkses.1
BAB 1
SISTEM FILE
Berkas Dan Akses
Sistem penyimpanan, pengelolaan dan penyimpanan data pada alat penyimpan
eksternal. Pada berkas dan akses penyimpanan data dilakukan secara fisik.
File
Kumpulan dari record-record yang saling berhubungan.
Klasifikasi Data
1. Kelompok Data Tetap
Kelompok data yang tidak mengalami perubahan, paling tidak dalam kurun waktu yang
lama.
Contoh : Data pribadi mahasiswa.
2. Kelompok Data Tak Tetap
Kelompok data yang secara rutin mengalami perubahan.
Contoh : Data rencana studi mahasiswa.
3. Kelompok Data Yang Bertambah Menurut Waktu
Kelompok data ini biasanya merupakan data akumulasi dari kelompok data tetap dan
data tak tetap.
Contoh : Data transkrip.
KLasifikasi File
1. Master File (Berkas Induk)
2. Transaction File (Berkas Transaksi)
3. Report File (Berkas Laporan)
4. Work File (Berkas Kerja)
5. Program File (Berkas Program)
6. Text File (Berkas Teks)
7. Dump File (Berkas Tampung)
8. Library File (Berkas Pustaka)
9. History File (Berkas Sejarah)
Widiastuti, Skom./BerkasAkses.1
1. MASTER FILE;
Adalah file yang berisi data yang relatif tetap.
Contoh :
Organisasi sebuah pabrik : * Payroll Master File
* Customer Master File
* Personnel Master File
* Inventory Master FIle
Ada 2 jenis Master File :
1. Reference Master File;
File yang berisi record yang tak berubah / jarang berubah.
Contoh :
Berkas pelanggan yang berisi field nomor rekening, nama dan alamat.
2. Dynamic Master File;
File yang berisi record yang terus menerus berubah dalam kurun waktu tertentu atau
berdasarkan suatu peristiwa transaksi.
Contoh :
• Berkas stock barang
• Berkas pemesanan tempat duduk
2. TRANSACTION FILE
Adalah file yang berisi record-recod yang akan memperbaharui / meng-update record-
record yang ada pada master file.
Meng-update dapat berupa :
Penambahan record, penghapusan dan perbaikan record.
3. REPORT FILE
Adalah file yang berisi data yang dibuat untuk laporan / keperluan user.
File tersebut dapat dicetak pada kertas printer atau hanya ditampilkan di layar.
Widiastuti, Skom./BerkasAkses.1
4. WORK FILE
Merupakan file sementara dalam sistem.
Suatu work file merupakan alat untuk melewatkan data yang dibuat oleh sebuah
program ke program lain. Biasanya file ini dibuat pada waktu proses sortir.
5. PROGRAM FILE
Adalah file yang berisi instruksi-instruksi untuk memproses data yang akan disimpan
pada file lain / pada memori utama.
Instruksi tersebut dapat ditulis dalam bahasa tingkat tinggi (COBOL, FORTRAN,
BASIC, dan lain-lain), bahasa assembler dan bahasa mesin.
6. TEXT FILE
Adalah file yang berisi input data alphanumeric dan grafik yang digunakan oleh sebuah
text editor program. Text file hanya dapat diproses dengan text editor.
7. DUMP FILE
Adalah file yang digunakan untuk tujuan pengamanan (security), mencatat tentang
kegiatan peng-update-an, sekumpulan transaksi yang telah diproses atau sebuah
program yang mengalami kekeliruan.
8. LIBRARY FILE
Adalah file yang digunakan untuk penyimpanan program aplikasi, program utilitas atau
program lainnya.
9. HISTORY FILE
File ini merupakan tempat akumulasi dari hasil pemrosesan master file dan transaction
file. File ini berisikan data yang selalu bertambah, sehingga file ini terus berkembang,
sesuai dengan kegiatan yang terjadi.
Widiastuti, Skom./BerkasAkses.1
Contoh :
Gambar di bawah ini menunjukkan system flow diagram dari suatu sistem penggajian
sementara untuk menghasilkan paycheck berdasarkan timecard dan payroll information.
TIME CARD
SORT
SORT
PROGRAM
WORKFILE
SORTED PAYROLL
TIMECARDS MASTER
PAY RECORD
UPDATE
PROGRAM
REJECT PAYCHECKS
RECONCILIATIO
TIMECARDS DETAIL
N
DETAIL
REJECT
REPORT RECONCILATION
PAYCHECKS
REPORT
Widiastuti, Skom./BerkasAkses.1
Tabel dibawah ini menunjukkan klasifikasi file dari sistem flow diagram.
FILE FUNGSI
Time cards Transaction
Sort Program Program
Sort Work File Work
Sorted – Time Cards Transaction
Payroll Master Master
Pay Record Update Program Program
Reject Time Cards Work
Pay Check Detail Work
Reconciliation Detail Work
List Utility Program Program
Reject Report Report
Paycheck Writer Program Program
Pay Checks Report
Reconciliation Report Writer Program Program
Reconciliation Report Report
1. INPUT FILE;
Adalah file yang hanya dapat dibaca dengan program.
Contoh :
• Transaction file merupakan input file untuk meng-update program
• Program file dari source code merupakan input file untuk program compiler
2. OUTPUT FILE;
Adalah file yang hanya dapat ditulis oleh sebuah program / file yang dibuat dengan
program.
Contoh :
• Report file merupakan output dari program yang meng-update master file.
• Program file yang berupa object code merupakan output file dari program
compiler.
Widiastuti, Skom./BerkasAkses.1
3. INPUT / OUTPUT FILE;
Adalah file yang dapat dibaca dari dan ditulis ke selama eksekusi program.
Contoh :
• Master File (Berkas Induk)
• Work File dengan sort program (Berkas Kerja)
Tabel di bawah ini menunjukkan model akses dari sistem flow diagram.
Program File Input File Output File I / O File
1. Sort timecard sorted timecards sort workfile
reject timecards
2. Pay record update sorted timecards paycheck deetail payroll master
reconciliation detail
3. Paycheck writer paycheck detail paychecks
4. Reconciliation report reconciliation detail reconciliation report
writer
5. List utility reject timecards reject report
Note :
Sebuah file mempunyai lebih dari satu fungsi jika digunakan oleh lebih dari satu program.
ORGANISASI FILE
Adalah suatu teknik atau cara yang digunakan menyatakan dan menyimpan record-record
dalam sebuah file.
Ada 4 teknik dasar organisasi file, yaitu :
1. Sequential
2. Relative
3. Indexed Sequential
4. Multi – Key
Secara umum keempat teknik dasar tersebut berbeda dalam cara pengaksesannya, yaitu :
1. Direct Access
2. Sequential Access
1. Direct Access;
Widiastuti, Skom./BerkasAkses.1
Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh record
yang ada.
Contoh : Magnetic Disk.
2. Sequential Access;
Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record di
depannya.
Contoh : Magnetic Tape.
Cara memilih organisasi file tidak terlepas dari 2 aspek utama, yaitu :
1. Model Penggunaannya
2. Model Operasi File
2. Update;
Widiastuti, Skom./BerkasAkses.1
Untuk menjaga agar file tetap up to date.
Insert / Add, Modification, Deletion.
3. Retrieval;
Pengaksesan sebuah file dengan tujuan untuk mendapatkan informasi.
Inquiry;
Volume data rendah, model proses interactive.
Report Generation;
Volume data tinggi, model proses batch.
4. Maintenance;
Perubahan yang dibuat terhadap file dengan tujuan memperbaiki penampilan program
dalam mengakses file tersebut.
Restructuring
Perubahan struktur file.
Misalnya :
Panjang field diubah, penambahan field baru, panjang record dirubah.
Reorganization
Perubahan organisasi file dari organisasi yang satu, menjadi organisasi file yang
lain.
Misalnya :
Widiastuti, Skom./BerkasAkses.1
* Dari organisasi file sequential menjadi indeks sequential.
* Dari direct menjadi sequential.
Sistem File :
Sebuah sistem file sangat membantu para programmer untuk memungkinkan mereka
mengakses file, tanpa memperhatikan detail dari karakteristik dan waktu penyimpanan.
Sistem file ini juga yang mengatur direktori, device access dan buffer.
Widiastuti, Skom./BerkasAkses.1
BAB 2
Media Penyimpanan
Adalah peralatan fisik yang menyimpan representasi data.
PROGRAM
STORAGE AREA PRIMARY
INPUT OUTPUT STORAGE SECTION
STORAGE STORAGE
WORKING
AREA AREA
STORAGE AREA
Control unit section, Primary storage section, ALU section adalah bagian dari CPU.
Widiastuti, Skom./BerkasAkses.1
Berdasarkan hilang atau tidaknya berkas data atau berkas program di dalam storage, yaitu :
1) Volatile Storage;
Berkas data atau program akan hilang, bila listrik dipadamkan.
2) Non Volatile Storage;
Berkas data atau program tidak akan hilang, sekalipun listrik dipadamkan.
Widiastuti, Skom./BerkasAkses.1
Secondary Memory (Auxiliary Memory)
Memori dari CPU sangat terbatas sekali dan hanya dapat menyimpan informasi untuk
sementara waktu. Oleh sebab itu alat penyimpan data yang permanen sangat diperlukan.
Informasi yang disimpan pada alat-alat tersebut dapat diambil dan ditransfer pada CPU
pada saat diperlukan. Alat tersebut dinamakan Secondary Memory (Auxiliary Memory)
atau backing storage.
HIERARKI STORAGE
Direct Access
Storage Device
Sequential Access
Storage Device
Widiastuti, Skom./BerkasAkses.1
MAGNETIC TAPE
Magnetic tape adalah model pertama dari pada secondary memory. Tape ini juga
dipakai untuk alat input / output dimana informasi dimasukkan ke CPU dari tape dan
informasi diambil dari CPU lalu disimpan pada tape lainnya.
Panjang tape pada umumnya 2400 feet, lebarnya ½ inch dan tebalnya 2 mm. Data
disimpan dalam bintik kecil yang bermagnit dan tidak tampak pada bahan plastik yang
dilapisi ferroksida. Flexible plastiknya disebut Mylar. Mekanisme aksesnya adlah tape
drive.
Jumlah data yang ditampung tergantung pada model tape yang digunakan. Untuk
tape yang panjangnya 2400 feet, dapat menampung kira-kira 23.000.000 karakter.
penyimpanan data pada tape adalah dengan cara sequential.
Widiastuti, Skom./BerkasAkses.1
Parity dan Error Control pada Magnetic Tape
Salah satu teknik untuk memeriksa kesalahan data pada magnetic tape adalah dengan teknik
parity check.
Ada 2 macam parity check :
(Dilakukan oleh komputer secara otomatis tergantung jenis komputer yang digunakan).
Odd Parity (Parity Ganjil);
Jika data direkam dengan menggunakan Odd Parity, maka jumlah 1 bit (yang
merepresentasikan suatu karakter) adalah Ganjil.
Jika jumlah 1 bitnya sudah ganjil, maka parity bit (yang terletak pada track ke-9) adalah
0 bit;
tetapi
jika jumlah 1 bitnya masih genap, maka parity bitnya adalah 1 bit.
Even Parity (Parity Genap);
Bila kita merekam data dengan menggunakan even parity, maka jumah 1 bit (yang
merepresentasikan suatu karakter) adalah Genap.
Jika jumlah 1 bitnya sudah genap, maka parity bit (yang terletak pada track ke-9) adalah
0 bit;
tetapi
jika jumlah 1 bitnya masih ganjil, maka parity bitnya adalah 1 bit.
Contoh :
Track 1 : 0 0 0 0 0 0
2 : 1 1 1 1 1 1
3 : 1 1 1 1 1 1
4 : 0 1 0 1 0 1
5 : 1 1 0 1 1 0
6 : 1 1 1 1 0 0
7 : 0 1 1 1 1 0
8 : 0 0 1 1 1 1
Bagaimana isi dari track ke-9, jika untuk merekam data digunakan odd parity dan even
parity ?
Widiastuti, Skom./BerkasAkses.1
Jawab :
Odd Parity
Track 9 : 1 1 0 0 0 1
Even Parity
Track 9 : 0 0 1 1 1 0
Widiastuti, Skom./BerkasAkses.1
MAGNETIC DISK
RAMAC (Random Access) adalah DASD pertama yang dibuat oleh industri
komputer. Pada magnetic disk kecepatan rata-rata rotasi piringannya sangat tinggi.
Access arm dengan read / write head yang posisinya diantara piringan-piringan,
dimana pengambilan dan penyimpanan representasi datanya pada permukaan piringan.
Data disimpan dalam track.
Widiastuti, Skom./BerkasAkses.1
pada drive. Controller juga mengatur buffer storage untuk menangani masalah deteksi
kesalahan, koreksi kesalahan dan mengontrol aktivitas read / write head.
Susunan piringan pada disk pack berputar terus-menerus dengan kecepatan
perputarannya 3600 per-menit. Tidak seperti pada tape, perputaran disk tidak berhenti di
antara piringan-piringan pada device.
Kerugiannya bila terjadi situasi dimana read / write head berbenturan dengan
permukaan penyimpanan record pada disk, hal ini disebut sebagai head crash.
Ada 2 yeknik dasar untuk pengalamatan data yang disimpan pada disk, yaitu :
Metode Silinder;
Pengalamatan berdasarkan nomor silinder, nomor permukaan dan nomor record.
Semua track dari disk pack membentuk suatu silinder. jadi bila suatu disk pack dengan
200 track per-permukaan, maka mempunyai 200 silinder.
Bagian nomor permukaan dari pengalamatan record menunjukkan permukaan
silinder record yang disimpan. Jika ada 11 piringan, maka nomor permukaannya dari
0 – 19 (1 – 20). Pengalamatan dari nomor record menunjukkan dimana record terletak
pada track yang ditunjukkan dengan nomor silinder dan nomor permukaan.
Metode Sektor;
Setiap track dari pack dibagi ke dalam sektor-sektor. Setiap sektor adalah storage
area untuk banyaknya karakter yang tetap. Pengalamatan recordnya berdasarkan nomor
sektor, nomor track dan nomor permukaan. Nomor sektor yang diberikan oleh disk
controller menunjukkan track mana yang akan diakses dan pengalamatan record terletak
pada track yang mana.
Widiastuti, Skom./BerkasAkses.1
Setiap track pada setiap piringan mempunyai kapasitas penyimpanan yang sama,
meskipun diameter tracknya berlainan. Keseragaman kapasitas dicapai dengan
penyesuaian density yang tepat dari representasi data untuk setiap ukuran track.
Keuntungan lain pendekatan keseragaman kapasitas adalah file dapat ditempatkan pada
disk tanpa merubah lokasi nomor sektor (track atau cylinder) pada file.
Widiastuti, Skom./BerkasAkses.1
Menghitung Kapasitas Penyimpanan pada Tape
Contoh :
Kita ingin membandingkan berapa banyak record yang dapat disimpan dalam tape, bila :
1 block berisi 1 record
1 record = 100 character
dengan
1 block berisi 20 record
1 record = 100 character
panjang tape yang digunakan adalah 2400 feet, density 6250 bpi dan panjang gap 0.6 inch.
Jawab :
1 block 1 record;
2400 ft/tape * 12 in/ft
-------------------------------------------------------------------- = 46753 block/tape
100 char/rec
1 rec/block * --------------- + 0.6 in/gap * 1 gap/block
6250 char/in
tape tersebut berisi 46753 record.
1 block 20 record;
2400 ft/tape * 12 in/ft
--------------------------------------------------------------------- = 31304 block/tape
100 char/rec
20 rec/block * --------------- + 0.6 in/gap * 1 gap/block
6250 char/in
tape tersebut berisi = 20 * 31304
= 626080 record.
Widiastuti, Skom./BerkasAkses.1
Menghitung Waktu Akses pada Tape
Diketahui :
Kecepatan akses tape untuk membaca / menulis adalah 200 inch / sec.
Waktu yang dibutuhkan untuk berhenti dan mulai pada waktu terdapat gap adalah
0.004 second.
Hitung :
Waktu akses yang dibutuhkan tape tersebut, dengan menggunakan data pada contoh
sebelumnya.
Jawab :
1 block 1 record;
46753 block/tape * 0.016 in/block
= ----------------------------------------- + 46753 block/tape * 0.004 sec/gap * 1 gap/block
200 in/sec
= 190.75 sec/tape
waktu akses yang dibutuhkan tape tersebut adalah 190.75 sec.
1 block 20 record;
2338 block/tape * 0.32 in/block
= -------------------------------------- + 2338 block/tape * 0.004 sec/gap * 1 gap/block
200 in/sec
= 10.55 sec/tape
waktu akses yang dibutuhkan tape tersebut adalah 10.55 sec.
Widiastuti, Skom./BerkasAkses.1
Latihan
Widiastuti, Skom./BerkasAkses.1
Latihan
Soal 1;
Densitas suatu tape adalah 1600 bpi dan panjang interblock gap adalah 0.75 inch. Record
yang panjangnya 40 character akan disimpan pada tape yang panjangnya 2400 feet.
Ditanya :
♦ Berapa banyak record yang dapat disimpan jika dalam 1 block berisi 1 record ?
♦ Berapa banyak record yang dapat disimpan jika dalam 1 block berisi 10 record ?
Soal 2;
Jika kecepatan pemindahan data adalah 100 inchi / sec.
Waktu yang diperlukan untuk melewati interblock gap adalah 0.1 second.
Ditanya :
♦ Berapa waktu yang diperlukan untuk membaca tape tersebut (untuk 1 block berisi 1
record dan 1 block berisi 10 record) ?
Widiastuti, Skom./BerkasAkses.1
BAB 3
ORGANISASI BERKAS SEQUENTIAL
Keuntungan
Kemampuan untuk mengakses record berikutnya secara tepat.
Keterbatasan
Tidak dapat mengakses langsung pada record yang diinginkan.
Pola Akses
Adalah penentuan akses berdasarkan field tertentu.
Media Penyimpanan
Disimpan dalam SASD, seperti magnetic tape atau pada DASD, seperti magnetic disk.
Widiastuti, Skom./BerkasAkses.1
9. Karakteristik lalu lintas saluran dan kapasitas saluran pada sistem dapat
dibuat menguntungkan dengan cara memisahkan berkas-berkas dalam media
penyimpanan.
Hit Ratio
Banyaknya record yang harus diakses untuk mendapatkan informasi yang diinginkan
dibagi dengan banyaknya record dalam berkas tersebut .
Semakin rendah hit ratio, semakin tidak baik bila menggunakan organisasi
sequential.
Semakin tinggi hit ratio, semakin baik bila menggunakan organisasi
sequential.
Widiastuti, Skom./BerkasAkses.1
Update Terhadap Berkas Sequential
Frekuensi dimana sebuah master file harus di-update bergantung pada faktor-faktor :
Tingkat perubahan data
Ukuran dari master file
Kebutuhan yang mendesak dari data yang sedang berjalan pada master file
File activity ratio
Generation File
File yang memiliki nama yang sama tapi berbeda generasinya.
JENIS UPDATE
3. Insert a new record
4. Delete an existing record
5. Modify an existing record
Widiastuti, Skom./BerkasAkses.1
BAB 4
♦ PROSES
Pada waktu sebuah record ditulis kedalam berkas relatif, fungsi pemetaan R digunakan
untuk menerjemahkan NILAI KEY DARI RECORD menjadi ADDRESS, dimana
record tersebut disimpan.
Berkas relatif harus disimpan dalam media DASD, seperti magnetic disk atau drum.
Catatan :
Widiastuti, Skom./BerkasAkses.1
• Record dari berkas relatif dapat di update langsung tanpa perlu
merekam kembali semua record.
Widiastuti, Skom./BerkasAkses.1
Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan
R, dimana R(NILAI KEY) ADDRESS, yaitu :
• Pengalamatan Mutlak
Nilai key yang diberikan oleh pemakai program sama dengan ADDRESS
SEBENARNYA dari record tersebut pada penyimpanan sekunder.
KEUNTUNGAN KELEMAHAN
Fungsi pemetaan R sangat Pemakai harus mengetahui dengan
sederhana pasti record-record yang disimpan
secara fisik.
Tidak membutuhkan waktu lama Merupakan device dependent.
dalam menentukan lokasi record Perbaikan atau pengubahan device,
pada penyimpanan sekunder. dimana berkas berada akan
mengubah nilai key.
Merupakan address space dependent.
Reorganisasi berkas relatif akan
menyebabkan nilai key berubah.
• Pengalamatan Relatif
Dasar pemikiran pendekatan pencarian tabel adalah sebuah tabel atau direktori
dari nilai key dan address.
• Sebuah record dapat diakses dengan cepat, setelah nilai key dalam
direktori ditentukan.
• Nilai key dapat berupa field yang mudah dimengerti seperti PART
NUMBER, NPM, karena nilai key tersebut akan diterjemahkan
menjadi alamat.
Adalah dengan melakukan kalkulasi terhadap nilai key, hasilnya adalah alamat relatif.
Salah satu kelemahan dari teknik pengalamatan relatif adalah ruang harus disediakan
sebanyak jangkauan nilai key, terlepas dari berapa banyak nilai key.
Widiastuti, Skom./BerkasAkses.1
Salah satu masalah dari teknik ini adalah ditemukannya alamat relatif yang sama untuk
nilai key yang berbeda.
Keadaan dimana :
7. Hashing
Kalkulasi terhadap nilai key untuk mendapatkan sebuah alamat disebut fungsi hash.
Keuntungan:
♦ Division Remainder
Alamat relatif dari suatu nilai key merupakan sisa dari hasil pembagian
nilai key tersebut dengan suatu bilangan yang disebut sebagai bilangan
pembagi.
• Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV
adalah 0 sampai DIV-1.
• Pembagi harus diseleksi untuk mengurangi benturan.
• Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan
bilangan prima.
• Bukan bilangan prima yang mempunyai faktor prima kurang dari 20
akan dapat memberikan jaminan penampilan yang lebih baik.
• Walaupun telah ditentukan pembagi dengan baik untuk mengatasi
benturan, bila ruang alamat dari berkas relatif mendekati penuh, maka
peluang terjadinya benturan akan meningkat.
Untuk mengukur kepenuhan berkas relatif digunakan Load Factor (Faktor Muat).
Widiastuti, Skom./BerkasAkses.1
Load Factor = banyak record dalam berkas
max. banyak record dalam berkas
Jadi jika kita ingin menyimpan sebanyak n record pada suatu berkas dan
load factor adalah 0.8, maka max. banyak record pada berkas adalah
1.25 n.
n
0.8 = max
max = 1.25 n
Contoh :
Kita ingin membuat berkas yang terdiri dari 4000 record.
Load Factor (Faktor muat) = 0.8
123456789
5003 = 24676 sisa 2761 + 1
alamat relatif
Untuk mendapatkan alamat relatif, nilai key dikuadratkan, kemudian beberapa digit
diambil dari tengah .
Widiastuti, Skom./BerkasAkses.1
Jumlah nilai key yang dikuadratkan, dari nilai key 123456789 = 17 digit.
17 1
Untuk alamat relatif = 2 = 8 2
Kita mulai dari digit ke 8 dihitung dari kiri, maka alamat relatif =
8750
(karena ditentukan 4 digit sebagai alamat relatif).
♦ Hashing by folding
Untuk mendapatkan alamat relatif, nilai key dibagi menjadi beberapa bagian,
setiap bagian (kecuali bagian terakhir) mempunyai jumlah digit yang sama dengan
alamat relatif.
Contoh :
1 2345 6789
1 2345 6789
Menghasilkan :
Widiastuti, Skom./BerkasAkses.1
1
2345
9876 +
1 3221
alamat relatif
• Teknik Mid Square dapat dipakai untuk file dengan load factor
cukup rendah akan memberikan penampilan baik tetapi kadang-
kadang dapat menghasilkan penampilan yang buruk dengan
beberapa collision.
Widiastuti, Skom./BerkasAkses.1
♦ Pendekatan terhadap masalah Collision
• Open Addressing
Contoh :
K1 = 1 K2 = 1
R1 R2
K1 K2
• Separate Overflow
Menemukan address untuk K2 diluar dari primary area dalam berkas relatif,
yaitu di overflow area yang dipakai hanya untuk menyimpan record-record
yang tak dapat disimpan di home addressnya.
Contoh :
K1 = 1 K2 = 1
R1
K1
Overflow area
K2
Widiastuti, Skom./BerkasAkses.1
Ada 2 teknik untuk mengatasi collision :
• Linear Probing
Merupakan teknik open addresing
• Double hashing
Dapat dipakai selain open addressing atau separate overflow.
Address dari record yang dihash kembali dapat terletak pada primary area
atau di separate overflow area.
Berkas dengan load factor kurang dari 0.5 pada linear probing akan
menghasilkan synonim yang mengelompok, sedangkan double hashing
synonimnya berpencar.
• Synonim Chaining
Contoh :
Widiastuti, Skom./BerkasAkses.1
KEY HOME ADDRESS ACTUAL ADDRESS
Adams 20 20
Bates 21 21
Coll 20 22
Dean 21 23
Evans 24 24
Flint 20 25
20 Adams .. 0 Coll ..
21 Bates .. 1 Dean ..
22 2 Flint ..
23 3
Widiastuti, Skom./BerkasAkses.1
24Evans ..
• Bucket Addressing
Pendekatan lain dalam mengatasi collision adalah hash ke dalam block atau
bucket yang dapat memberikan tempat sejumlah record.
Contoh :
Factor Muat = N
B(M + 1)
Contoh :
Green 30
Hall 30
Jenk 32
King 33
Land 33
Mark 33
Nutt 33
Widiastuti, Skom./BerkasAkses.1
BUCKET BUCKET CONTENTS
ADDRESS
30 Green .. Hall ..
31
32 Jenks ..
overflow
Widiastuti, Skom./BerkasAkses.1