P14 Hash Function TIF42/SIF42

Slides:



Advertisements
Presentasi serupa
Metode Alokasi Berkas.
Advertisements

GERLAN A. MANU, ST.,MKom Gerlan A. Manu, ST.,MKom - Algoritma Pemrograman I 1.
bentuknya, yang dapat berubah pada saat runtime.
Function dalam Bahasa C Universitas Mercu Buana Fakultas Teknik Industri Program Studi Teknik Informatika Mata Kuliah Algoritma dan Pemrograman I Oleh:
Algoritma dan Struktur Data Daniel Riano Kaparang.
MANAJEMEN KOLISI.
Struktur Data Bambang Irawan.
Proses pencarian : Waktu Pencarian ≈ Jumlah perbandingan Bagaimana agar waktu pencarian konstan, artinya tidak tergantung pada jumlah perbandingan ? 
Organisasi Berkas Langsung dan Metode Hashing
DADAN ROSNAWAN, APLIKASI ALGORITMA RSA UNTUK KEAMANAN DATA PADA SISTEM INFORMASI BERBASIS WEB.
STRUKTUR DATA (12) organisasi berkas
Algoritma & Struktur Data TG22113
ALGORITMA DAN PEMROGRAMAN
Komputer Dasar Kontrak Kuliah.
SISTEM OPERASI Pertemuan 6 : Manajemen File
PERTEMUAN 1 Pendahuluan Materi - Endra Rahmawati, S.Kom -
Algoritma & Struktur Data Linked List Evangs Mailoa.
ORGANISASI BERKAS RELATIF
ORGANISASI BERKAS RELATIF
Pemrograman Berorientasi Obyek Lanjut (IT251)
1 Pertemuan 26 Teknik Hashing Matakuliah: T0016/Algoritma dan Pemrograman Tahun: 2005 Versi: versi 2.
ORGANISASI BERKAS LANGSUNG
P7 Stack TIF42/SIF42 Fakultas Teknologi Informasi
STRUKTUR DATA Nanik Susanti, S.Kom.
PENGGUNAAN TIPE DATA YANG EFEKTIF
Pengantar Struktur Data Pertemuan 1 Season 1
Fakultas Ilmu Komputer – TI Udinus Defri Kurniawan, M.Kom
Tipe Data By Serdiwansyah N. A..
P6 Stack TIF42/SIF42 Fakultas Teknologi Informasi
Sistem Berkas Materi 7,8 MANAJEMEN KOLISI.
Sistem Berkas Sesi 10 dan 11 MANAJEMEN KOLISI.
P5 Array & Vector TIF42/SIF42
P12 Binary Tree TIF42/SIF42 Fakultas Teknologi Informasi
Algoritma dan Struktur Data
STRUKTUR DATA (HASHING).
Organisasi Berkas Langsung dan Metode Hashing
PENGANTAR STRUKTUR DATA
Interpretasi Kombinasi
ORGANISASI BERKAS RELATIF
Struktur Data Yuniansyah.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
PENGGUNAAN TIPE DATA YANG EFEKTIF
MATERI PERKULIAHAN PEMROGRAMAN I (Remedial)
STRUKTUR DATA.
File Hash Konsep File Hash Fungsi Hash Collision.
ARRAY Oleh : sgo.
Menghapus Simpul dan Travelsal
MANAJEMEN KOLISI (COALESCED HASHING)
P11 Linked List TIF42/SIF42 Fakultas Teknologi Informasi
Fungsi Hashing Abdul Haris,S.Kom.
TK33207 PRAKTIKUM APLIKASI IT III 2 SKS (2X45 MENIT)
ORGANISASI BERKAS RELATIF
Methode Hash.
STRUKTUR DATA Konsep Dan Arsitektur.
Berbagai Utilitas Pertemuan 9.
Logika dan Algorithma 2 SKS
TK33207 PRAKTIKUM APLIKASI IT III 2 SKS (2X45 MENIT)
File Hash Konsep File Hash Fungsi Hash Collision.
9 ALGORITMA PEMROGRAMAN DAN STRUKTUR DATA (LAB) OLEH :
Variable Static & Linked List
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
Sistem Berkas 2. ORGANISASI FILE.
Keamanan Informasi Week 4 – Enkripsi Algoritma asimetris.
ORGANISASI BERKAS LANGSUNG
ORGANISASI BERKAS RELATIF
PENGGUNAAN TIPE DATA YANG EFEKTIF
STRUKTUR DATA (HASHING).
Sistem Berkas Materi 9 dan 10
Struktur Data Linear Created by Fifth Group, S3B TI Anggota
SINGLE LINKED LIST (SLL)
Transcript presentasi:

P14 Hash Function TIF42/SIF42 Prodi teknik Informatika & Prodi Sistem Informasi Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta 1

Pembahasan Pengenalan Tabel Hash Memilih Fungsi Hash Menangani Tabrakan Dalam Tabel Hash Linear Aplikasi Hash 2 2

Pengenalan Hashing Alamat hash -> fungsi yg digunakan untuk menerjemahkan suatu nilai kunci menjadi suatu nilai Alamat hash inilah yg menyatakan indeks lokasi dalam array 3

Key = 12320 Hash Function Key Mod 97 1 12320 2 3 95 96 Tabel hash 4

Hashing -> Teknik yg memungkinkan lokasi suatu record dapat diperoleh dengan mudah dan cepat melalui fungsi hash Tabel Hash -> Array yg digunakan untuk menyimpan data dengan cara hashing 5

Memilih Fungsi Hash Kriteria : Komputasi harus mudah dan cepat Harus menghasilkan nilai tersebar sepanjang jangkauan indeks array Mod Metode Cut Folding F Hash 6

Mod (Sisa Pembagian) Konsep : Mengingat : Membagi nilai kunci (Ex : NIP -> data Pegawai) dengan suatu nilai dan hasil MOD ini yg digunakan sebagai alamat hash H(k) = k mod m, m > 1 Dimana : - k -> kunci - m -> bilangan pembagi - n -> jumlah data Mengingat : k mod m -> menghasilkan bilangan 0 ... m-1 maka apabila lokasi memori (indeks array) berawal dengan 1, hasil pembagian perlu ditambah 1 H(k) = (k mod m) + 1 F Hash 7

contoh tabel hash: mod 10 Indeks NIP Nama 55520 Andi 1 55521 Beta 2 55520 Andi 1 55521 Beta 2 55522 Citra 3 55523 Deny 4 55524 Emy 5 55525 Fadli 6 55526 Gunawan 7 55527 Hanif 8 55528 Indri 9 55529 Jeni

N = 12 30 mod N = 6 -> menghasilkan 2 sisa 6 40 mod N = 4 -> menghasilkan 3 sisa 4 50 mod N = 2 -> menghasilkan 4 sisa 2 60 mod N = 0 -> menghasilkan 5 sisa 0

Cut (Pemotongan) dilakukan dengan : Misalkan : mengabaikan bagian-bagian tertentu dalam kunci, dan menggunakan yg tersisa sebagai indeks untuk mengakses data dalam tabel hash Misalkan : ukuran tabel hash = 1000 agar indeks ada di jangkauan 0 ... 999 -> suatu bilangan akan diatur agar panjang terdiri atas 3 digit F Hash 10

Ex : Ketentuan : diambil digit ke 2, 5 dan 6 4 9 6 7 1 6 9 1 6 Kelebihan : sangat cepat dalam melakukan komutasi Kelemahan : kunci yang tidak terdistribusi secara merata

Folding (Pelipatan) kunci dibagi menjadi beberapa bagian (misal : per 2 digit dan kemudian dijumlahkan) hasilnya bisa dipotong sehingga masuk jangkauan indeks dalam tabel hash F Hash

Contoh fungsi hash dengan Holding Kunci 496716 527133 527155 k1, k2, k3 (per 2 digit) 49, 67, 16 52, 71, 33 52, 71, 55 H(k)= k1+k2+k3 49+67+16 = 132 52+71+33 = 156 52+71+55 = 178 H(k)=pemotongan hanya pada 2 digit terakhir dari k1+k2+k3 32 56 78

Tabrakan dalam Tabel Hash Berdasarkan 3 metode (mod, cut, hoding) -> ada kemungkinan menimbulkan 2 buah kunci atau bahkan lebih diterjemaahkan oleh fungsi hash ke dalam nilai sama Situasi yg membuat beberapa kunci memiliki alamat hash yg sama disebut tabrakan hash (hash collision) Pengalamatan Terbuka Pembentukan Rantai Penanganan Tabrakan Pengalamatan Buket Tabr

Contoh tabrakan hash 1 2 3 4 5 6 7 8 9 Terjadi tabrakan hash 12 mod 10 1 2 3 4 5 6 7 8 9 Terjadi tabrakan hash 12 mod 10 22 mod 10 Contoh tabrakan hash

semua elemen disimpan dalam tabel hash Penanganan : Pengalamatan terbuka semua elemen disimpan dalam tabel hash Penanganan : mencari lokasi terdekat yg masih kosong Tabr

Kunci (k) Alamat hash k mod 10 279 111 1 2 433 3 434 4 5 316 6 7 518 8 9 Alamat hash 3 -> 433 Kosong Data = 463 maka Alamat hash = 3

pencarian indeks dimulai dari indeks 3 sampai ditemukan Kunci (k) Alamat hash k mod 10 279 111 1 2 433 3 434 4 5 316 6 7 518 8 9 Kunci 463 hash 3 Tempat 463 cara mencari ruang kosong -> pemeriksaan linear (linear probing) pencarian indeks dimulai dari indeks 3 sampai ditemukan lokasi yg kosong (indeks = 5)

Alamat Hash NIP Nama 279 Andi 1 111 Beta 2 3 433 Deny 4 434 Emy 5 6 316 Gunawan 7 8 518 Indri 9 Pembentukan rantai data dalam tabel hash dibentuk secara dinamis dengan menggunakan senarai berantai Contoh : data pegawai yg bersisi NIP dan Nama Tabr

521 Mod 10 = 1 Ex : Data akan masuk NIP = 521 Nama = Jeni 1 2 3 4 5 6 7 8 9 Nil 279 Andi 111 Beta 433 Deny 434 Emy 316 Gunawan 518 Indri 521 Jeni Maka : Data baru akan diletakkan di dalam node dalam senarai berantai yg ditunjuk oleh node yg berisi NIM = 111 Tabrakan

menggunakan cara mirip dengan pembentukan rantai Penanganan : Pengalamatan Buket menggunakan cara mirip dengan pembentukan rantai Penanganan : tabrakan tidak ditangani dengan senarai berantai, melainkan dengan array buket -> sebuah blok ruang yg cukup untuk menampung sejumlah data yg mempunyai alamat hash sama Tabr

Pemasukan : A1, A5, B1, B3, A3, A1 Pemasukan berikutnya : C1, D1, E1, F1, C3 1 2 3 4 5 6 7 8 9 A1 B1 A2 A3 B3 A5 C1 D1 E1 F1 C3 sebuah buket Maka : Jika sebuah buket penuh, buket lain akan diciptakan untuk menampung data baru yg mengalami tabrakan, dan sebuah petunjuk digunakan untuk memelihara hubungan antara buket yg penuh dan yg baru

Silahkan Coba Program Berikut Project Name = HashLinear Header File Name = HashLin.h Other Class File Name = HashLin.cpp Main Class File Name = main.cpp

Header File (HashLin.h)

Other Class (HashLin.cpp)

Main Class (main.cpp)

Hasil

Referensi Munir. Rinaldi, “Algoritma & Pemrograman Dalam Bahasa Pascal dan C”, 2007, Bandung : Penerbit Informatika. Utami, E., Raharjo, S., Sukrisno, "Struktur Data Konsep & Implementasinya Dalam Bahasa C & Free Pascal di GNU/Linux", 2007, Yogyakarta : Graha Ilmu. Sianipar, R.H., Wiryajati, I.K., Mangiri, H.S., "Pemrograman & Struktur Data C", 2013, Bandung : Penerbit Informatika. Hasbi, M., "Struktur Data dan Algoritma Dalam Pemrograman Turbo Pascal", 2003, Yogyakarta : Gava Media. 32 32

33 33

Agenda UAS Mohon dipelajari kembali Materi setelah UTS "P9 - Queue" s/d "P14 - Hash Function" Sifat : Essay Close All

Thanks 4 Participating in My Class C U Next Week SQ - http://sidiq.mercubuana-yogya.ac.id - dnd_07june07@live.com Thanks 4 Participating in My Class C U Next Week 35 35