Anda di halaman 1dari 33

SISTEM BERKAS

= ORGANISASI
BERKAS RELATIF=
YO K E LU C I A R E N I C A R E H ATA L A N I T,
S . KO M , M M .
S I & MI U N S U RYA
Pengertian Berkas Relatif
•Suatu berkas yang mengidentifikasikan record dengan key yang diperlukan.
•Suatu cara yang efektif dalam mengorganisasi sekumpulan record yang
membutuhkan akses sebuah record dengan cepat.
•Dalam berkas relatif ada hubungan antara KEY YANG DIPAKAI untuk
mengidentifikasi record dalam penyimpan sekunder.
•Record tidak perlu tersortir secara fisik menurut nilai key.
•Tidak perlu mengakses record secara berurutan.

YLRR FOR UNSURYA 2


Bagaimana record yang ke-N ditemukan? Dalam hal ini, perlu kita buat
hubungan yang akan menerjemahkan NILAI KEY dan ADDRESS, hubungan ini
dinyatakan sebagai R, yang menyatakan fungsi pemetaan

R (NILAI KEY) ADDRESS

YLRR FOR UNSURYA 3


•Dari nilai key ke address dalam penyimpanan sekunder. 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 di simpan dalam media DASD ( Direct Access


Storage Device ), seperti magnetic disk atau drum.

YLRR FOR UNSURYA 4


Catatan :

➢Kita tidak perlu mengakses semua record


master file, cukup mengakses langsung record
yang dikehendaki.
➢Record dari berkas relatif dapat di update langsung
tanpa perlu merekam kembali semua record.
➢Keuntungan dari berkas relatif ini adalah
kemampuan mengakses record secara langsung.
Sebuah record dapat di retrieve, insert, modifikasi
atau di delete; tanpa mempengaruhi record lain
dalam berkas yang sama.

YLRR FOR UNSURYA 5


Karena Kemampuan mengakses record tertentu secara cepat,
maka organisasi berkas relatif sering digunakan dalam proses
interactive. Sebagai contoh, sebuah on-line sistem perbankan
mempunyai berkas induk dengan struktur sebagai berikut:

YLRR FOR UNSURYA 6


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 meretrieve secara langsung record
yang ada pada berkas induk. Jika
TRANS-TYPE = ‘T’, mana BALANCE akan ditampilkan di layar.
Jika TRANS-TYPE = ‘C’ atau ‘D’, maka record-record dari berkas induk
CUSTOMER-ACCOUNT akan di modifikasi dengan AMOUNT data
DATE yang ada di berkas transaksi, dimana ACCOUNT NUMBER yang
menentukan lokasi record dalam berkas tersebut.
Ada dua hal penting yg perlu dicatat :
➔ Pertama, tidak perlu mengakses semua record berkas induk,
cukup mengakses langsung record yang dikehendaki.
➔ Kedua, record dari berkas relatif dapat diupdate langsung
tanpa perlu merekam kembali semua record.

YLRR FOR UNSURYA 7


Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan R,
dimana R(NILAI KEY) ADDRESS, yaitu :
1. Teknik Pemetaan Langsung (Direct Mapping)
Teknik ini merupakan teknik yang sederhana untuk
menerjemahkan nilai record key menjadi address. Ada 2 cara dalam
pemetaan langsung, yaitu :
a. Absolute Addressing (Pengalamatan Mutlak)

R(NILAI KEY) ADDRESS


NILAI KEY = ALAMAT MUTLAK
Nilai key yang diberikan oleh pemakai program
sama dengan ADDRESS SEBENARNYA dari record
tersebut pada penyimpanan sekunder.

YLRR FOR UNSURYA 8


KEUNTUNGAN KELEMAHAN
Fungsi pemetaan R Pemakai harus mengetahui
sangat sederhana dengan pasti record-record
yang disimpan secara fisik.

Tidak membutuhkan Merupakan device dependent.


waktu lama dalam Perbaikan atau pengubahan
menentukan lokasi device, dimana berkas berada
record pada akan mengubah nilai key.
penyimpanan sekunder.
Merupakan address space
dependent.
Reorganisasi berkas relatif akan
menyebabkan nilai key berubah.

YLRR FOR UNSURYA


9
b. Pengalamatan Relatif
R (NILAI KEY) ADDRESS
Nilai Key = ALAMAT RELATIF
Nilai Key = urutan record tersebut di dalam berkas

KEUNTUNGAN KELEMAHAN
Fungsi pemetaan R sangat bukan device dependent
sederhana.
Nilai key dari sebuah record Merupakan address space
dapat ditentukan lokasi dependent
recordnya dalam sebuah Terjadinya pemborosan
penyimpanan sekunder tanpa ruangan
memerlukan waktu proses yang
berarti.
YLRR FOR UNSURYA 10
2. Teknik Pencarian Tabel (Directory Look Up)
Teknik ini jauh lebih baik dibanding dengan teknik pemetaan
langsung. Dalam bentuk yg sederhana, direktori
diimplementasikan sebagai suatu array dari nilai key; record
alamat, digambarkan sebagai berikut:

YLRR FOR UNSURYA 11


Di sini data dalam direktori disusun secara urut menurut nilai
key, sehingga pencarian nilai key dalam direktori lebih cepat
dengan binary search dibanding sequentian search.
Alternatif lain, direktori dapat disusun dalam binary search
tree, M-way search tree, atau B-tree.

YLRR FOR UNSURYA 12


Keuntungan dari Pencarian Tabel :

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.

Nilai key adalah address space independent,


dimana reorganisasi berkas tak akan memepengaruhi
nilai key, yang berubah adalah alamat dalam direktori.

YLRR FOR UNSURYA 13


3. Teknik Kalkulasi Alamat

Salah satu masalah dari teknik ini adalah ditemukannya


alamat relatif yang sama untuk nilai key yang berbeda.
Keadaan dimana :
R(K1) = R(K2) disebut benturan
K1  K2 atau collision

• Ada banyak cara untuk mengatasi benturan,


antara lain,
1. Scatter storage techniques
2. Randomizing techniques
3. Key-to-address transformation
methods
4. Direct addressing techniques
5. Hash table methods
6. Hashing
YLRR FOR UNSURYA 14
HASHING

Kalkulasi terhadap nilai key untuk mendapatkan sebuah


alamat disebut fungsi hash.
Keuntungan:
 Nilai key yang sebenarnya dapat dipakai karena diterjemahkan kedalam
sebuah alamat.
 Nilai key adalah address space independent bila berkas
direorganisasi, fungsi hash berubah tetapi nilai key tetap.
Kelemahan :
 Membutuhkan waktu proses dalam mengimplementasikan fungsi
hash.
 Membutuhkan waktu proses dan akses I/O dalam mengatasi
benturan.

• Jelaslah bahwa tujuan utama dari fungsi hash adalah


mengurangi benturan. Kumpulan dari synonim kadang disebut
KELAS EKIVALEN. Fungsi hash yg baik adalah mempunyai
kelas ekivalen yg kecil dan mempunyai kalkulasi sederhana

YLRR FOR UNSURYA 15


Penampilan fungsi hash bergantung pada :
 Distribusi nilai key yang dipakai
 Banyaknya nilai key yang dipakai relatif terhadap ukuran dari ruang
alamat.
 Banyaknya record yang dapat disimpan pada alamat tertentu tanpa
menyebabkan benturan.
 Teknik yang dipakai untuk mengatasi benturan

YLRR FOR UNSURYA 16


Fungsi Hash yang umum digunakan :

1. Division Remainder
 Alamat relatif dari suatu nilai key merupakan sisa dari hasil
pembagian nilai key tersebut dengan suatu bilangan yang
disebut sebagai bilangan pembagi.
 Banyak faktor yang harus dipertimbangkan dalam pemilihan
pembagi :
1. Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV
adalah 0 sampai DIV-1.
2. Pembagi harus diseleksi untuk mengurangi benturan.
3. Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan
bilangan prima.
4. Bukan bilangan prima yang mempunyai faktor prima kurang dari 20
akan dapat memberikan jaminan penampilan yang lebih baik.
5. Walaupun telah ditentukan pembagi dengan baik untuk mengatasi
benturan, bila ruang alamat dari berkas relatif mendekati penuh,
maka peluang terjadinya benturan akan meningkat.

YLRR FOR UNSURYA 17


 Untuk mengukur kepenuhan berkas relatif digunakan Load Factor atau
Faktor Muat.
Load Factor = banyak /jumlah record dalam berkas
max. banyak/jumlah record dalam berkas

• Semua fungsi Hash mulai bekerja buruk, bila berkas hampir


penuh. Jika faktor muat lebih besar dari 0,7 atau 0,8, maka
berkas tersebut harus diperbesar dan direorganisir. Karena itu,
jika berkas berisi relatif N record, maka ruang alamat harus
mempunyai paling sedikit 0,25 N record Untuk faktor muat 0,8)
Contoh : Sebuah berkas relatif yang berisi 4000 record, paling
sedikit harus mempunyai ruang alamat untuk 5000 record
(faktor muat 0,8). Angka yang dekat dengan 5000 dan terdiri
dari faktor prima kurang dari 20 adalah angka 5003. Angka ini
dipakai sebagai pembagi.
Alamat relatif didapat dari sisa pembagian + 1

YLRR FOR UNSURYA 18


Bilangan pembagi : 5003
123456789
5003 = 24676 sisa 2761 + 1
alamat relatif
987654321 = 197412 sisa 2085 + 1
5003 alamat relatif

YLRR FOR UNSURYA 19


2. Mid Square Hashing
•Dalam banyak teknk hasing ini, nilai key dikuadratkan kemudian beberapa digit diambil
dari tengah untuk mendapatkan relatif address. Jika relatif address dari N digit
dibutuhkan, maka N digit diambil dari tengah-tengah nilai key yang dikuadratkan.

•Pada tabel berikut, digit ke-7 sampai 10 dihitung dari kanan, diambil untuk
mendapatkan 4 digit sebagai relatif address.

YLRR FOR UNSURYA 20


3.Hashing by folding
 Untuk mendapatkan alamat relatif, nilai key dibagi menjadi
beberapa bagian, setiap bagian (kecuali bagian awal atau terakhir)
mempunyai jumlah digit yang sama dengan alamat relatif.
 Bagian-bagian ini kemudian dilipat (seperti kertas) dan dijumlah.
Hasilnya, digit yang tertinggi dibuang (bila diperlukan).
Contoh :
Nilai key 123456789 dan alamat relatif sebanyak 4 digit.

1 2345 6789
Menghasilkan :
1
2345
9876 +
1 3221

YLRR FOR UNSURYA 21


Hasil penjumlahan adalah 13221. Digit tertinggi dibuang, sehingga hasil akhir adalah
3221.

YLRR FOR UNSURYA 22


Perbandingan fungsi Hash
 Teknik Division Remainder memberikan penampilan yang terbaik secara
keseluruhan.
 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.
 Teknik folding adalah teknik yang paling mudah dalam perhitungan tetapi
dapat memberikan hasil yang salah, kecuali panjang nilai key = panjang
address.

YLRR FOR UNSURYA 23


Mengatasi Collision/Kolisi/Tubrukan
▪Dalam aplikasinya fungsi Hash memetakan beberapa
nilai key yang berbeda dalam alamat relative yang
sama.
▪Pada saat tubrukan terjadi, lokasi yang kosong harus
ditemukan untuk nilai key yang bertabrakan.

YLRR FOR UNSURYA 24


Pendekatan terhadap masalah Collision
Ada 2 teknik yang digunakan untuk mengatasi collision
yaitu:
1. Linear Probing yang merupakan teknik open addressing Agar
linear probing dapat dilaksanakan, harus ada penentu apakah
address kosong. Ini dapat dilakukan dengan memberi
panji/bendera (flag) bahwa lokasi tersebut telah penuh
setelah record disimpan. Lokasi dasar penyimpanan dengan
teknik linear probing dapat dilihat pada gambar berikut:

YLRR FOR UNSURYA 25


YLRR FOR UNSURYA 26
2. Double Hasing

▪ Yang memakai fungsi hash kedua terhadap hasil dari


fungsi hash pertama. Address dari record yang di-hash
kembali dapat terletak di primary area atau di Separate
Overflow Area
▪ Keuntungan dari metode Separate Overflow adalah
menghindari keadan di mana dapat terjadi metode Open
Addressing untuk sebuah record yang tidak dapat
disimpan dalam home address-nya menggantikan record
lain yang terakhir di hash oleh home address-nya.

YLRR FOR UNSURYA 27


Masalah ini dapat dihindari dengan open addressing sederhana dengan memindahkan record
yang sebelumnya ke lokasi lain (dengan probing atau hashing kembali) dan menyimpan
record yang baru ketempat yang kosong.

Metode ini membutuhkan pengeluaran tambahan untuk pemeliharaan berkas. Berkas relatif
dibagi menjadi 2 berkas , yaitu: Primary Area dan Overflow Area.

YLRR FOR UNSURYA 28


Synonim Chaining

 Pendekatan pemecahan collision yang mengakses synonim


dengan fasilitas link list untuk record-recordnya dalam kelas ekivalen.
Adapun link list record-record dengan home address yang sama tak
akan mengurangi jumlah collision, tetapi akan mengurangi waktu
akses untuk me-retrieve record-record yang tak ada di home
addressnya.
Contoh :
KEY HOME ADDRESS ACTUAL ADDRESS

Adams 20 20
Bates 21 21
Coll 20 22
Dean 21 23
Evans 24 24
Flint 20 25

R20 R21 R22 R23 R24 R25

.. Adams .. Bates .. Coll .. Dean .. Evans .. Flint .. ...

gambar hashing dengan synonim chaining


YLRR FOR UNSURYA 29
HOME PRIMARY DATA OVERFLOW
ADDRESS AREA AREA

20 Adams .. 0 Coll ..

21 Bates .. 1 Dean ..

22 2 Flint ..

23 3
24 Evans ..

YLRR FOR UNSURYA 30


Bucket Addressing
 Pendekatan lain dalam mengatasi collision adalah hash ke dalam
block atau bucket yang dapat memberikan tempat sejumlah record.
 Contoh :
Sebuah berkas relatif mempunyai relatif address space dari 0 sampai M
dan sebuah bucket berukuran B record , address space akan terdiri dari
B(M+1) record. Jika file terdiri dari N record, maka :

Factor Muat = N
B(M + 1)
 Record-record yang disimpan dalam sebuah bucket dapat dikelola
dalam :
1. Dapat disisipkan dalam urutan berdasarkan penempatannya di
bucket.
2. Dapat dipertahankan urutan nilai key-nya.

YLRR FOR UNSURYA 31


Contoh :
KEY HOME ADDRESS

Green 30
Hall 30
Jenk 32
King 33
Land 33
Mark 33
Nutt 33

YLRR FOR UNSURYA 32


YLR REHATALANIT, S.KOM, MM === SIMI UNSURYA 33

Anda mungkin juga menyukai