APA ITU HASH TABLE DAN BAGAIMANA CARA PENGGUNAANNYA
Hash table merupakan struktur data yang memetakan setiap entitas data ke kunci hash yang sangat memungkinkan sebuh penyimpanan dan pengambilan suatu data dalam jumlah besar secara efisien dengan menggunakan fungsi hash untuk menentukan alamat dalam tabel. Tabel sangat memungkinkan akses waktu yang konstan ke entri, sehingga lebih efisien daripada daftar atau pohon yang akan diurutkan untuk pengambilan sebuah data. Tabel hash digunakan sebagai alamat dalam table hash, yang akan diimplementasikan sebagai larik linier sel (bucket). Pemetaan dilakukan oleh fungsi hash (deterministic) karena akan lebih banyak entetitas yang sangat berbeda daripada sebuah kunci hash yang sangat berbeda, fungsi hash juga tidak bersifat injektif. Algoritma digunakan untuk mengatasi tabrakan yang diperlukan. Beberapa entri dalam suatu table hash dibiarkan kosong, karena tidak ada suatu entitas saat ini yang akan dipetakan ke kunci tersebut. Secara sangat umum akses ke entri dalam table hash dapat dilakukan dalam waktu konstan. Fungsi hash menyebarkan entri cukup luas dan terdapat cukup banyak sel yang berbeda dalam table hash, namun secara keseluruhan menggunakan sebuah table hash dalam pengertian statitistik, akses lebih murah dibandingkan akses acak dalam sebuah daftar yang akan diurutkan atau pohon.
APA ITU HASH TABEL?
Hash table merupakan sebuah struktur data yang secara asosiatif menyimpan sebuah data. Data disimpan kedalam format array, di mana setiap nilai data memiliki sebuah nilai indeks uniknya sendiri. Akses data akan menjadi sangat cepat jika mengetahui indeks dari data yang diinginkan. Hash table akan menjadi struktur data yang dimana suatu operasi penyisipan dan pencarian data terjadi sangat cepat terlepas dari ukuran data tersebut. Hash table menggunakan array sebagai media penyimpanan dan tekniknya untuk menghasilkan suatu indeks suatu elemen yang dimasukkan atau ditempatkan.
FUNGSI HASH TABLE PADA DATA
Fungsi utama dari hash table sendiri mempercepat proses sebuah akses data hal ini sangat berkaitan dengan peningkatan data dengan jumlah yang sangat besar di proses oleh suatu jaringan data global dan juga lokal. Hash table sendiri merupakan sebuah solusi untuk membuat proses akses data lebih cepat dan memastikan bahwa sebuah data dapat dipertukarkan dengan aman. Di dalam berbagai bidang hash table bisa dikembangkan dan dapat digunakan karena menawarkan kelebihan dalam efisiensi waktu operasi, mulai dari pengarsipan hingga pencarian sebuah data. Contohnya adalah bidang jaringan komputer yang dikembangkan menjadi hybrid open hash table, yang kemudian dipakai dalam memproses suatu jaringan komputer yang mengembangkan menjadi hybrid open hash table yang nantinya dipakai untuk memproses suatu jaringan komputer. Untuk mencapai suatu mekanisme hashing yang baik, penting sekali untuk memiliki fungsi hash yang baik dengan persyaratan:
Mudah dihitung:
Harus mudah dihitung dan tidak boleh menjadi algoritma tersendiri.
Distribusi seragam:
Harus menyediakan distribusi seragam di seluruh tabel hash dan tidak boleh mengakibatkan pengelompokan.
Lebih sedikit tabrakan:
Tabrakan terjadi saat pasangan elemen dipetakan ke nilai hash yang sama. Hal ini harus dihindari.
CARA MEMBUAT HASH TABLE
Membuat hash table, sepotong memori perlu diblokir dengan cara yang sama sama dengan saat membuat array.
Perlu membuat indeks yang didasarkan pada kunci dengan menggunakan sebuah fungsi hash karena indeks yang akan dihasilkan harus sesuai dengan potongan sebuah memori
Ada dua pemeriksaan yang akan dibutuhkan saat menempatkan suatu data baru pada hash table, yaitu suatu nilai hash dari sebuah kunci dan bagaimana nilainya akan dibandingkan dengan objek yang lain.
Pemeriksaan diperlukan saat membuat dengan python karena saat akan dimasukkan sebuah data, kunci akan di hash dan di mask agar diubah menjadi suatu larik atau indeks yang sangat efisien.
TEKNIK HASH TABLE
Ada dua teknik yang akan digunakan saat data scientist melakukan hash table
Hashing
Hashing merupakan sebuah proses mengganti kunci yang akan diberikan atau string karakter menjadi nilai lain. Penggunaan hashing paling populer adalah hash table. Hash table menyimpan sebuah pasangan kunci dan juga nilai dalam sebuah daftar yang dapat diakses melalui indeksnya, karena sebuah pasangan kunci dan suatu nilai tidak terbatas, nantinya fungsi akan memetakan kunci ke ukuran tabel kemudia nilai menjadi suatu indeks untuk elemen tertentu
LINEAR PROBING
Linear PROBING merupakan skema dalam suatu pemrograman komputer untuk menyelesaikan collision pada hash table. Dalam skema ini setiap sel dari hash table menyimpan satu pasangan kunci nilai. Saat fungsi hash menyebabkan collision dengan memetakan kunci baru ke sel hash table yang sudah ditempati oleh kunci lain, maka linear PROBING akan mencari suatu tabel untuk lokasi bebas terdekat dan akan menyisipkan kunci baru. Pencarian akan dilakukan dengan cara yang sama, yaitu dengan mencari sebuah tabel secara berurutan, mulai dari posisi yang akan diberikan oleh fungsi hash, hingga menemukan suatu sel dengan kunci yang cocok atau sel kosong. Hash table merupakan struktur data non trivial yang sangat paling umum digunakan. Linear probing dapat memberikan kinerja yang sangat tinggi karena suatu lokasi mereferensikan yang baik, namun lebih sensitif terhadap kualitas fungsi hash daripada beberapa skema resolusi collision lainnya.
BINARY SEARCH
Pencarian biner merupakan algoritma yang efisien untuk menemukan item dari daftar item yang diurutkan. Cara kerjanya dengan berulang kali membagi setengah bagian daftar yang mungkin memuat item tersebut, hingga mempersempit kemungkinan lokasi menjadi hanya satu. Nantinya akanmenggunakan pencarian biner dalam permainan menebak di tutorial pengantar. Serta teknik yang mempercepat waktu akses dalam menyimpan dan mencari sesuatu record dalam hashtable.
KESIMPULAN
Hash table memilki kelebihan utama jika dibandingkan dengan jenis struktur data yang lainnya yaitu padawaktu akses yang sangat cepat jika record yang dicari langsung berada padaa angka hash Lokasi penyyimpananny. Selain itu sistem kerja hash table yang secara asosiatif menyimpan sebuah data yang mana data akan disimpann dalam format array, di mana setiap nilai data akan memiliki suatu nilai indeks uniknya sendiri. Keuntungan utama dari hash table dibandingkan struktur data yang lain adalah efisiensi dan kecepatan. Waktu yang akan dibutuhkan untuk mengakses sebuah elemen cukup cepat sehingga bisa lebih diandalkan. (Aghnia Diffitri Naurasyahbana - 24091397006)
SUMBER:
https://www.sciencedirect.com/topics/computer-science/hash-table
https://algorit.ma/blog/hash-table-adalah-2022/
https://www.hackerearth.com/practice/data-structures/hash-tables/basics-of-hash-tables/tutorial/