Anda di halaman 1dari 21

SISTEM BERKAS

MANAJEMEN KOLISI
PERMASALAHAN
• Fungsi hash  mendistribusikan kunci
seperangkat data dengan lebih merata
• Fungsi hash dapat menghasilkan kolisi
(sinonim)
• Semakin sedikit kolisi, semakin baik karena
semakin sedikit waktu yang diperlukan untuk
melihat tempat-tempat yang berbeda untuk
menemukan rekaman yang diinginkan
Solusi
• Beberapa cara yang dapat ditempuh untuk
mereduksi kolisi adalah mengganti fungsi
hashing, atau dengan mereduksi factor-
packing
• Factor-packing suatu berkas adalah
perbandingan (atau rasio) antara jumlah
rekaman yang disimpan dalam berkas dengan
kapasitas berkas
Factor Packing
• Jika nilai factor packing meningkat, maka kolisi
akan lebih sering terjadi (berbanding lurus)
• Mengurangi factor packing  mengurangi jumlah
kolisi
• Factor-packing diperkecil  diperlukan ruang
yang lebih luas (dan ini mahal) untuk menyimpan
jumlah rekaman yang sama
• Factor packing diperkecil  kolisi
berkurangKinerja Meningkat
• Kolisi pada umumnya akan naik secara cepat bila
factor-packing melebihi 90%
Contoh permasalahan
Metode-Metode Resolusi Kolisi

• Coalesed-Hashing

• LICH

• EISCH

• Progressive Overflow

• Penggunaan Buckets

• Pembagian Linier
Coalesed-Hashing
• Adalah metode resolusi yang menggunakan
penunjuk untuk menghubungkan elemen-
elemen dari sebuah rantai sinonim
Coalesed-Hashing
Contoh Coalesed-Hashing...1
• Misalkan akan dilakukan penyisipan rekaman-rekaman dengan
kunci : 38, 51, 40, 61, 83, 24, dan 60 dengan kapasitas berkas 11.
• Langkah 1 : Hash semua kunci rekaman dengan kunci modulus 11,
maka akan menghasilkan :

Kunci Kunci Mod 11


38 5
51 7
40 7
61 6
83 6
24 2
60 5
Contoh Coalesed-Hashing...2
• Langkah 2 : Menyisipkan Rekaman
• Langkah 3 : hitung probe rata-rata.
Probe rata-rata = probe total / jumlah rekaman
= 10 / 7 = 1,4

Kunci Kunci Mod 11 Probe


38 5 1
51 7 1
40 7 2
61 6 1
83 6 2
24 2 1
60 5 2
Probe total 10
Contoh Coalesed-Hashing...3
• Bagaimana jika disisipkan kunci 20 dan 94 (home
address 9 dan 6). Berapa probe rata-rata
Alamat Rekaman Medan penghubung
0 ^
1 ^
2 24 ^
3 94 ^
4 20 3
5 38 8
6 61 9
7 51 10
8 60 ^
9 83 4
10 40 ^
LICH (Late Insertion Standard
Coalesced Hashing)
• Varian dari coalesced-hashing
• Rekaman yang baru disisipkan pada akhir rantai
sinonim
• Memisahkan antara area untuk data primer
dengan area untuk data overflow
• Area primer = ruang alamat yang cocok dengan
fungsi hash
• Overflow (cellar) = area yang hanya berisi
rekaman-rekaman yang sinonim
LICH (Late Insertion Standard
Coalesced Hashing)

Faktor alamat = area primer / ukuran total berkas

Primer

Overflow
Contoh LICH...1
• Misal akan disisipkan rekaman-rekaman dengan kunci :
38,51,40,61,83,24 dan 60 kedalam berkas dengan kapasitas
11
• Langkah 1 : Hash semua kunci rekaman dengan kunci
modulus 7(7 adalah kapasitas berkas pada area primer),
maka akan menghasilkan :
Kunci Kunci Mod 7
38 3
51 2
40 5
61 5
83 6
24 3
60 4
Contoh LICH...2
• Langkah 2 : Menyisipkan rekaman
• Langkah 3 : hitung probe rata-rata.
Probe rata-rata = probe total / jumlah rekaman
= 9/7 = 1,28
Kunci Kunci Mod 7 Probe
38 3 1
51 2 1
40 5 1
61 5 2
83 6 1
24 3 2
60 4 1
Probe total 9
Contoh LICH...2
• Bagaimana jika disisipkan kunci 20 dan 94 (home
address 6 dan 3) berapa probe rata-rata
Alamat Rekaman Medan penghubung
0 ^
1 ^
2 51 ^
3 38 9
4 60 ^
5 40 10
6 83 8
7 94 ^
8 20 ^
9 24 7
10 61 ^
Contoh LICH...3
Kunci Kunci Mod 7 Probe
38 3 1
51 2 1
40 5 1
61 5 2
83 6 1
24 3 2
60 4 1
20 6 2
94 3 3
Probe total 13
EISCH (Early Insertion Standard
coalesced-hashing)
• Teknik lain untuk meningkatkan kinerja probe
dengan variasi penempatan posisi
• Menyisipan rekaman baru pada posisi rantai
sinonim tepat sesudah rekaman yang
disimpan pada home address
• Medan penghubung yang berada pada home-
address diarahkan kerekaman yang baru saja
disimpan
Contoh EISCH
• Misalkan dilakukan penyisipan rekaman-rekaman dengan
kunci : 38, 51, 40, 61, 83, 24, 60, 20, dan 94 kedalam berkas
dengan kapasitas 11.
• Langkah 1 : Hash semua kunci rekaman dengan kunci
modulus 11, maka akan menghasilkan
Kunci Kunci Mod 11
38 5
51 7
40 7
61 6
83 6
24 2
60 5
20 9
94 6
Contoh EISCH
• Langkah 2 : Menyisipkan rekaman
Alamat Rekaman Medan penghubung
0 ^
1 ^
2 24 ^
3 94 9
4 20 ^
5 38 8
6 61 3
7 51 10
8 60 ^
9 83 4
10 40 ^
• Langkah 3 : hitung probe rata-rata.
Probe rata-rata = probe total / jumlah rekaman
= 14/9 = 1,6
Kunci Kunci Mod 11 Probe
38 5 1
51 7 1
40 7 2
61 6 1
83 6 2
24 2 1
60 5 2
20 9 2
94 6 2
Probe total 14

Anda mungkin juga menyukai