Anda di halaman 1dari 12

Fungsi Hashing

Abdul Haris,S.Kom
Kunci sebagai alamat rekaman unik
Untuk mendapatkan rekaman yang diasosiasikan
dengan suatu kunci primer, sangat diharapkan agar
proses langsung menuju ke alamat tempat rekaman
dengan kunci tertentu disimpan. Hal tersebut hanya
mungkin hanya mungkin terjadi bila kunci rekaman
juga merupakan alamat lokasi rekaman.
Untuk suatu aplikasi dengan rekaman berisi informasi
mahasiswa, untuk 13 digit nomor mahasiswa maka
diperlukan milyaran lokasi. Dengan demikian waktu
pencarian sangat baik yaitu satu probe untuk setiap
rekaman yang dicari. Akan tetapi teknik tersebut
memiliki kerugian karena memiliki ruang yang sangat
besar untuk menampung semua rekaman
Korespondensi antara Kunci dan Alamat

Korespondensi 1 - 1
Kunci Ruang

9999-9999-99999 9999-9999-99999
Konsekuensinya adalah diperlukan suatu fungsi untuk
memetakan cakupan nilai kunci yang lebih luas ke
dalam cakupan yang lebih sempit nilai alamat. Fungsi
ini dikenal dengan fungsi hash.
Hasing dengan Modulus N
F (KUNCI) = KUNCI MOD N

Dengan N sebagai ukuran tabel atau berkas. Hasil fungsi


modulus adalah sisa pembagian kunci oleh N
Contoh
Dengan kapasitas rekaman 12 maka :

30 mod N=6 30 dibagi 12 menghasil 2 sisa 6


40 mod N=4 40 dibagi 12 menghasil 3 sisa 4
Lipatan(Boundary)
Fungsi ini akan melipat digit pada batasan yang
ditentukan berdasrkan kondisi digit awal dan digit yang
dihasilkan. Contoh :

5 8 3 9 7 6 1 2 4 385
976

3 8 5 9 7 6 4 2 1 421
??
Pergeseran(Shifting)
Hashing dengan pergeseran memiliki proses yang
serupa dengan lipatan,bedanya setelah ditentukan
batasan, digit asli dipotong kemudian digeser untuk
dihitung hasil jumlahnya

5 8 3 9 7 6 1 2 4

583
976 Catatan : kedua Fungsi ini Carry diabaikan untuk
124 mendapakan hasil yang dicari

???
Pengkuadratan
Hashing dengan pengkuadratan adalah fungsi hasing
dengan cara mengkuadratkan kunci.

Contoh :
F(782) = 117  72 + 82 + 22 = 117
Konversi Radix
Dalam konversi radix, kunci dikonversikan dengan cara :
Contoh : 5678 dalam base 13 maka akan menghasilkan
12098
5 6 7 8
Posisi 3 2 1 0

(5x133)+(6x132)+(7x131)+(8x130)
=10985+1014+91+8
=12098
Terima Kasih

Anda mungkin juga menyukai