File Hash

Metode penempatan dan pencarian yang memanfaatkan metode Hash disebut hashing atau ‘Hash addressing’ dan fungsi yang digunakan disebut fungsi hashing / fungsi Hash. Fungsi hashing atau fungsi Hash inilah yang dapat menjadi salah satu alternatif dalam menyimpan atau mengorganisasi File dengan metode akses langsung. Fungsi Hash berupaya menciptakan “fingerprint” dari berbagai data masukan. Fungsi Hash akan mengganti atau mentransposekan data tersebut untuk menciptakan fingerprint, yang biasa disebut Hashvalue (nilai Hash). Hash value biasanya akan digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasi heksadesimal). Berkaitan dengan upayanya untuk menciptakan “fingerprint”, fungsi Hash digunakan juga pada algoritma enkripsi untuk menjaga integritas sebuah data. Dalam konsepnya modern ini –selain digunakan pada penyimpanan data-, fungsi Hash adalah sebuah fungsi matematika, yang menerima masukan string yang panjangnya sebarang, mengambil sebuah panjang variable dari string masukan tersebut –yang disebut pre-image, lalu mekonversinkannya ke sebuah string keluaran dengan ukuran tetap (fixed), dan umumnya lebih pendek dari ukuran string semula, yang disebut message digest.


Pada penggunaan fungsi Hash, saat keadaan tertentu dapat terjadi tabrakan (coallision) pada home address yang dihasilkan. Yaitu saat munculnya nilai Hash yang sama dari beberapa data yang berbeda. Untuk mengantisipasi keadaan ini ada beberapa metode yang dapat digunakan, seperti perubahan fungsi Hash atau mengurangi perbandingan antara jumlah data yang tersimpan dengan slot address yang tersedia. Hal-hal tersebut dapat meminimalisir tabrakan, tetapi tidak menghilangkannya. Kita tetap memerlukan collision resolution -sebuah prosedur untuk menempatkan data yang memiliki address yang sama.

1. Konsep-Konsep File Hash
Organisasi file dengan metode akses langsung (direct acsess ), yang menggunakan suatu fungsi untuk memetakan key menjadi address.






1. fungsi yang digunakan disebut fungsi hash/KAT (key to address transformation)
2. Address yang dihasilkan dari hasil perhitungan fungsi hash disebut dengan istilah home address.
3. Jadi, terdapat dua komponen file hash :
1. Ruang rekord, yang terdiri atas m slot address
2. Fungsi hash, yang mentransformasi key menjadi address
4. Transfomasi key akan mudah jika key telah berupa nilai integer, untuk key berupa karakter alphanumerik terdapat proses prakondisi untuk mengubahnya menjadi suatu nilai integer.

2. Macam- Macam Fungsi Hash
Fungsi Hash diimplementasi untuk mengkonversi himpunan kunci rekaman (K) menjadi himpunan alamat memori (L). Bisa dinotasikan dengan H : K -> L
Aspek yang perlu dipertimbangkan dalam pemilihan fungsi Hash adalah :
• fungsi Hash harus mudah dan cepat dihitung
• fungsi Hash sebisa mungkin mendistribusikan posisi yang dimaksud secara uniform sepanjang himpunan L sehingga collision yang mungkin terjadi dapat diminimalkan.
Ada beberapa fungsi hash yang dapat digunakan, seperti :
• Key Mod N, dengan N =jumlah slot address (ukuran tabel data) data) Contoh : 25 mod 11 = 3 : 25 mod 11 = 3 jika key bernilai negatif, maka bagi |key| |dengan untuk dapatkan sisa r : r untuk r = 0, maka k mod N = 0 k mod N = 0 : untuk r <> 0, maka k mod N = N-r
• Key Mod P, dengan P = bilangan prima terkecil yang >= N
• Truncation/ /substringing, cara transformasi yang dilakukan dengan mengambil hanya sebagian digit dari key misal jika key = 123 --45 --6789 akan dipetakan pada address yang terdiri atas 1000 slot, maka dapat dilakukan pengambilan tiga digit (secara acak atau terurut) dari key tersebut untuk menentukan addressnya.
• Folding, dapat dilakukan dengan cara :
1. Folding by boundary
Contoh jika key = 123456789, maka transformasi ke 3 digit address dengan teknik folding by boundary dapat dilakukan dengan membagi digit key tersebut dengan cara seolah --olah melipat batas pembagian digit seperti berikut :




Tiap keompok digit kemudian dijumlahkan dengan atau tanpa melibatkan carry.
2. Folding by shifting
Contoh ji ka key = 123456789, maka transformasi ke 33digit address dengan teknik folding by boundary dapat dilakukan dengan membagi digit key tersebut dengan cara seolah --olah menggeser batas pembagian digit seperti berikut:





Tiap keompok digit kemudian dijumlahkan dengan atau tanpa melibatkan carry.
• Radix Convertion
Kunci ditransformasikan menjadi bilangan basis lain untuk mendapatkan nilai hashnya. Umumnya basis yang digunakan di luar dari basis 2-10.Misalnya jika kunci 38652 akan ditempatkan dalam table berukuran 10000 dengan basis 11, maka:
3x114+8x113+6x112+5x111+2x110= 5535411
Nilai Hash 55354 telah melampaui batas Hash, makan pecehan terbesar dari harsh tersebut akan dibuang sehingga diapatkan harsh 5354.
• Mid-square
Kunci ditransformasikan dengan cara dikuadratkan dan diambil bagian tengahnya (asalkan jumlah digit kiri dan kanan sama) )sebagai nilai Hash. Misalnya jika kunci = 3121 akan ditempatkan pada table berukuran 1000, maka 31212 = 9740641, diambil 406 sebagai nilai hashnya.
• Penambahan Kode ASCII
Jika kunci bukan kode numeric, home address didapatkan dari penjumlahan kode ASCII setiap huruf pembentuk kunci.

3. Tabrakan
Dengan menggunakan hashing, maka hubungan korespondensi satu-satu antara record key dengan alamat record akan hilang. Selalu timbul kemungkinan dimana terdapat dua buah record dengan kunci yang berbeda namun memiliki home address yang sama, dan terjadi tabrakan (collision). Tabrakan dapat diminimalisir dengan melakukan penggantian pada fungsi Hash yang digunakan, atau mengurangi packing factor.
a. Packing Factor
Packing factor, bisa disebut juga dengan packing density ataupun load factor adalah perbandingan antara jumlah data yang tersimpan terhadap jumlah slot address yang tersedia. Location Storage of Number Total Stored cord of Number Factor. Penggantian fungsi Hashdan pengurangan packing factor hanya meminimasisasi tabrakan, tetap dibutuhkan collision resolution.
b. Collision Resolution
Pada hashing untuk penempatan data, output dari fungsi Hash tidak selalu unik, namun hanya berupa kemungkinan suaru alamat yang dapat ditempati. Jika suatu home address sudah ditempati oleh record lain, maka harus dicarikan alamat lain. Proses pencarian Packing Re = alamat lain inilah yang disebut sebagai prosedur collision resolution.
Metode Collision Resolution
a. Open addressing
Metode dengan pencarian alamat alternative di alamat-alamat selanjutnya yang masih kosong. Cara :
• Linear probing
Pencarian dilakukan dengan jarak pencarian tetap
• Quardratic probing
Pencarian dilakukan dengan jarak pencarian berubah dengan perubahan tetap.
• Double hashing
Pencarian dilakukan menggunakan dua fungsi Hash, yaitu fungsi H1 untuk menentukan home address dan fungsi H2 untuk menentukan increment jika terjadi tabrakan. Syarat metode ini adalah ukuran table merupakan bilangan prima sehingga kemungkinan terjadinya siklus pencarian pada slot yang sama dapat dihindari.

4. Fungsi Hash Satu Arah
Fungsi Hash satu arah adalah fungsi Hash yang bekerja dalam satu arah. Maksud dari satu arah disini adalah bahwa pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula (irreversible).
Sifat-sifat fungsi Hash satu-arah adalah sebagai berikut:
1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja.
2. H menghasilkan nilai (h) dengan panjang tetap (fixed-length output).
3. H(x) mudah dihitung untuk setiap nilai x yang diberikan.
4. Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian sehingga H(x) =h. Itulah sebabnya fungsi H dikatakan fungsi Hash satu-arah (one-way Hash function). ? x sedemikian
5. Untuk setiap x yang diberikan, tidak mungkin mencari y sehingga H(y) = H(x).
6. Tidak mungkin mencari pasangan x dan y sedemikian sehingga H(x) = H(y). Beberapa fungsi Hash satu-arah yang sudah dibuat, antara lain:
- MD2, MD4, MD5,
- Secure Hash Function (SHA),
- Snefru,
- N-Hash,
- RIPE-MD.

Read More (Baca Slengkapnya)---->

0 komentar:

Posting Komentar

Cari Yang Lain

Follow

Blog Archive

Waktu

IP

Cuaca Hari ini

bloguez.com

Kurs BCA