P14 Hash Function TIF42/SIF42

dokumen-dokumen yang mirip
P12 Binary Tree TIF42/SIF42

P3 Dasar Struktur Data TIF42/SIF42

FILE BERKAS LANGSUNG. Rudi Susanto

Fungsi Hash dan Metode Collision Resolution

BAB IX LINKED LIST (SENARAI BERANTAI)

P3 Pengantar Pemrograman C

BEBERAPA METODE PENYELESAIAN COLLISION PADA ORGANISASI BERKAS SECARA HASHING

Penerapan Fungsi Hash dalam Penempatan Parkir Mobil

Bab 1 Pengantar Struktur Data

BAB 2 LANDASAN TEORI. 2.1 Pengertian Text Mining

PEMANFAATAN PRINSIP SARANG MERPATI UNTUK MEMBUAT PERFECT HASH

Praktikum Algoritma dan Struktur Data 2010

BAB IX LINKED LIST (SENARAI BERANTAI)

ORGANISASI BERKAS LANGSUNG. Sistem Berkas materi 6

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

STRUKTUR DATA. Literatur

ORGANISASI BERKAS RELATIF

P10 Seleksi & Perulangan

JURNAL ILMIAH FIFO P-ISSN / E-ISSN

BAB X Hashing. typedef char *NomorBuku[100]; Buku = NomorBuku;

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

OPTIMALITAS CELLAR DALAM COALESCED HASHING UNTUK MENDUKUNG PROSES SEARCHING PADA BASIS DATA

P11 Array. A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta

Topic Complexity of Hashing Search & Binary Search Tree Algorithm

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

SEARCHING (PENCARIAN)

Analisis Cara Kerja Beragam Fungsi Hash Yang Ada. Christian Angga

TUGAS BASIS DATA FILE ORGANIZATION IF2250 SEMESTER GENAP 2013/2014

BAB 4 ORGANISASI BERKAS RELATIF

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

ALGORITMA PEMROGRAMAN 1A** (PP :S1-KA) Pertemuan 7. Ahmad Hidayat

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

KONTRAK PERKULIAHAN. : Algoritma dan Pemrograman Komputer. : Drs. Juniar Hutahaean, M.Si. : Jl. Plamboyan 2 Blok 16 No.

ORGANISASI FILE. Alif Finandhita, S.Kom

IMPLEMENTASI PERANGKAT LUNAK DENGAN PENERAPAN PENCARIAN RELATIF (HASH SEARCH)

Fungsi Hash Kriptografis

Review : Sifat Implementasi Linear List dengan Array

ORGANISASI BERKAS RELATIF

Lab. Teknik Informatika Struktur Data 1

ORGANISASI FILE BASIS DATA I - DIAN DHARMAYANTI

Algoritma dan Pemrograman. Pertemuan Ke-4 Konsep Tipe Data, Operator Dan Identifier

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Struktur Data. Pertemuan 2

Lecturer: Abdusy Syarif. Undergraduate Course Informatics Engineering Dept. Universitas Mercu Buana. Tipe Data

HASHTABLE SEBAGAI ALTERNATIF DARI ALGORITMA PENCARIAN BINER PADA APLIKASI E-ACESIA

APLIKASI TEORI BILANGAN UNTUK AUTENTIKASI DOKUMEN

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENERAPAN GRUP MULTIPLIKATIF ATAS TANDA TANGAN DIGITAL ELGAMAL

PENGAKSESAN DAUN SECARA RANDOM PADA HASH TREE

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

Pengenalan Trie dan Aplikasinya

Database System 8 Hash-Based Indexing

Bab 2 Array, Record dan Object Oriented Programming (OOP) 3 BAB 2 TUJUAN PRAKTIKUM

2. Mahasiswa dapat membuat dan menggunakan array dan linked list dalam suatu kasus.

ALGORITMA & PEMROGRAMAN II ARRAY

BUANA. Distribusi 01 September 2017

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

SINGLE LINKED LIST (NON CIRCULAR)

Algoritma & Struktur Data I. Mia Fitriawati, S.Kom,M.Kom. Tujuan Perkuliahan

Brigida Arie Minartiningtyas, M.Kom

Kontrak Kuliah TKC106 - Algoritma Pemrograman Semester Gasal 2011/2012

Silabus Struktur Data. Bandung 2013

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

BAB III ANALISIS DAN DESAIN SISTEM

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Menghapus Pointer Statement yang digunakan untuk menghapus pointer adalah Dispose, yang mempunyai bentuk umum : Dispose(peubah) ;

1. ARRAY, RECORD DAN OBJECT ORIENTED PROGRAMMING (OOP)

LAPORAN PRAKTIKUM IX. Oleh:

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA SILABUS ALGORITMA DAN STRUKTUR DATA

Penggunaan Graf dalam Pemodelan Matematis Permainan Delapan Jari

Struktur Perulangan Ema Utami STMIK AMIKOM Yogyakarta

Pengenalan Algoritma & Struktur Data. Pertemuan ke-1

P4 Desain Sistem. SQ

Collision Resolution

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-6 Pencarian (Searching) 1

Pertemuan Ke-3 (Tipe Data dan Nama) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Algoritma Pemrograman

I. PENDAHULUAN. Gambar 1. Contoh-contoh graf

Pembangkit Kunci Acak pada One-Time Pad Menggunakan Fungsi Hash Satu-Arah

ALGORITMA MAC BERBASIS FUNGSI HASH SATU ARAH

SATUAN ACARA PERKULIAHAN (SAP) AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER (AMIK) LEMBAH DEMPO

ALGORITMA DAN PEMROGRAMAN

Jurnal Ilmiah ILKOM Volume 8 Nomor 3 (Desember 2016)

Pendahuluan Struktur Data STRUKTUR DATA. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 1 : 20 Juni 2016

RENCANA PEMBELAJARAN SEMESTER PROGRAM STUDI AKUNTANSI KOMPUTER PROGRAM D3 BISNIS & KEWIRAUSAHAAN UNIVERSITAS GUNADARMA

Satuan Acara Perkuliahan

Algoritma Pemrograman

Algoritma Pemrograman

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

ORGANISASI BERKAS RELATIF STRUKTUR & ORGANISASI DATA 1

SOLUSI PERMAINAN CHEMICALS DENGAN ALGORITMA RUNUT BALIK

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Pencarian Solusi Permainan Fig-Jig Menggunakan Algoritma Runut-Balik

Struktur Pemilihan Ema Utami STMIK AMIKOM Yogyakarta

ALGORITMA & PEMROGRAMAN

Transkripsi:

P14 Hash Function TIF42/SIF42 A. Sidiq P. 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

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 Hash Function Key Mod 97 Key Mod 97 1 Tabel hash 12320 0 1 2 3 95 96 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 Metode Mod Cut Folding F Hash 6

Mod (Sisa Pembagian) Konsep : Membagi nilai kunci (Ex : NIP -> data Pegawai) dengan suatu nilai dan hasil MOD ini yg digunakan sebagai alamat hash 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, m > 1 Dimana : - k -> kunci - m -> bilangan pembagi - n -> jumlah data H(k) = (k mod m) + 1 F Hash 7

contoh : mod 10 Indeks NIP Nama 0 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 8

Cut (Pemotongan) dilakukan dengan : 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 9

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 10

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 11

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 12

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) Penanganan Tabrakan Pengalamatan Terbuka Pembentukan Rantai Pengalamatan Buket Tabr 13

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

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

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

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

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

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

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 20

Pemasukan : A 1, A 5, B 1, B 3, A 3, A 1 Pemasukan berikutnya : C 1, D 1, E 1, F 1, C 3 0 1 2 3 4 5 6 7 8 9 A 1 B 1 A 2 A 3 B 3 A 5 C 1 D 1 C 3 E 1 F 1 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 21

Contoh Program Project Name = HashLinear Header File Name = HashLin.h Other Class File Name = HashLin.cpp Main Class File Name = main.cpp 22

Header File (HashLin.h) 23

Other Class (HashLin.cpp) 24

25

26

27

28

Main Class (main.cpp) 29

Hasil 30

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. 31

32

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

Thanks 4 Participating in My Class C U Next Week 34