Proses pencarian : Waktu Pencarian ≈ Jumlah perbandingan Bagaimana agar waktu pencarian konstan, artinya tidak tergantung pada jumlah perbandingan ? 

Slides:



Advertisements
Presentasi serupa
MATRIKS DAN DETERMINAN
Advertisements

Pemrograman Terstruktur
Selamat Datang Dalam Kuliah Terbuka Ini
Sistem Operasi (pertemuan 1) Memori Razief Perucha F.A
START.
PENYEDERHANAAN RANGKAIAN
Mata Kuliah Teknik Digital TKE 113
Mata Kuliah Dasar Teknik Digital TKE 113
PENYEDERHANAAN RANGKAIAN
Selamat Datang Dalam Kuliah Terbuka Ini
Menempatkan Pointer Q 6.3 & 7.3 NESTED LOOP.
Selamat Datang Dalam Kuliah Terbuka Ini
Matematika Diskrit Dr.-Ing. Erwin Sitompul
Matematika Diskrit Dr.-Ing. Erwin Sitompul
Menentukan komposisi dua fungsi dan invers suatu fungsi
Matematika Diskrit Dr.-Ing. Erwin Sitompul
Matematika Diskrit Dr.-Ing. Erwin Sitompul
BAHAN AJAR TEORI BILANGAN
MATRIKS Trihastuti Agustinah.
Linked List BEBERAPA CONTOH SOAL 6.3 & 7.3 NESTED LOOP.
Sudaryatno Sudirham Bilangan Kompleks Klik untuk melanjutkan.
4. PROSES POISSON Prostok-4-firda.
ASIKNYA BELAJAR MATEMATIKA
Selamat Datang Dalam Kuliah Terbuka Ini
MANAJEMEN KOLISI.
: : Sisa Waktu.
Luas Daerah ( Integral ).
Organisasi Berkas Langsung dan Metode Hashing
Fungsi Invers, Eksponensial, Logaritma, dan Trigonometri
Closure dari Relasi dan Relasi Ekivalen
PELUANG SUATU KEJADIAN
ORGANISASI FILE INDEKS SEKUENSIAL
DISTRIBUSI PROBABLITAS
Sumber : Rinaldi Munir, ITB
Algoritma Kriptografi
DEA (Data Encryption Algorithm)
Waniwatining II. HIMPUNAN 1. Definisi
Aritmatika Bilangan Biner
STRUKTUR DATA (12) organisasi berkas
MATRIX.
Dasar Pemrograman ARRAY/LARIK.
Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir
BAB XII PROBABILITAS (Aturan Dasar Probabilitas) (Pertemuan ke-27)
Algoritma Pergantian Halaman
Soal-Soal Latihan Mandiri
9. BILANGAN BULAT.
KEJADIAN dan PELUANG SUATU KEJADIAN
7. RANTAI MARKOV WAKTU KONTINU (Kelahiran&Kematian Murni)
Pohon (bagian ke 6) Matematika Diskrit.
WISNU HENDRO MARTONO,M.Sc
DISTRIBUSI PROBABLITAS (SSTS 2305 / 3 sks)
ORGANISASI BERKAS RELATIF
LICH (Late Insertion Standard Coalesced Hashing)
ORGANISASI BERKAS LANGSUNG
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.
STRUKTUR DATA (HASHING).
Organisasi Berkas Langsung dan Metode Hashing
PROGRESSIVE OVERFLOW.
Pembagian Linear.
MANAJEMEN KOLISI.
MANAJEMEN KOLISI (COALESCED HASHING)
Perancangan Fisik Basis Data
Methode Hash.
MANAJEMEN KOLISI.
ORGANISASI BERKAS LANGSUNG
PROGRESSIVE OVERFLOW.
STRUKTUR DATA (HASHING).
Sistem Berkas Materi 9 dan 10
Transcript presentasi:

Proses pencarian : Waktu Pencarian ≈ Jumlah perbandingan Bagaimana agar waktu pencarian konstan, artinya tidak tergantung pada jumlah perbandingan ?  Fungsi HASH

Fungsi Hash Fungsi Hash  mengubah data menjadi alamat data. DATA ALAMAT DATA Fungsi HASH Fungsi HASH

Contoh: A=1, B=2, C=3, …, Z=26, maka AMAN = = 29 BUSI = = 51 CUSI = = 52 AlamatNAMAKOTA … … 28 29AMANPKY … 50 51BUSISBY 52CUSIJKT …

Fungsi HASH Keuntungan Waktu pencarian tetap/konstan Tidak tergantung dari besarnya atau jumlah data

Fungsi HASH Kelemahan “Kolisi”, artinya beberapa data yang berbeda menghasilkan nilai fungsi hash yang sama. Pemilihan ukuran tabel terlalu kecil  overflow terlalu besar  pemborosan Penghapusan suatu data sulit dilakukan Tidak ada hubungan antara letak data dan ketentuan data, artinya tidak ada hubungan antara satu data dengan data lainnya  sulit untuk melakukan sorting

Fungsi HASH Fungsi HASH terbagi atas 2 macam: 1. Fungsi Hash terbuka (external hashing) 2. Fungsi Hash tertutup

Fungsi Hash Terbuka Fungsi hash memperoleh alamat dari kelompok-kelompok data. Artinya, fungsi hash tidak menunjuk langsung ke suatu data, melainkan ke suatu kelas data. h(x) = 

Fungsi Hash Terbuka Jika terdapat N buah data, yang akan ditempatkan dalam tabel berukuran B, maka setiap kelas data akan menampung sebanyak rata-rata N/B buah data.

Fungsi Hash Tertutup Data disimpan pada tabel itu sendiri. Jika terjadi kolisi, maka dilakukan Rehash, yaitu melakukan perhitungan fungsi hash lagi hingga didapatkan posisi T[h(z)] yang kosong.

Bagaimana membuat Fungsi Hash? Ada 5 Teknik dasar : 1.Konkatenasi 2.Ekstraksi 3.Kompresi 4.Pembagian 5.Perkalian

Konkatenasi Alamat diperoleh gabungan huruf dalam data. Contoh: Jika A=00001, B=00010, C=00011, D=00100, …, Z=11010 maka THE beralamat = Maka alamat THE adalah 20741

Konkatenasi Kelemahan 1.Ukuran tabel yang digunakan dapat menjadi sangat besar yang mengakibatkan 2.Kebutuhan memori banyak 3.Isi tabel berpencar dan banyak tempat kosong.

Ekstraksi Alamat ditentukan dengan mengambil beberapa bit saja dari bit-bit data lalu digabungkan. Contoh: mengambil bit ke-3 huruf pertama dan dua bit terakhir huruf terakhir T = H = 0100 E = sehingga alamat utk THE = = 5 10

Ekstraksi Kelemahan: Kemungkinan terjadi kolisi jika huruf-huruf pada posisi yang diambil nilai bitnya sama. Misal: THE, TIME, THERE Atau kata yang berawal huruf T, F, O, D, G, W (bit ke-3 adalah 1) dan berakhir dengan E, M, Y, A (2 bit terakhir adalah 01)

Kompresi Melibatkan semua bit data, misalnya dengan menggunakan relasi XOR. Contoh:T = H = E = XOR = 25 10

Kompresi Kelemahan: Prinsip komutatif relasi XOR, yaitu A xor B = B xor A Sehingga data-data yang terdiri atas huruf yang sama akan menghasilkan nilai XOR yg sama juga. THE = TEH = HET = HTE IKAL = KALI = AKIL = LAKI = KAIL

PEMBAGIAN Pembagian akan mendistribusikan nilai fungsi hash di dalam suatu selang tertentu. Contoh : h(z) = z mod m Hasilnya 0 ≤ h(z) ≤ (m-1) h(THE) = h( ) mod 31 =h( ) mod 31 =2

Pembagian Kelemahan: Sangat bergantung pada pemilihan nilai pembagi m. Jika suatu bilangan d sedemikian m mod d = 0 maka h(z) = z mod m = z mod d Akibatnya nilai fungsi hash tidak terdistribusi merata, atau terjadi pengelompokan primer.

Pembagian Pemilihan nilai m : m haruslah bilangan prima m jangan berbentuk r k ± a, dimana a bernilai kecil. Misal k = 5, maka m janganlah bilangan di sekitar 32, 32 2 = 1024, 32 3 = 32768, dsb.

Perkalian Fungsi hash dihitung dengan rumus : h(z) = trunc (m * fraction (z * a)), 0 ≤ a < 1 fungsi ini menghasilkan nilai 0 ≤ h(z) < m

Perkalian Penentuan nilai a harus tepat Untuk nilai a mendekati 0 atau 1, elemen- elemen bernilai kecil akan cenderung mengelompok dalam suatu cluster. Secara teoritis harga a yang baik adalah a = 0, a = 0,

Resolusi Kolisi Pada umumnya, jumlah kemungkinan data yang akan disimpan lebih banyak dibandingkan dengan ukuran tabel yang disediakan sehingga fungsi hash yang sudah dirancang secara cermat pun tidak mampu mencegah terjadinya kolisi. Resolusi kolisi = proses untuk menunjukkan posisi yang lain untuk menyimpan data z jika terjadi kolisi.

Resolusi Kolisi Sediakan beberapa tempat pada tiap posisi tabel. Tempat untuk tiap posisi tabel ini dapat dilakukan dengan linked list. Posisi data z dalam linked list dapat ditentukan dengan kombinasi nilai z dan indeks list. Metode ini disebut teknik chaining.

Resolusi Kolisi Teknik chaining Teknik Separate Chaining

Resolusi Kolisi Teknik chaining T[i] Link[i] Teknik Coalesced Chaining imeof

Resolusi Kolisi Teknik Linear Probing Tanpa mencatat link, melainkan mencari tempat kosong dari posisi yang ditunjukkan nilai fungsi hash.