Anda di halaman 1dari 13

TUGAS 07

SISTEM BERKAS

MAKALAH

ORGANISASI BERKAS HASHING

Disusun oleh :
Nama : Indra Setia Nugroho
NIM : 131051005

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNOLOGI INDUSTRI
INSTITUT SAINS & TEKNOLOGI AKPRIND
YOGYAKARTA
2016

SOAL :
Diketahui:
Gunakanlah asumsi-asumsi yang tepat untuk menjawab pertanyaan-pertanyaan berikut :
#

Kode

Nama

Status

SKS

Smt

IPBU 11101

Pancasila

IPBU 11102

Agama

TIFS 11103

Database

TIFS 21202

Delphi

TIFS 21201

Foxpro

TIFS 22105

Pascal

Disimpan dengan menggunakan metode :


1. K MOD N
2. K MOD P
3. Midsquaring
4. Penjumlahan Digit
5. Multiplication
6. Trunction
7. Folding
8. Konversi Radix
Ditanyakan :
1.
Penempatan nilai-nilai kunci
2.
Rata-rata akses
Penyelesaian :
Asumsi yang digunakan pada soal kali ini adalah penempatan kode mata kuliah yang dijadikan kunci
dalam penyimpanan dalam memori.
Kode mata kuliah tersebut memeliki asumsi sebagai berikut :

Terdiri dari 10 karakter, yaitu 4 huruf 1 spasi dan 5 angka.

Kita misalkan 4 huruf kode matakuliah tersebut merupakan patokan dalam penempatan

penyimpanan dalam memori. Misal IPBU = 1 dan TIFS = 2 dan spasi kita anggap tidak ada.

Sehingga kode mata kuliah menjadi 6 karakter angka, dimana angka pertama merupakan hasil

permisalan konversi diatas.

Kemudian kunci pada table akan berubah seperti berikut :


#

Kode

Nama

Status

SKS

Smt

111101

Pancasila

111102

Agama

211103

Database

221202

Delphi

221201

Foxpro

222105

Pascal

1.

K MOD N
Kunci :
111101, 111102, 111103, 221202, 221201, 222105
N=6
P=7
Alamat indeks = 0 6
H(111101) => 111101 MOD 6 = 5
H(111102) => 111102 MOD 6 = 0
H(211103) => 211103 MOD 6 = 5 (collision) , H(211103) => 6
H(221202) => 221202 MOD 6 = 0 (collision) , H(221202) => 4
H(221201) => 221201 MOD 6 = 5 (collision) , H(221201) => 3
H(222105) => 222105 MOD 6 = 3 (collision) , H(222105) => 2

Kunci kunci yang sama di collision-kan ke indeks terbesar yang masih kosong agar
tidak terjadi penempatan kunci yang sama di dalam satu indeks yang sama.
Penempatan nilai-nilai kunci :
Record

Kunci

111102

Link
4

1
2

222105

221201

221202

111101

211103

Rata-rata akses :
6 / 7 = 0,86

2.

K MOD P
Kunci :
111101, 111102, 111103, 221202, 221201, 222105
Alamat indeks 2 digit

a) H(K) = K MOD M
M = 97
Alamat indeks = 0 96
H(111101) => 111101 MOD 97 = 36
H(111102) => 111102 MOD 97 = 37
H(211103) => 211103 MOD 97 = 31
H(221202) => 221202 MOD 97 = 42
H(221201) => 221201 MOD 97 = 41
H(222105) => 222105 MOD 97 = 72
Penempatan nilai-nilai kunci :
Record

Kunci

31

211103

36

111101

37

111102

41

221201

42

221202

72

222105

96
Rata-rata akses :
6 / 97 = 0,0618 = 0,062
b)
H(K) = K MOD M + 1
M = 97
Alamat indeks = 1 97
H(111101) => 111101 MOD 97 + 1 = 37
H(111102) => 111102 MOD 97 + 1 = 38
H(211103) => 211103 MOD 97 + 1 = 32

H(221202) => 221202 MOD 97 + 1 = 43


H(221201) => 221201 MOD 97 + 1 = 42
H(222105) => 222105 MOD 97 + 1 = 73
Penempatan nilai-nilai kunci :
Record

Kunci

32

211103

37

111101

38

111102

42

221201

43

221202

73

222105

97
Rata-rata akses :
6 / 97 = 0,0618 = 0,062
3.

Midsquaring
Alamat indeks 2 digit
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeks = 0 99
K

K^2

111101

12343432201 34

111102

12343654404 36

211103

44564476609 44

221202

48930324804 03

221201

48929882401 98

222105

49330631025 06

Penempatan nilai-nilai kunci :

H(K)

Record

Kunci

03

221202

06

222105

34

111101

36

111102

44

211103

98

221201

99

Rata-rata akses :
6 / 100 = 0,06
4.

Penjumlahan Digit
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeks 2 digit
Alamat indeks = 0 99
H(111101) => 11 + 11 + 01 = 23
H(111102) => 11 + 11 + 02 = 24
H(211103) => 21 + 11 + 03 = 35
H(221202) => 22 + 12 + 02 = 36
H(221201) => 22 + 12 + 01 = 35 (collision) , H(221201) => 99
H(222105) => 22 + 21 + 05 = 48
Penempatan nilai-nilai kunci :
Record

Kunci

23

111101

24

111102

35

211103

Link

99

36

221202

48

222105

99

221201

Rata-rata akses :
6 / 100 = 0,06
5.

Multiplication
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeks 2 digit
Alamat indeks = 0 99
H(11101) = 11 | 11 | 01
11 * 01 = 11
H(11102) = 11 | 11 | 02
11 * 02 = 22
H(11103) = 22 | 11 | 03
22 * 03 = 63
H(21202) = 22 | 12 | 02
22 * 02 = 44
H(21201) = 22 | 12 | 01
22 * 01 = 22 (collision) => 99
H(22105) = 22 | 21 | 05
22 * 05 = 110 => 11 (collision) => 98
Penempatan nilai-nilai kunci :
Record

Kunci

11

111101

22

111102

44

221202

63

211103

98

222105

99

221201

Link

98
99

Rata-rata akses :
6 / 100 = 0,06
6.

Trunction
Pemotongan dilakukan pada 3 digit terakhir
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeks = 0 999
K

Pemotongan

H(K)

111101

111101

101

111102

111102

102

211103

211103

103

221202

221202

202

221201

221201

201

222105

222105

105

Penempatan nilai-nilai kunci :

7.

Record

Kunci

101

111101

102

111102

103

211103

105

222105

201

221201

202

221202

999

Rata-rata akses :
6 /100 = 0,06
Folding
Folding by boundary (non carry)
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeksnya 2 digit.

Alamat indeks dari 0-99


H(111101) => 11 | 11 | 01
=> 11 + 11 +10
=>32
H(111102) => 11 | 11 | 02
=> 11 + 11 +20
=> 42
H(211103) => 21 | 11 | 03
=> 12 + 11 + 30
=> 53
H(221202)
=> 22 | 12 | 02
=> 22 + 12 + 20
=> 54
H(221201) => 22 | 12 | 01
=> 22 + 12+ 10
=> 44
H(222105)
=> 22 | 21 | 05
=> 22 + 21 + 50
=> 93
Record

Kunci

32

111101

42

111102

44

221201

53

211103

54

221202

93

222105

99

Rata-rata akses = 6/100=0.06


Folding by boundary (carry)
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeksnya 2 digit
Alamat indeks dari 0-99
H(111101) => 11 | 11 | 01

=> 11 + 11 + 10
=> 32
H(111102) => 11 | 11 | 02
=> 11 + 11 + 20
=> 42
H(211103) => 21 | 11 | 03
=> 12 + 11 + 30
=> 53
H(221202)
=> 22 | 12 | 02
=> 22 + 12 + 20
=> 54
H(221201) => 22 | 12 | 01
=> 22 + 12 + 10
=> 44
H(222105)
=> 22 | 21 | 05
=> 22 + 21 + 50
=> 93
Record

Kunci

32

111101

42

111102

44

221201

53

211103

54

221202

93

222105

99

Rata-rata akses = 6/100=0.06

Folding by shifting (non-carry)


Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeksnya 2 digit
Alamat indeks dari 0-99
H(111101) => 11 | 11 | 01
=> 11 + 11 + 01
=>23

H(111102) => 11 | 11 | 02
=> 11 + 11 + 02
=> 24
H(211103) => 21 | 11 | 03
=> 21 + 11 + 03
=> 35
H(221202)
=> 22 | 12 | 02
=> 22 + 12 + 02
=> 36
H(221201) => 22 | 12 | 01
=> 22 + 12 + 01
=> 35 (collision) , H(221201) => 99
H(222105)
=> 22 | 21 | 05
=> 22 + 21 + 05
=> 48
Record

Kunci

23

111101

24

111102

35

211103

36

221202

48

222105

99

221201

Link

99

Rata-rata akses = (6+1)/100=0.07


Ket=
6 => langkah penempatan setiap kunci pada home address
1 => langkah penempatan kunci 221201 (collision)

Folding by shifting (carry)


Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeksnya 2 digit
Alamat indeks dari 0-99
H(111101) => 11 | 11 | 01
=> 11 + 11 + 01
=> 23
H(111102) => 11 | 11 | 02
=> 11 + 11 + 02

=> 24
H(211103) => 21 | 11 | 03
=> 21 + 11 + 03
=> 35
H(221202)
=> 22 | 12 | 02
=> 22 + 12 + 02
=> 36
H(221201) => 22 | 12 | 01
=> 22 + 12 + 01
=> 35(collision) , H(221201) => 99
H(222105)
=> 22 | 21 | 05
=> 22 + 21 + 05
=> 48
Record

Kunci

23

111101

24

111102

35

211103

36

221202

48

222105

99

221201

Link

99

Rata-rata akses = (6+1)/100=0.07


8.

Konversi Radix
Kunci = 111101, 111102, 211103, 221202, 221201, 222105
Alamat indeksnya 7 digit
Alamat indeks dari 0-9999999
H(111101) =>1 * 155 + 1 * 154 + 1 * 153 + 1 * 152 + 0* 151 + 1* 150
=>813601
H(111102) => 1 * 155 + 1 * 154 + 1 * 153 + 1 * 152 + 0* 151 + 2* 150
=>813602
H(211103) =>2 * 155 + 1 * 154 + 1 * 153 + 1 * 152 + 0* 151 + 3* 150
=>1572978
H(221202)
=>2 * 155 + 2 * 154 + 1 * 153 + 2 * 152 + 0* 151 + 2* 150
=>1623827

H(221201) =>2 * 155 + 2 * 154 + 1 * 153 + 2 * 152 + 0* 151 + 1* 150


=>1623826
H(222105)
=>2 * 155 + 2 * 154 + 2 * 153 + 1 * 152 + 0* 151 + 5* 150
=>1626980
Penempatan Kunci :
Record

Kunci

813601

111101

813602

111102

1572978

211103

1623826

221201

1623827

221202

1626980

222105

9999999
Rata rata akses = 6/10000000=0.0000006