Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Methode Hash.

Presentasi serupa


Presentasi berjudul: "Methode Hash."— Transcript presentasi:

1 Methode Hash

2 Hasing Kalkulasi terhadap nilai key untuk mendapatkan sebuah alamat disebut fungsi hash. Keuntungan: Nilai key yang sebenarnya dapat dipakai karena diterjemahkan kedalam sebuah alamat. Nilai key adalah address space independent bila berkas direorganisasi, fungsi hash berubah tetapi nilai key tetap. Kelemahan : Membutuhkan waktu proses dalam mengimplementasikan fungsi hash. Membutuhkan waktu proses dan akses I/O dalam mengatasi benturan. Jelaslah bahwa tujuan utama dari fungsi hash adalah mengurangi benturan. Kumpulan dari synonim kadang disebut KELAS EKIVALEN. Fungsi hash yg baik adalah mempunyai kelas ekivalen yg kecil dan mempunyai kalkulasi sederhana

3 Penampilan fungsi hash bergantung pada :
Distribusi nilai key yang dipakai Banyaknya nilai key yang dipakai relatif terhadap ukuran dari ruang alamat. Banyaknya record yang dapat disimpan pada alamat tertentu tanpa menyebabkan benturan. Teknik yang dipakai untuk mengatasi benturan

4 Beberapa fungsi hash yang umum digunakan : 1. Division Remainder
Alamat relatif dari suatu nilai key merupakan sisa dari hasil pembagian nilai key tersebut dengan suatu bilangan yang disebut sebagai bilangan pembagi. Banyak faktor yang harus dipertimbangkan dalam pemilihan pembagi : Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV adalah 0 sampai DIV-1. Pembagi harus diseleksi untuk mengurangi benturan. Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan bilangan prima. Bukan bilangan prima yang mempunyai faktor prima kurang dari 20 akan dapat memberikan jaminan penampilan yang lebih baik. Walaupun telah ditentukan pembagi dengan baik untuk mengatasi benturan, bila ruang alamat dari berkas relatif mendekati penuh, maka peluang terjadinya benturan akan meningkat.

5 Alamat relatif didapat dari sisa pembagian + 1
Untuk mengukur kepenuhan berkas relatif digunakan Load Factor (Faktor Muat). Load Factor = banyak record dalam berkas max. banyak record dalam berkas Semua fungsi Hash mulai bekerja buruk, bila berkas hampir penuh. Jika faktor muat lebih besar dari 0,7 atau 0,8, maka berkas tersebut harus diperbesar dan direorganisir. Karena itu, jika berkas berisi relatif N record, maka ruang alamat harus mempunyai paling sedikit 0,25 N record Untuk faktor muat 0,8) Contoh : Sebuah berkas relatif yang berisi 4000 record, paling sedikit harus mempunyai ruang alamat untuk 5000 record (faktor muat 0,8). Angka yang dekat dengan 5000 dan terdiri dari faktor prima kurang dari 20 adalah angka Angka ini dipakai sebagai pembagi. Alamat relatif didapat dari sisa pembagian + 1

6 Perbandingan fungsi Hash
Teknik Division Remainder memberikan penampilan yang terbaik secara keseluruhan. Teknik Mid Square dapat dipakai untuk file dengan load factor cukup rendah akan memberikan penampilan baik tetapi kadang-kadang dapat menghasilkan penampilan yang buruk dengan beberapa collision. Teknik folding adalah teknik yang paling mudah dalam perhitungan tetapi dapat memberikan hasil yang salah, kecuali panjang nilai key = panjang address.

7 Pendekatan terhadap masalah Collision
Ada 2 teknik yang digunakan untuk mengatasi collision yaitu: Liear Probing yang merupakan teknik open addressing Agar linear probing dapat dilaksanakan, harus ada penentu apakah address kosong. Ini dapat dilakukan dengan memberi panji (flag) bahwa lokasi tersebut telah penuh setelah record disimpan. Lokasi dasar penyimpanan dengan teknik linear probing dapat dilihat pada gambar berikut:

8

9 2. Double Hasing Yang memakai fungsi hash kedua terhadap hasil dari fungsi hash pertama. Address dari record yang di-hash kembali dapat terletak di primary area atau di Separate Overflow Area Keuntungan dari metode Separate Overflow adalah menghindari keadan di mana dapat terjadi metode Open Addressing untuk sebuah record yang tidak dapat disimpan dalam home address-nya menggantikan record lain yang terakhir di hash oleh home address-nya.

10 Synonim Chaining Pendekatan pemecahan collision yang mengakses synonim dengan fasilitas link list untuk record-recordnya dalam kelas ekivalen. Adapun link list record-record dengan home address yang sama tak akan mengurangi jumlah collision, tetapi akan mengurangi waktu akses untuk me-retrieve record-record yang tak ada di home addressnya. Contoh : KEY HOME ADDRESS ACTUAL ADDRESS Adams Bates Coll Dean Evans Flint R R R R R R25 .. Adams Bates Coll Dean .. Evans Flint gambar hashing dengan synonim chaining

11 20 Adams .. 0 Coll .. 21 Bates .. 1 Dean .. 22 2 Flint .. 23 3
HOME PRIMARY DATA OVERFLOW ADDRESS AREA AREA 20 Adams Coll .. 21 Bates Dean .. Flint .. 24 Evans ..

12 metode hash dinamis, kunci yang telah masuk dapat digeser oleh kunci yang masuk belakangan
menggunakan link (double table), link berupa NOF :number of offset NOF merupakan jumlah perpindahan dengan incremen tertentu

13 Algoritma Konversikan kunci dengan fungsi yang ditentukan
Jika collision : cek apakah kunci yang menempati adalah pemilik HA, jika bukan maka lakukan (i), jika ya lakukan langkah (ii) pindahkan kunci tersebut dan linknya dgn incremen kunci yang dipakai sebelumnya cek apakah apakah ada link, jika ya hitung link = index + (incremen(index) * NOF))

14 tentukan probe address dgn nilai incremen kunci yg menempati Home Address (HA) atau link terakhir dari HA hitung nilai NOF,jumlah perpindahan kunci dari HA atau link terakhir HA sampai alamat kucni ditempatkan, dan letakan pada link di HA atau link terakhir HA

15 Catatan Kunci yang mengalami collision ditempatkan pada alamat yang dicari dgn incremen kunci yg menempati HA atau link terakhir dari HA Kunci yg menempati bukan pada HA-nya akan digeser oleh pemilik HA Nilai NOF dihitung berdasarkan jumlah perpindahan kunci dgn incremen yg ditentukan dan nilai NOF diletakan pd HA atau link terakhir dari HA

16 Macam-macam Hash Hashing dengan kunci Modulud N Hashing dengan kunci Modulud P Hashing dengan Lipatan Hashing dengan pengkuadratan Hashing dengan konversi radix

17 Hashing dengan kunci Modulud N
Satu fungsi hash yang paling popular yang mempunyai keuntungan yaitu menghasilkan nilai dalam rentang ruang alamat (0) sampai dengan (N-1), di implementasikan dengan N, dimana N adalah ukuran tabel atau berkas. Hasil fungsi modulus adalah sisa pembagian kunci oleh N F (kunci) = kunci mod N

18 30 mod N = 6, didapat dari 30 dibagi 12 hasilnya 2 dengan
Contoh : Ada kunci 30 dan 40, dimana N = 12 Maka : 30 mod N = 6, didapat dari 30 dibagi 12 hasilnya 2 dengan sisa 6 40 mod N = 4, didapat dari 40 dibagi 12 hasilnya 3 dengan sisa 4

19 Hashing dengan kunci Modulud P
Fungsi ini merupakan variasi fungsi kunci modulus N, F (kunci) = kunci mod P Dengan P sebagai bilangan prima terkecil yang lebih besar atau sama dengan N, dan N adalah ukuran tabel. P ini menjadi ukuran tabel baru yang menggantikan N

20 Contoh : Ada kunci 30 dan 40, dengan N = 12, maka P = 13
30 mod P = 4, didapat dari 30 dibagi 13 hasilnya 2 sisa 4 40 mod P = 1, didapat dari 40 dibagi 13 hasilnya 3 sisa 1

21 Hashing dengan lipatan
Fungsi ini akan melipat digit pada batasan yang ditentukan berdasarkan kondisi digit awal dan digit yang akan dihasilkan. Contoh : ada kunci 9 digit Selanjutnya akan kita lipat mengikuti lipatan kertas

22

23 Penjumlahan dari susunan yang telah dibuat
Mengabaikan Carry menggunakan Carry

24 Hashing dengan pengkuadratan
Hashing ini cara kerjanya adalah mengkuadratkan kunci. Hasil pengkuadratan kemudian dapat dikombinasikan dengan pemotongan atau lipatan untuk mendapatkan alamat yang diijinkan. Contoh : Pengkuadratan kunci 782

25 Hashing dengan konversi Radix
Dalam konversi radix, kunci dianggap dalam base selain 10, yang kemudian di konversi ke dalam basis 10. Contoh = ada kunci dalam base 13 Posisi :


Download ppt "Methode Hash."

Presentasi serupa


Iklan oleh Google