Hash

Fungsi Hash yang memetakan nama-nama ke bilangan integer dari 0-15. Tampak adanya kolisi pada kunci "John Smith" dengan "Sandra Dee".

Hash adalah suatu kode dari perhitungan matematis yang berbentuk karakter acak. Fungsi Hash banyak sekali digunakan untuk mempercepat pencarian dalam tabel data atau pembandingan data seperti di dalam basis data, mencari duplikasi atau kesamaan (rekaman) di sebuah arsip komputer yang besar, menemukan goresan-goresan yang sama di sebuah DNA, dan sebagainya.

Fungsi hash haruslah stabil (referential transparent). Artinya, jika ia dipanggil dua kali oleh masukan yang benar-benar sama (sebagai contoh, string yang mengandung sekuen karakter yang sama), maka haruslah ia memberi hasil yang sama pula. Ini adalah sebuah kontrak dalam banyak bahasa pemrograman yang membolehkan pengguna melakukan override pada kesamaan morfologi dan fungsi hash bagi sebuah objek; jika dua objek adalah sama, maka kode hash-nya pun sama. Ini menjadi hal yang sangat penting untuk menemukan sebuah elemen di dalam tabel hash dengan cepat, juga karena dua elemen yang sama akan sama-sama meng-hash ke slot yang sama.

Beberapa fungsi hash dapat memetakan dua atau lebih kunci ke nilai hash yang sama, menyebabkan terjadinya kolisi. Fungsi-fungsi hash ini mencoba memetakan kunci-kunci ke nilai hash seketat mungkin karena tabrakan-tabrakan (kolisi) akan semakin sering terjadi saat tabel hash semakin terisi penuh. Sehingga, nilai hash digit tunggal (jumlah dari probing setiap nilai hash dibagi dengan jumlah tabel hash) terbatas hanya di 80% ukuran tabel yang ada. Bergantung kepada algoritme yang digunakan, aturan-aturan yang lain mungkin diperlukan, seperti double hashing dan linear probing.

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.