ORGANISASI
BERKAS
LANGSUNG
KUNCI SEBAGAI ALAMAT REKAMAN
YANG UNIK
• Satu kunci rekaman juga merupakan alamat lokasi rekaman
• Untuk aplikasi rekaman berisi nomor induk mahasiswa, terdapat 8 digit (kunci rekaman yang merupakan gabungan 2 digit tahun
KONVERSI KUNCI REKAMAN
MENJADI SATU ALAMAT YANG UNIK
• Jika suatu maskapai penerbangan memiliki nomor penerbangan dari 1 sampai 999, ingin memantau reservasi pesawat selama setahun yang jumlah harinya 1 sampai 366 (1 tahun).
• Dengan simbol + menandakan hubungan, maka untuk menyediakan semua kemungkinan
penerbangan diperlukan ruang alamat sebesar 999366 unit
• Jumlah tersebut dapat direduksi sampai dengan 30% bila digunakan kombinasi:
• Karena kecil kemungkinan dalam satu maskapai terdapat lebih dari 100 penerbangan dalam satu hari, maka ruang alamat maksimum yang
diperlukan adalah 36699
MENENTUKAN ALAMAT DENGAN
KONVERSI KUNCI
• Satu fungsi untuk memetakkan cakupan nilai kunci yang lebih luas ke dalam cakupan yang lebih sempit nilai alamat • Hash (kunci) kemungkinan alamat
• Keluaran dari proses hashing bukan lagi alamat yang unik, melainkan kemungkinan alamat bagi kunci yang di hash • Alamat untuk menempatkan alamat yang diperoleh dari
fungsi hash disebut home-address untuk rekaman tersebut
Diharapkan fungsi hash menghasilkan
kemungkinan alamat yang:
• Mampu mendistribusi kunci secara merata ke dalam cakupan alamat. Hal tersebut
dimaksudkan untuk mengurangi terjadinya kolisi. Kolisi terjadi bila hasil hashing dua kunci
rekaman yang berbeda menunjuk ke alamat yang persis sama.
Fungsi hashing dapat dipandang dari 2
aspek
• Fungsi hash itu sendiri
• Metode untuk meresolusi kolisi
Mekanisme resolusi kolusi diperlukan untuk mengatasi terjadinya jumlah rekaman yang dikonversikan ke suatu lokasi melebihi
kapasitasnya. Dalam bahasan ini diasumsikan bahawa satu lokasi memiliki kapasitas satu
Berikut adalah beberapa
fungsi hash
1. Hashing dengan Kunci Modulus N 2. Hashing dengan Kunci Modulus P 3. Hashing dengan Pemotongan
4. Hashing dengan Lipatan
1. Hashing dengan Kunci Modulus N
• N sebagai ukuran tabel atau berkas
• Hasil fungsi modulus adalah sisa pembagian kunci oleh N
• Keuntungan fungsi ini hanya menghasilkan nilai dalam rentang ruang alamat (0) sampai dengan (N-1)
2. Hashing dengan Kunci Modulus P
• Fungsi hashing Kunci mod P merupakan variasi fungsi modulus N
• P sebagai bilangan prima terkecil yang lebih besar atau sama dengan N
• P ini kemudian menjadi ukuran tabel baru yang menggantikan N
Soal latihan
1. Berapakah home address dari rekaman berikut, jika diketahui ukuran rekaman sebanyak 18,
gunakan rumus metode hashing modulus N?
a. 30 b. 40
3. Hashing dengan Pemotongan
• Contoh, NIP (Nomor Induk Pegawai) dengan panjang total 9 digit, terdiri atas 3 digit pertama sebagai identitas
departemen, sementara 6 digit terakhir adalah nomor urutnya • Bila ingin dijadikan 6 digit saja, maka bisa dilakukan
pemotongan jumlah digit. Pemotongan bisa dilakukan
dibagian mana saja, tentunya dengan konsekuensi masing-masing
Soal Latihan
3. Berapakah home address kunci rekaman nomor induk pegawai 583976124 dengan
metode hashing pemotongan menjadi 6 digit? 4. Berapakah home address kunci rekaman
4. Hashing dengan Lipatan
(by boundary)
• Fungsi ini melipat digit pada batasan yang
ditentukan berdasarkan kondisi digit awal dan digit yang akan dihasilkan
• Contoh:
• Penjumlahan dari susunan tersebut adalah:
• Jika penjumlahan dilakukan dengan mengabaikan carry maka diperoleh alamat 672, sedangkan jika menggunakan carry maka hasilnya 782
5 8 3 9 7 6 1 2 4
5. Hashing dengan Penggeseran
(by shifting)
• Hashing dengan penggeseran memiliki proses yang serupa dengan hashing lipatan, bedanya setelah ditentukan batasan
• Digit asli dipotong kemudian digeser dan dihitung hasil jumlahnya
• Yang diperoleh alamat yang berbeda yaitu 573 (tanpa carry), dengan menggunakan carry maka diperoleh 683
Soal Latihan
5. Berapakah home address kunci rekaman nomor induk pegawai 110525001 dengan metode hashing boundary menjadi 3 digit, tanpa carry?
6. Hashing dengan Pengkuadratan
• Hashing dengan penguadratan adalah fungsi hashing dengan menguadratkan kunci
• Hasil penguadratan ini kemudian dapat
dikombinasi dengan pemotongan atau lipatan untuk mendapatkan alamat yang diperbolehkan • Sebagai contoh, penguadratan kunci 782 akan
menghasilkan kemungkinan alamat 117 • F(782) = 72 +82 + 22
= 49 + 64 + 4
Hashing dengan Konversi Radix
• Dalam konversi radix, kunci dianggap dalam base selain 10 yang kemudian dikonversi ke dalam basis 10
• misal kunci 5 6 7 8 dalam base 13 akan menghasilkan 12098
• Diperoleh dari: 5 6 7 8
Soal Latihan
7. Berapakah home address kunci rekaman 2017 dengan metode pengkuadratan?