170 likes | 489 Views
Organisasi berkas langsung (Hashing). HASHING. Fungsi hash diimplementasikan untuk menyimpan kode yang cukup besar ke dalam indeks yang lebih kecil sehingga mempercepat pencarian. contoh :.
E N D
Organisasi berkas langsung (Hashing)
HASHING • Fungsi hash diimplementasikan untuk menyimpan kode yang cukup besar ke dalam indeks yang lebih kecil sehingga mempercepat pencarian. contoh : • Tujuan penggunaan fungsi hash adalah agar 2 buah kunci yang berbeda tidak mempunyai nilai hash yang sama (untuk menghindari colllision/hash clash)
METODA HASHING • Dalam implementasi fungsi hash sering digunakan untuk mengkonversikan himpunan kunci rekaman menjadi himpunan alamat memori (subskrip dalam array) • Aspek yang perlu dipertimbangkan dalam pemilihan fungsi hash adalah : a. Fungsi hash harus mudah dan cepat dihitung b. Fungsi hash sebisa mungkin mendistribusikan posisi yang dimaksud
Home address dicari dengan cara mencari sisa hasil bagi nilai key dengan suatu nilai tertentu. • Fungsi: f(key) = key mod n • Dengan n adalah: • Banyaknya ruang alamat yang tersedia • Atau bilangan prima terdekat yang berada di atas nilai banyak data, setelah itu banyaknya ruang alamat disesuaikan dengan n Hashing dengan Kunci Modulus N
Hashing dengan Kunci Modulus N f (kunci) = kunci mod N N = ukuran tabel atau berkas
N = 12 30 mod N = 6 menghasilkan 2 sisa 6 40 mod N = 4 menghasilkan 3 sisa 4 50 mod N = 2 menghasilkan 4 sisa 2 60 mod N = 0 menghasilkan 5 sisa 0
Hashing dengan Kunci Modulus P Kunci mod P merupakan variasi fungsi kunci mod N f (kunci) = kunci mod P P = sebagai bilangan prima terkecil yang lebih besar atau sama dengan N
Untuk N = 12 maka P = 13 30 mod P = 4 menghasilkan 2 sisa 4 40 mod P = 1 menghasilkan 3 sisa 1 Untuk N = 15 maka P = 17 50 mod P = 16 menghasilkan 2 sisa 16 70 mod P = 2 menghasilkan 4 sisa 2
Hashing dengan pengkuadratan Fungsi hashing dengan cara pengkuadratan kunci Carilah pengkuadratan dari 782 Jawab F (782) =
Hashing dengan konversi Radix Kunci 5 6 7 8 dalam Base 13
Penjumlahan dari susunan lipatan 385 976 Mengabaikan carry 421 672
385 976 Dengan carry 421 782