KELOMPOK 3:
FARHAN SYAH RIDOTILLAH 191011401057
FATHONI YAHYA 191011401094
GAGAS CAHYA GUMELAR 191011401025
HARI WIDODO 191011401072
Universitas Pamulang
Jl. Raya Puspitek, Buaran, Kec. Pamulang,
Kota Tangerang Selatan, Banten
i
DAFTAR ISI
DAFTAR ISI.............................................................................................................................................1
BAB I......................................................................................................................................................2
Pendahuluan.........................................................................................................................................2
A. Latar belakang.............................................................................................................................2
BAB II.....................................................................................................................................................3
ISI...........................................................................................................................................................3
a. PENGERTIAN BERKAS RELATIF...............................................................................................3
b. PENGERTIAN COLLISION........................................................................................................5
c. PENDEKATAN TERHADAP MASALAH COLLISION DALAM SISTEM BERKAS.............................5
d. Synonim Chaining..................................................................................................................8
f. Perbandingan antara metode chaining dan open addressing..............................................13
g. Keuntungan dan kerugian dari sebuah hashing...................................................................15
BAB III..................................................................................................................................................18
Penutup...............................................................................................................................................18
DAFTAR PUSTAKA................................................................................................................................19
1
BAB I
Pendahuluan
A. Latar belakang
Kemajuan Teknologi Informasi (TI) saat ini berkembang sangat pesat sesuai dengan
tuntutan zaman yang membutuhkan kemudahan-kemudahan dalam menjalankan aktivitas
kehidupan, termasuk akses untuk mendapatkan informasi dengan efisien. Biasanya informasi
ini diakses serta diproses menggunakan komputer. Komputer pada saat ini merupakan
perangkat yang vital dalam kebutuhan mengakses informasi, yang juga merupakan tulang
punggung dalam dunia teknologi informasi.
Dalam suatu komputer, informasi (data) yang disimpan akan memiliki key address
agar dapat disimpan ke memory. Akan tetapi bila key data tersebut sama, maka akan terjadi
tabrakan (collision) dan pemecahan collision yang dikenal dengan collision resolution. Dalam
makalah yang kami susun, kami menitikberatkan perngertian Collision dan penyelesaian
Collision.
2
BAB II
ISI
Urutan record secara logik tidak ada hubungannya dengan urutan secara fisik.
Record tidak perlu tersortir secara fisik menurut nilai key.
Bagaimana record yang ke-N dapat ditemukan ?? . Dalam hal ini, perlu kita buat
hubungan yang akan menerjemahkan antara NILAI KEY dan ADDRESS.
3
Hubungan ini dinyatakan sebagai R, yang merupakan fungsi pemetaan.
R(NILAI KEY) ---> ADDRESS
Dari nilai key ke address dalam penyimpanan sekunder.
PROSES
Pada waktu sebuah record ditulis ke dalam berkas relatif, fungsi pemetaan R digunakan
untuk menerjemahkan NILAI KEY dari record menjadadi ADDRESS, dimana record
tersebut disimpan.
Begitu pula pada waktu akan me-retrieve record dengan nilai key tertentu, fungsi
pemetaan R digunakan terhadap nilai key tersebut, untuk menerjemahkan nilai key itu
menjadi sebuah address dalam penyimpanan sekunder, dimana record tersebut ditemukan.
Organisasi berkas relatif ini tidak menguntungkan bila penyimpanan sekundernya berupa
media SASD seperti magnetic tape. Berkas relatif harus disimpan dalam media DASD
seperti magnetic disk atau drum. Juga dimungkinkan untuk mengakses record-record
dalam berkas relatif secara consecutive, tetapi perlu diketahui bahwa nilai key tidak
terurut secara logik.
Contoh
Record dalam gambar 1, diretrieve secara consecutive;
COW, ZEBRA, … , APE, EEL, DOG, … , CAT, BAT
Karena kemampuan mengakses record tertentu secara cepat, maka organisasi berkas
relatif paling sering digunakan dalam proses interactive.
Contoh
Sebuah on-line sistem perbankan yang mempunyai sebuah master file dan sebuah
transaksi file. Field account number dipakai sebagai nilai key untuk kedua berkas
tersebut. Pada saat nilai key account number dimasukan kedalam transaksi, nilai key
tersebut akan meretrieve secara langsung record yang ada pada master file.
Jika trans-type = ‘I’, maka balance account akan ditampilkan dilayar.
Jika trans-type = ‘C’ atau ‘D’, maka record-record dari master file customer account akan
dimodifikasi dengan amount dan date yang ada ditransaction file, dimana account number
yang menentukan lokasi record dalam berkas tersebut.
4
Catatan :
- Kita tidak perlu mengakses semua record master file, cukup mengakses langsung record
yang dikehendaki.
- Record dari berkas relatif dapat diupdate langsung tanpa perlu merekam kembali semua
record.
- Keuntungan dari berkas relatif ini adalah kemampuan mengakses record secara
langsung, sebuah record dapat diretrieve, insert, modifikasi atau didelete, tanpa
mempengaruhi record lain dalam berkas yang sama.
Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan R, dimana R(nilai
key) address
1. Direct mapping (pemetaan langsung)
2. Directory look up (pencarian tabel)
3. Calculation (kalkulasi)
b. PENGERTIAN COLLISION
Collision Resolution
Collision resolution merupakan proses untuk menangani kejadian dua atau lebih
5
key di-hash ke alamat yang sama.
Cara yang dilakukan jika terjadi collision adalah mencari lokasi yang kosong
dalam tabel Hash secara terurut.
Cara lainnya adalah dengan menggunakan fungsi Hash yang lain untuk mencari
lokasi kosong tersebut.
2. Separate Overflow
Menemukan address untuk K2 diluar dari primary area dalam berkas relatif, yaitu di
overflow area yang dipakai hanya untuk menyimpan record-record yang tak dapat
disimpan di home addressnya.
Contoh :
Teknik untuk mengatasi collision :
1. Linier Probing, yang merupakan teknik open addresing.
Merupakan sebuah proses pencarian secara sequential/linear dari home address sampai
lokasi yang kosong.
6
Contoh linier probing
Ukuran tabel = 11 dan file berisi 8 record dengan nilai kunci sebagai
berikut:12,21,68,32,56,77
Maka alamat awal hash dengan metode pembagian sisa:
(12 mod 11)+1=1+1=2; simpan 12 dilokasi 2
(21 mod 11)+1=10+1=11; simpan 21 dilokasi 11
(68 mod 11)+1=2+1=3; simpan 68 dilokasi 3
(32 mod 11)+1=10+1=11; diuji (probe) di dilokasi 11; terjadi kolisi sehingga: (11 mod
11)+1=0+1=1; simpan 32 dilokasi 1
(56 mod 11)+1=1+1=2; diuji (probe) di dilokasi 2; terjadi kolisi sehingga:
(2 mod 11)+1=2+1=3; diuji di lokasi 3; terjadi kolisi sehingga:
(3 mod 11)+1=3+1=4; simpan 56 dilokasi 4
(77 mod 11)+1=0+1=1; diuji di lokasi 1; terjadi kolisi sehingga:
(1 mod 11)+1=1+1=2; diuji di lokasi 2; terjadi kolisi sehingga:
(2 mod 11)+1=2+1=3; diuji di lokasi 3; terjadi kolisi sehingga:
(3 mod 11)+1=3+1=4; diuji di lokasi 4; terjadi kolisi sehingga:
(4 mod 11)+1=4+1=5; simpan 77 di lokasi 5
Maka hashing dengan metode pembagian sisa dengan linear probing:
7
(56 mod 11)+1=1+1=2; diuji (probe) di dilokasi 2; terjadi kolisi (q=5)->56:11=5 sisa 1
((2+5) mod 11)+1=4+1=5; simpan 56 dilokasi 5 (q=1)
..........
(77 mod 11)+1=0+1=1; simpan 77 dilokasi 1
Maka hashing dengan metode pembagian sisa dengan linear probing:
d. Synonim Chaining
Synonim chaining adalah suatu rangkaian pointer yang menghubungkan (link) antara
satu alamat dengan alamat lain yang berada di separate overflow area. Hal ini dilakukan
untuk mempercepat akses di area tersebut. Jadi, jika hasil perhitungan ternyata datanya bukan
yang data dicari, maka akan di-link ke data yang berada di separate overflow area mulai dari
awal alamatnya hingga ditemukan data yang dicari.
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 1 :
8
EVANS 24 24
FLINT 20 25
Contoh 2 :
· Lebih mudah diimplementasikan dengan efektif dan hanya membutuhkan struktur data
dasar.
9
· Performa menurun secara linier. Meskipun semakin banyak record yang dimasukkan maka
semakin panjang senarai berantai, tabel hash tidak akan penuh dan tidak akan menimbulkan
peningkatan waktu pencarian record yang tibatiba meningkat yang terjadi bila menggunakan
metode open addressing.
· Ruang yang digunakan lebih efisien karena tidak perlu menyimpan pointer atau
mengalokasi tempat tambahan di luar tabel hash.
e. Bucket Addressing
Pendekatan lain dalam mengatasi collision adalah hash ke dalam block atau bucket yang
dapat memberikan tempat sejumlah record.
Contoh :
Sebuah berkas relative mempunyai relative address space dari 0 sampai M dan sebuah bucket
berukuran B record, address space akan terdiri dari B(M+1) record. Jika file terdiri dari N
record, maka :
B record dapat semuanya di hash kedalam relitf address yang sama tanpa menyebabkan
collision.
Pada saat sebuah bucket penuh, beberapa tempat baru harus ditemukan untuk record tersebut.
Pendekatan dari masalah bucket penuh pada dasarnya sama dengan pendekatan untuk
mengatasi collision dengan record addressing.
10
Jika open addressing dipakai, space dicari untuk bucket berikutnya (misal dengan linear
probing) atau dalam bucket lainnya (misalnya dengan double hashing).
Jika teknik separate overflow yang dipakai, record baru ditempatkan dalam suatu himpunan
bucket yang dirancang khusu untuk tempat record yang tak dapat ditampung pada bucket
primer.Bucket ini disebut bucket overflow.
Bucket addressing ini umum dipakai. Ukuran dari sebuah bucket dapat ditentukan oleh
ukuran track atau sector dalam DASD. Ukuran bucket umumnya sama dengan ukuran block
untuk file.
Satu keuntungan penting dari penggunaan bucket yang dapat menampung banyak record ini
adalah record dengan panjang yang berbeda dapat dipakai.
Contoh :
HOME
KEY
ADDRESS
Green 30
Hall 30
Jenks 32
King 33
Land 33
Mark 33
Nutt 33
BUCKET
BUCKET CONTENT
ADDRESS
11
30 Green Hall ...
31
32 Jenks ...
33 King Land Marks ...
Contoh 1:
HOME
KEY
ADDRESS
John 10
Geek 15
Nerd 16
Herp 16
Derp 17
Troll 17
Zen 17
Bien 18
Yaoming 19
BUCKET
BUCKET CONTENT
ADDRESS
10 John ...
11
12
13
14
15 Geek ...
12
16 Nerd Herp ...
17 Derp Troll Zen ...
18 Bien ...
19 Yaoming ...
20
1. Lebih mudah diimplementasikan dengan efektif dan hanya membutuhkan struktur data
dasar.
Ruang yang digunakan lebih efisien karena tidak perlu menyimpan pointer atau
mengalokasi tempat tambahan di luar tabel hash.
13
Tidak memerlukan pointer. Sebenarnya, penggunaan algoritma apapun pada
tabel hash biasanya cukup cepat, dan persentase kalkulasi yang dilakukan pada
tabel hash rendah. Penggunaan memori juga jarang berlebihan. Oleh karena itu, pada
kebanyakan kasus, perbedaan antar algoritma ini tidak signifikan.
•> Metode-metode lain
Selain metode-metode yang sudah disebutkan di atas, ada juga beberapa metode lain
diantaranya :
1. Coalesced hashing
2. Perfect hashing
Jika record yang akan digunakan sudah diketahui sebelumnya, dan jumlahnya tidak melebihi
jumlah ruang pada tabel hash, perfect hashing bisa digunakan untuk membuat
tabel hash yang sempurna, tanpa ada bentrokan.
3. Probabilistic hashing
14
g. Keuntungan dan kerugian dari sebuah hashing
Kelemahannya :
• Membutuhkan waktu proses dalam mengimplementasikan fungsi hash.
• Membutuhkan waktu proses dan akses I/O dalam mengatasi benturan.
Hashing dapat digunakan bersama-sama dengan pencarian tabel.
15
ADDR Harus merupakan bilangan integer.
------------------------------------------
Banyak faktor yang harus dipertimbangkan dalam pemilihan pembagi :
• Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV adalah 0 sampai DIV-
1. Nilai dari DIV menentukan ukuran "relatif address space". Jika diketahui berkas relatif
terdiri dari N record dan dianggap hanya satu record dapat disimpan dalam sebuah alamat
relatif, maka akan didapat DIV > N.
• Pembagi harus diseleksi untuk mengurangi benturan. Penyelidikan menunjukkan bahwa
pembagi yang berupa bilangan genap akan cenderung jelek, terutama dengan nilai key-nya
yang dominan ganjil.
• Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan bilangan prima. Tetapi
riset lain dari V.Y.Lum, menyatakan pembagi yang bukan bilangan prima akan memberikan
hasil yang sama baik seperti bilangan prima.
• Menurut pendapatnya, bukan bilangan prima yang mempunyai faktor prima kurang dari 20
akan dapat memberikan jaminan penampilan yang lebih baik.
• Walaupun kita telah menentukan pembagi dengan baik untuk mengatasi benturan, bila
ruang alamat dari berkas relatif mendekati penuh, maka peluang terjadinya benturan akan
meningkat.
Untuk mengukur kepenuhan berkas relatif digunakan Load Factor (Faktor Muat).
Load Factor =
banyak record dalam berkas
max. banyak record dalam berkas
Biasanya load factor yang sering digunakan adalah 0.7 atau 0.8. Jika load factor lebih besar
dari 0.7 atau 0.8 maka berkas tersebut harus diperbesar dan direorganisasi.
Jadi jika kita ingin menyimpan sebanyak n record pada suatu berkas dan load factor adalah
0.8, maka max. banyak record pada berkas adalah 1.25 n.
Contoh :
16
Kita ingin membuat berkas yang terdiri dari 4000 record.
Load Factor (Faktor muat) = 0.8
maka max. banyak record pada berkas :
(1.25) n = (1.25) . 4000
= 5000
alamat relatif
17
BAB III
Penutup
A. Kesimpulan
Dalam penympanan data di komputer dapat terjadi collision yang disebabkan oleh
samanya alamat (address). Penyelesaiannya atau Collision Resolution dari masalah ini adalah
dengan menggunakan metode Open Addressing, Synonim Chaining, Bucket Addressing. Dan
tujuan dari metode-metode ini adalah agar tidak terjadinya kehilangan data dan tidak dapat
dipanggil lagi.
18
DAFTAR PUSTAKA
https://artgus16.blogspot.com/2017/01/pendekatan-terhadap-masalah-collision.html
http://pintarjhe.blogspot.com/2011/12/organisasi-berkas-relatif_20.html
http://luqmanh-fst10.web.unair.ac.id/artikel_detail-69903-kegiatan%20akademik-pengertian
%20Hash.html
http://www.google.com/url?
sa=t&rct=j&q=&esrc=s&source=web&cd=10&ved=0CFsQFjAJ&url=http%3A%2F
%2Ftarjianto.files.wordpress.com%2F2010%2F02%2Ftugas-akhir-sistem-berkas-hash-file-
dan-multiring-
file.pdf&ei=cwhfVJu0I8OhugT8voLAAw&usg=AFQjCNHtxKh6pgKYsY_fpRCJRbCcifeO
nw&sig2=RONz3NGSt1rPfnukh02Tow
http://www.indirpan.wapsite.me/Materi%20UNPAM/Sistem%20Berkas/Organisasi
%20Berkas%20Relatif
19