Methode Hash.

Slides:



Advertisements
Presentasi serupa
Manajemen Memori (Contd).
Advertisements

Metode Alokasi Berkas.
LINK LIST Latifah Rifani.
MANAJEMEN KOLISI.
PERTEMUAN KE-17 PERKULIAHAN SISTEM OPERASI
DATABASE & TABLE.
Proses pencarian : Waktu Pencarian ≈ Jumlah perbandingan Bagaimana agar waktu pencarian konstan, artinya tidak tergantung pada jumlah perbandingan ? 
Organisasi Berkas Langsung dan Metode Hashing
DATABASE & TABLE By : d e w i.
SISTEM OPERASI MODUL Manajemen Memori Yuli Haryanto, M.Kom
SISTEM PAGING.
STRUKTUR DATA (12) organisasi berkas
Defiana Arnaldy, M.Si Manajemen Memori Defiana Arnaldy, M.Si
Pengantar Struktur Data
“ SISTEM BERKAS DAN KEAMANAN DATA ”
11. Set Intruksi : Teknik Pengalamatan
ALGORITMA DAN BILANGAN BULAT
Organisasi berkas index sequential
PEMBANGKIT RANDOM NUMBER
Struktur Penyimpanan dan Macam-Macam Atribut
ORGANISASI BERKAS RELATIF
ORGANISASI BERKAS RELATIF
SISTEM OPERASI Pertemuan 5 : Manajemen Memori
LICH (Late Insertion Standard Coalesced Hashing)
1 Pertemuan 26 Teknik Hashing Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
BILANGAN BULAT (lanjutan 1).
1 SISTEM BILANGAN. 2 Sistem Bilangan (Number System)  Suatu cara untuk mewakili besaran dari suatu item phisik.
Manajemen Memori.
METODE ALOKASI BERKAS DISUSUN OLEH : KELOMPOK 8 1.MUHAMMAD MEIVMART TAMYIZA( ) 2.WISNU ADI NUGRAHA( )
ORGANISASI BERKAS LANGSUNG
Manajemen Memori.
Manajemen Memori (1).
Sistem Paging Edi Sugiarto, S.Kom.
“ SISTEM BERKAS DAN KEAMANAN DATA ”
Sistem Berkas Materi 7,8 MANAJEMEN KOLISI.
Collision Collision merupakan kondisi dimana terdapat lebih dari satu key yang menempati slot address yang sama Collision dapat diminimalisir dengan cara.
Sistem Berkas Sesi 10 dan 11 MANAJEMEN KOLISI.
MODE PENGALAMATAN DAN SET INSTRUKSI
Field Name / Nama Field Data Type / Tipe Data
P14 Hash Function TIF42/SIF42
STRUKTUR DATA (HASHING).
Organisasi Berkas Langsung dan Metode Hashing
TEKNIK KOMPUTER - UNIKOM Jalan Dipatiukur 112 Bandung
PROGRESSIVE OVERFLOW.
Pembagian Linear.
ORGANISASI BERKAS RELATIF
Organisasi Berkas Relatif 2
“ SISTEM BERKAS ” Oleh : Didik Haryanto ( ) A.
MANAJEMEN KOLISI.
Collision Collision merupakan kondisi dimana terdapat lebih dari satu key yang menempati slot address yang sama Collision dapat diminimalisir dengan cara.
File Hash Konsep File Hash Fungsi Hash Collision.
CHAPTER 3 ORGANISASI FILE.
Pengantar Struktur Data
MANAJEMEN KOLISI (COALESCED HASHING)
Fungsi Hashing Abdul Haris,S.Kom.
ORGANISASI BERKAS RELATIF
ORGANISASI BERKAS RELATIF
QUEUE (ANTRIAN) Queue atau antrian didefinisikan sebagai kumpulan dari obyek-obyek yang homogen dengan operasi penambahan elemen (Enqueue) dan pengambilan.
IP Addressing Schemes IP Address 32 bits.
“ SISTEM BERKAS DAN KEAMANAN DATA ”
File Hash Konsep File Hash Fungsi Hash Collision.
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Sistem Berkas 2. ORGANISASI FILE.
MANAJEMEN KOLISI.
Bab 4.
ORGANISASI BERKAS LANGSUNG
ORGANISASI BERKAS RELATIF
PROGRESSIVE OVERFLOW.
STRUKTUR DATA (HASHING).
Sistem Berkas Materi 9 dan 10
Transcript presentasi:

Methode Hash

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

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

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.

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 5003. Angka ini dipakai sebagai pembagi. Alamat relatif didapat dari sisa pembagian + 1

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.

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:

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.

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 20 20 Bates 21 21 Coll 20 22 Dean 21 23 Evans 24 24 Flint 20 25 R20 R21 R22 R23 R24 R25 .. Adams .. Bates .. Coll .. Dean .. Evans .. Flint .. ... gambar hashing dengan synonim chaining

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

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

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))

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

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

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

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

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

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

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

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 589 976 124 Selanjutnya akan kita lipat mengikuti lipatan kertas

9 7 6

Penjumlahan dari susunan yang telah dibuat Mengabaikan Carry menggunakan Carry

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

Hashing dengan konversi Radix Dalam konversi radix, kunci dianggap dalam base selain 10, yang kemudian di konversi ke dalam basis 10. Contoh = ada kunci 5 6 7 8 dalam base 13 Posisi : 3 2 1 0 5 6 7 8