Organisasi
Berkas Langsung
dan Metode
Hashing
Oleh :
Tri handoko, S.Kom.
Maju Mundur
misal : sudah lulus, mengundurkan diri, DO, cuti, dll…SEHINGGA TIDAK SEMUA
RUANG DIMANFAATKAN.
9999.9999.99999 9999.9999.99999
Maju Mundur
Metode Hashing
• Untuk mengatasi kerugian yang timbul
dari cara korespondensi satu-satu yang
telah disebutkan itu, digunakan metode
lain yang dinamakan Metode Hashing
• Metode Hashing intinya digunakan untuk
mengurangi banyaknya ruang alamat yang
digunakan serta melakukan pemetaaan
(melakukan konversi) dari kunci rekaman
yang memiliki cakupan nilai yang luas ke
nilai alamat yang memiliki cakupan yang
telah dipersempit
Maju Mundur
Fungsi Hash
• Untuk melakukan pemetaan (konversi) dari kunci
rekaman ke alamat rekaman digunakan suatu
fungsi yang dinamakan Fungsi Hash
• Output dari fungsi hash dinamakan sebagai home
address dari rekaman yang kuncinya diproses
• Bentuk fungsi hash :
f (key) address
Maju Mundur
Collision (Tabrakan)
• Dengan menggunakan metode hashing, maka
secara otomatis hubungan korespondensi satu-
satu antara kunci rekaman dengan alamat
rekaman menjadi hilang
• Selalu ada kemungkinan terjadinya peristiwa
dimana terdapat dua buah rekaman dengan
kunci yang berbeda namun memiliki home
address yang sama
• Kejadian ini dinamakan sebagai Collision atau
Tabrakan atau Tumbukan
Manajemen Kolisi
• Makin sedikit jumlah kolisi, maka makin baik
fungsi hashing tersebut karena makin sedikit
jumlah waktu yang diperlukan untuk melihat
tempat yang berbeda dalam menemukan
rekaman yang diinginkan.
• Beberapa cara untuk mengantisipasi kolisi adalah
mengganti fungsi hashing, atau
mengkombinasikan faktor-packing. Faktor
packing suatu berkas adalah perbandingan (atau
rasio) antara jumlah rekaman yang disimpan
dalam berkas dengan kapasitas berkas, atau
dapat dinyatakan sbb :
Jumlah rekaman yang disimpan
Factor packing
Jumlah total lokasi penyimpanan
Resolusi Kolisi
• Yang menjadi tujuan utama metoda
resolusi adalah menempatkan rekaman
sinonim pada suatu lokasi yang
membutuhkan probes tambahan yang
minimum dari home-address rekaman
tersebut.
Synonim adalah dua atau lebih nilai key
yang berbeda pada hash ke home-address
yang sama
Salah satu penyelesaian yang dapat
dilakukan adalah memberikan petunjuk
pada lokasi rekaman sinonim.
Maju Mundur
Collision Resolution
• Karena collision dapat dipastikan akan selalu
terjadi, maka dikatakan bahwa output dari fungsi
hash (home address) bukanlah merupakan
alamat unik yang pasti ditempati oleh rekaman
yang diproses, namun hanya berupa
kemungkinan alamat yang bisa ditempati
• Jika home address dari suatu rekaman ternyata
sudah ditempati rekaman lain, maka harus
dicarikan alamat lain untuk ditempati rekaman
tersebut
• Proses pencarian alamat lain ini dinamakan
sebagai Collision Resolution
Metode Coalesced Hashing
•Bila terjadi tumbukan dalam pemasukan kunci rekaman maka dicari
alamat yang paling besar/paling akhir
Contoh : misalkan akan dilakukan penyisipan rekaman-rekaman
dengan kunci 38,51,40,61,83,24, dan 60
Langkah I : Hash semua kunci dengan kunci modulus 11 (11 adalah kapasitas
berkas), maka akan dihasilkan :
51 7
40 7
61 6
83 6
24 2
60 5
II. Masukkan ke alamat :
38 5 1
51 7 1
40 7 2
61 6 1
83 6 2
24 2 1
60 5 2
Probe total 10
Jadi probe rata-rata 10/9
Probe total 11
Metode Chaining
• Dengan metode ini, harus disediakan
ruang ekstra untuk menyimpan rekaman-
rekaman yang mengalami tabrakan
(terpisah dari tabel hash)
• Pada setiap ruang alamat yang ada, tidak
hanya menyimpan data rekaman namun
juga menyimpan suatu nilai yang
menunjukkan alamat rekaman selanjutnya
yang harusnya menempati ruang tersebut
• Setiap sinonim (nilai-nilai yang memiliki
home address sama) akan membentuk
rantai (chain)
Maju Mundur
Metode Progressive
Overflow
• Metode Open Addressing dengan Linear Probing
disebut juga sebagai Metode Progressive
Overflow
• Metode ini jika didesain dengan salah bisa
menimbulkan infinite loop, dimana alamat
alternatif tidak dapat ditemukan karena
pencarian hanya memutar-mutar di tempat yang
sama
• Kelemahan ini dapat diatasi dengan cara :
– Jarak pencarian diambil suatu nilai yang bukan
merupakan faktor dari jumlah ruang alamat (n)
– Banyaknya ruang alamat diambil suatu bilangan
prima, misalkan ada 10 data, maka disediakan
ruang alamat sebanyak 11