Organisasi Berkas
ORGANISASI BERKAS RELATIF
• Suatu berkas yang mengidentifikasikan record dengan key yang diperlukan.
• Record tidak perlu tersortir secara fisik menurut nilai key.
• Organisasi berkas relatif paling sering digunakan dalam proses interaktif.
• Tidak perlu mengakses record secara berurutan (consecutive).
• Sebaiknya disimpan dalam Direct Access Storage Device (DASD) seperti magnetic disk/drum.
Kemampuan Berkas Relatif
- Kemampuan mengakses record secara langsung.
- Record dapat di retrieve, insert, modifikasi dan delete tanpa mempengaruhi record lain dalam berkas yang sama.
Tiga teknik dasar fungsi Pemetaan R
1. Pemetaan langsung (Direct Mapping)
2. Pencarian Tabel (Directory Look-up)
3. Kalkulasi (Calculating)
Teknik Pencarian Tabel
• Dasar pemikirannya adalah direktori dari nilai key dan address.
• Lebih cepat menggunakan binary search dibanding dengan sequential search.
Keuntungan :
1. Dapat meng-akses record dengan cepat bila diketahui nilai key.
2. Nilai key berupa field, dapat diterjemahkan menjadi alamat.
3. Nilai key adalah address space indepedent.
Teknik Kalkulasi Alamat
> R (Nilai key) address
Nilai key = dengan melakukan kalkulasi terhadap nilai key.
> Benturan (collision) dapat terjadi apabila terdapat alamat relatif yang sama untuk nilai key yang berbeda.
> Cara mengatasi benturan, antara lain :
> Scatter diagram techniques
> Randomizing techniques
> Key to address transformation methods
> Direct addressing techniques
> Hash tables methods
> Hashing
Keuntungan Hashing :
> Nilai key dapat digunakan langsung.
> Nilai key adalah address space berubah.
Kelemahan Hashing :
Membutuhkan waktu proses untuk implementasi dan mengatasi benturan.
Teknik Pemetaan Langsung
Dua cara Peetaan Langsung :
1. Pengalamatan Mutlak (Absolut Addressing) ;
R (Nilai key) Address
Nilai key = alamat mutlak
Nilai key = alamat sebenarnya dimana record tersimpan. Pada saat penyimpanan dan pemakaian record, harus diketahui dan diberikan pemakai.
Keuntungan :
1) Fungsi Pemetaan R sangat sederhana.
2) Retrieve lebih cepat.
Kelemahan :
1) Harus diketahui penyimapanan record secara fisik.
2) Nilai key tidak boleh hasil perhitungan.
3) Alamat mutlak adalah device independent.
4) Alamat mutlak adalah address space dependent.
2. Pengalamatan Relatif (Relative Addressing) ;
R (Nilai key) Address
Nilai key = alamat relatif.
Nilai key = urutan record tersebut dalam berkas.
Keuntungan :
1) Fungsi Pemetaan R sangat sederhana.
2) Penetuan nilai key tidak perlu waktu proses yang lama.
Kelemahan :
1) Alamat relatif adalah address space dependent.
2) Terjadinya pemborosan ruangan.
Contoh :
4 digit untuk jenis barang (9999).
Padahal hanya ada 2000 jenis barang.
Pemborosan 80% ruang penyimpanan.
Tujuan Utama Hashing :
Agar dua buah kunci yang berbeda tidak mempunyai nilai relative address yang sama.
Perbandingan fungsi hash :
• Division Remainder ;
Menggunakan metode pembagian.
Untuk distribusi nilai key yang tidak diketahui.
• Mid Square ;
Menggunakan metode perpangkatan.
Untuk file denganfaktor cukup rendah.
• Folding ;
Menggunakan metode penjumlahan.
Mudah dalam perhitungan, baik bila panjang nilai key = panjang address.
Pendekatan masalah Collision :
Open Addressing ;
Menemukan address yang bukan home address untuk K2.
Separate Overflow ;
Menemukan address untuuk K2 di luar primary area yakni di overflow area.
Teknik Mengatasi Collision :
a. Linier Probing (Pendekatan Open Addressing) ;
Proses pencarian secara sequential dari home address sampai lokasi yang kosong.
Harus ada penentuan apakah address kosong.
b. Addressing (Pendekatan Separate Overflow) ;
Menggunakan double hashing.
Memakai fungsi hash kedua terhadap hasil dari fungsi hash pertama.
Hasilnya bisa di primary area atau separate overflow area.
Perbandingan kedua teknik :
Linier Probing Double hashing
* menghasilkan synonim berkelompok
* cocok untuk faktor muat rendah * menghasilkan synonim berpencar
* cocok untuk faktor muat tinggi
Fungsi hash yang umum digunakan :
1. Division Remainder
2. Mid Square
3. Folding
Division Remainder
• R(nilai key) address
Nomor relatif dari suatu nilai key merupakan sisa dari hasil pembagian nilai key tersebut denga suatu bilangan.
• Perhitungan alamat relatif :
Faktor muat = jumlah record dalam berkas
max. Jumlah record dalam berkas
Mencari hasil bagi = nilai key
max + (faktor prima < 20)
Alamat relatif = sisa pembagian + 1
Contoh :
Berkas berisi 4000 record
Load factor 0,8
Nilai key 987654321
0,8 = 4000
max record
max = 4000
0,8
= 5000
= 987654321
5000 + 3
= 197412 sisa 2085
Alamat relatif = 2085 + 1
= 2086
Mid Square
• R (Nilai key) Address
Nilai key dikuadratkan kemudian beberapa digit diambil dari tengah. Alamt relatif, diambil mulai dari digit .........
∑ digit dari nilai key kuadrat
2
• Contoh untuk berkas 4000 record, dibutuhkan 4 digit.
Nilai Key Nilai Key Kuadrat Relatif Address
1 2 3 4 5 6 7 8 9 1524157875019052 8 7 5 0
^^^^^^^^
16 / 2 = 8
9 8 7 6 5 4 3 2 1 975461055789911041 5 7 8 9
^^^^^^^^^
18 / 2 = 9
Folding
• Nilai key dibagi menjadi beberapa bagian.
• Setiap bagian (kecuali bagian terakhir) mempunyai digit sama dengan digit alamat relative.
• Bagian-bagian ini dilipat dan dijumlah.
• Hasil penjumlahan adalah alamat relatif (digit tertinggi dibuang bila diperlukan).
Contoh :
4 digit untuk alamat relatif.
1 2 3 4 5 6 7 8 9 (nilai key)
^ ^
1
2 3 4 5
9 8 7 6 +
1 3 2 2 1 3 2 2 1
Synonim Chaining (Penggandengan)
• Menggabung synonim bersama-sama.
• Tidak mengurangi jumlah collision tetapi mengurangi waktu akses untuk meretrieve.
Bucket Addressing
Hash ke dalam blok yang memberikan tempat bagi sejumlah record.
Contoh :
Reltatif address space 0 – m
Bucket berukuran B record
File terdiri dari N record
* Faktor muat = N
B (m + 1)
Currently have 0 komentar: