Fungsi Hashing Abdul Haris S Kom Kunci sebagai
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 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 Ruang Kunci 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 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 124 ? ? ? Catatan : kedua Fungsi ini Carry diabaikan untuk 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 (5 x 133)+(6 x 132)+(7 x 131)+(8 x 130) =10985+1014+91+8 =12098 1 0
Terima Kasih
- Slides: 12