file berkas langsung - · pdf filemelalui proses pencarian, namun bisa ... (11 adalah...

42
FILE BERKAS LANGSUNG Rudi Susanto | [email protected]

Upload: trinhhanh

Post on 16-Feb-2018

245 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

FILE BERKAS LANGSUNGRudi Susanto | [email protected]

Page 2: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Pendahuluan

• Untuk menemukan suatu rekaman tidakmelalui proses pencarian, namun bisalangsung menuju alamat yang ditemptirekaman.

• Solusi awalmenyimpan rekaman padaalamat yang sama dengan nilai kuncirekaman tersebut

2http://rudist.wordpress.com

Page 3: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Pendahuluan

• Contoh : rekaman dengan kunci 100 akandisimpan di alamat 100

• Syarat kunci rekaman = alamat lokasirekaman

• 1 probe untuk setiap rekaman yang dicari

• Kunci rekaman = alamat rekamanhubungan korespondensi satu - satu

3http://rudist.wordpress.com

Page 4: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Kerugian Korespondensi Satu - satu

a. Harus disediakan ruang yang sangat besaruntuk menampung setiap kemungkinannilai kunci yang ada.

Contoh : NIP PNS( 9 digit) satu milyaralamat (kemungkinan 000000000 –999999999)

b. Banyak alamat yang tidak dipergunakan/ kosong.

Contoh : Kode NIP 3 digit awalmenunjukkan kode departemen(000000000 – 000999999 tidak terpakai)

4http://rudist.wordpress.com

Page 5: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode HASHING

• Untuk mengurangi banyaknya ruang alamatyang digunakan

• Melakukan pemetaan (melakukankonversi) dari kunci rekaman yang memiliki cakupan nilai yang luas ke nilaialamat yang memiliki cakupan yang telahdipersempit.

5http://rudist.wordpress.com

Page 6: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Konsep File Hash

• Merupakan organisasi file dengan metode akseslangsung (direct acsess), yang menggunakansuatu fungsi untuk memetakan key menjadiaddress

6http://rudist.wordpress.com

Page 7: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Konsep File Hash

• Fungsi yang digunakan disebut fungsi hash/KAT (key toaddress transformation)

• Address yang dihasilkan dari hasil perhitungan fungsihash disebut dengan istilah home address

• Jadi, terdapat dua komponen dalam file hash :- Ruang rekord, yang terdiri atas m slot address- Fungsi hash, yang mentransformasi key menjadiaddress

• Transfomasi key akan mudah jika key telah berupa nilaiinteger, untuk key berupa karakter alphanumerik terdapatproses prakondisi untuk mengubahnya menjadi suatunilai integer

7http://rudist.wordpress.com

Page 8: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Macam – macam Fungsi HASH

a. Fungsi Modulo

b. Metode Pemotongan

c. Metode Pelipatan

d. Metode Pengkuadratan

e. Penambahan Kode ASCII

8http://rudist.wordpress.com

Page 9: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

a.Fungsi Modulo• Home address dicari dengan cara mencari sisa hasil bagi

nilai kunci dengan suatu nilai tertentu

f(key) key mod n

Dengan nilai n dapat berupa 2 kemungkinan, yaitu :

1. Banyaknya ruang alamat yang tersedia

2. Bilangan prima terdekat yang berada di atas nilaibanyaknya data, setelah itu banyaknya ruangalamat disesuaikan dengan n

9http://rudist.wordpress.com

Page 10: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

a.Fungsi Modulo

1. N = ukuran tabel/ berkas

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

10http://rudist.wordpress.com

Page 11: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Fungsi Modulo

2. P bilangan prima terkecil yang lebih besaratau sama dengan N

Untuk N = 12 maka P = 13

30 mod P = 4 menghasilkan 2 sisa 4

40 mod P = 1 menghasilkan 3 sisa 1

Untuk N = 15 maka P = 17

50 mod P = 16 menghasilkan 2 sisa 16

70 mod P = 2 menghasilkan 4 sisa 2

11http://rudist.wordpress.com

Page 12: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

b.Metode Pemotongan

• Home address dicari dengan memotongnilai kunci ke jumlah digit tertentu yang lebih pendek

• Contoh :

NIP 9 digit dipotong menjadi 3 digit denganmenggambil 3 nomor terakhir. Misal NIP 132312090 memiliki home address 090/ 90

12http://rudist.wordpress.com

Page 13: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

c. Metode Pelipatan

• Diandalkan kuci rekaman ditulis di ataskertas dan dilipat ke dalam bagian – bagianyang sama panjang, lalu setiap bagiandijumlahkan. Folding (Metoda Pelipatan), dapat dilakukan dengan cara:

1. Folding by boundary

2. Folding by shifting

13http://rudist.wordpress.com

Page 14: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

c. Metode Pelipatan

1. Folding by boundary

• contoh jika key = 123456789, maka transformasike 3 digit address dengan teknik folding by boundary dapat dilakukan dengan membagidigit key tsb dengan cara seolah-olah melipatbatas pembagian digit seperti berikut :

*apabila kode – kode itu ditambahkan (tanpa carry) , makadiperoleh 654.

14http://rudist.wordpress.com

Page 15: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

c. Metode Pelipatan

2. Folding by shiftingcontoh jika key = 123456789, maka transformasike 3 digit address dengan teknik folding by shifting dapat dilakukan dengan membagi digit key tsb dengan cara seolah-olah menggeser bataspembagian digit seperti berikut :

*apabila kode – kode itu ditambahkan (tanpa carry) ,maka diperoleh 258

15http://rudist.wordpress.com

Page 16: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

c. Metode Pelipatan

• Nilai NIP 132312090

• Tentukan hasil penjumlahan denganFolding by boundary dan Folding by shifting!

16http://rudist.wordpress.com

Page 17: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

d.Metode Pengkuadratan

• Home address dicari denganmengkuadratkan setiap digit pembentukkunci, lalu semua hasilnya dijumlahkan

• Contoh :

• Carilah pengkuadratan dari 782

Jawab

f (782) =

17http://rudist.wordpress.com

Page 18: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

e.Penambahan Kode ASCII

• Jika kunci bukan berupa kode numerik.

• Home address dicari dengan menjumlahkankode ASCII setiap huruf pembentuk kunci.

• Contoh : Rekaman dengan kunci ADE

memiliki home address 65+68+69 = 192

18http://rudist.wordpress.com

Page 19: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Soal1. Berapakah home-address dari rekaman rekaman

dengan kunci 3 digit NIM terakhir anda bila diketahuiberkas memiliki 11 rekaman (N=11)

2. Carilah home-address anda masing masing denganketentuan

a. Hashing dengan pemotongan (ambil 3 digit terakhir dari NIM anda)

b. Hashing dengan lipatan dari NIM anda (Folding by boundary dan Folding by shifting!)

c. Hashing dengan penguadratan NIM anda

3. Hashing dengan penambahan nilai ACII (Kunci=Nama depan Anda)

http://rudist.wordpress.com 19

Page 20: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Kriteria Fungsi Hash yang Baik

• Dapat mendistribusikan setiap rekamansecara merata, sehingga dapatmeminimalkan terjadinya collision

• Dapat dieksekusi dengan efisien, sehinggawaktu tidak habis hanya untuk menghitunghome address saja

20http://rudist.wordpress.com

Page 21: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Collision (Tabrakan)

• Metode Hashing Korespondensi satu –satu hilang

• Peristiwa dimana terdapat 2 buah rekamandengan kunci yang berbeda namunmemiliki home address yang samaCollision/ Tabrakan/ Tumbukan

21http://rudist.wordpress.com

Page 22: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

RESOLUSI KOLISI

• Yang menjadi tujuan utama metode resolusikolisi adalah menempatkan rekamansinonim pada suatu lokasi yang membutuhkan probes tambahan yang minimum dari home-address rekamantersebut.

• Synonim adalah dua atau lebih nilai keyyang berbeda pada hash ke home address yang sama.

• Penyelesaianmemberikan petunjuk padalokasi rekaman sinonim.

22http://rudist.wordpress.com

Page 23: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

RESOLUSI KOLISI

• Karena collision dapat dipastikan akan selaluterjadi, maka dikatakan bahwa output dari fungsihash (home address) bukanlah merupakan alamatunik yang pasti ditempati oleh rekaman yang diproses, namun hanya berupa kemungkinanalamat yang bisa ditempati.

• Jika home address dari suatu rekaman ternyatasudah ditempati rekaman lain, maka harusdicarikan alamat lain untuk ditempati rekamantersebut

• Proses pencarian alamat lain Resolusi Kolisi23http://rudist.wordpress.com

Page 24: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Collision Resolution

• Metode Open Addressing

• Metode Chaining

• Metode Coalesced Hashing

• Metode Chained Progressive Overflow(Linier Probing)

• Metode Bucket

http://rudist.wordpress.com 24

Page 25: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Coalesced Hashing

• Bila terjadi tumbukan dalampemasukan kunci rekaman maka dicarialamat yang paling besar/paling akhir

• Contoh : misalkan akan dilakukanpenyisipan rekaman-rekaman dengan kunci38,51,40,61,83,24, dan 60

http://rudist.wordpress.com 25

Page 26: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Contoh : Metode Coalesced Hashing

• Langkah 1 :

• Hash semua kunci dengan kunci modulus 11 (11 adalah kapasitas berkas), maka akandihasilkan :

http://rudist.wordpress.com 26

Kunci Key mod 11

38 5

51 7

40 7

61 6

83 6

24 2

60 5

Page 27: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Contoh : Metode Coalesced Hashing

• Langkah 2. Masukkan ke alamat :

http://rudist.wordpress.com 27

alamat Rekaman Medan Penghubung

0

1

2 24

3

4

5 38 8

6 61 9

7 51 10

8 60

9 83

10 40

Page 28: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Rumus Probe rata-rata

• Untuk membaca masing-masing rekaman 1 kali diperlukan rata-rata probe 1.4 diperoleh dari total jumlah probe dibagi jumlah rekaman.

http://rudist.wordpress.com 28

Kunci Kunci mod 11 probe

38 5 1

51 7 1

40 7 2

61 6 1

83 6 2

24 2 1

60 5 2

Rumus Probe rata-rata

=probe total/jumlah rekaman

Dari gambar disamping probe total = 10 dan jumlah rekaman7

Jadi intuk membaca masing-masingrekaman 1 kali diperlukan rata-rata probe 1.4

Page 29: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Soal

• Misalkan akan dilakukan penyisipanrekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

• Hash (key) = key mod 11, dimana 11 adalahukuran table.

http://rudist.wordpress.com 29

Page 30: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Jawab

http://rudist.wordpress.com 30

alamat Rekaman Medan Penghubung

0

1

2 24 9

3 14

4

5

6 28 10

7 18

8 30

9 13

10 39

Kunci Key mod 11

24 2

18 7

30 8

28 6

39 6

13 2

14 3

Probe rata2 =9/7

Page 31: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Open Addressing

• Alamat alternatif dicari pada alamat-alamatselanjutnya yang masih kosong

• Cara mencari alamat alternatif ada 2 macam, yaitu :

– Linear Probingpencarian dilakukan dengan jarak pencarianyang fix (tetap), biasanya satu satu

– Quadratic Probingpencarian dilakukan dengan jarak pencarianberubah dengan perubahan yang tetap

http://rudist.wordpress.com 31

Page 32: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Contoh Soal Linear Probing

Sesuai namanya, bila lokasi yang akan ditempatitelah terisi, maka dilihat lokasi selanjutnyaapakah msh belum terisi.

• Fungsi hash yang dipakai adalah :f(key) = key mod 10

• Ruang alamat yang tersedia : 10 alamat

• Metode Collision Resolution yang dipakaiadalah Open Addressing dengan Linear Probingjarak 3

• Urutan kunci yang masuk adalah : 20, 31, 33, 40, 10, 12, 30, dan 15

http://rudist.wordpress.com 32

Page 33: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Jawaban Linear Probing

http://rudist.wordpress.com 33

0 20

1 31

2 12

3 33

4

5 30

6 40

7

8 15

9 10

20 0 0 0

31 1 1 1

33 3 3 3

40 0 0, 3, 6 6

10 0 0, 3, 6, 9 9

12 2 2 2

30 0 0, 3, 6, 9, 2, 5 5

15 5 5, 8 8

Key f Proses Addr

Probe total = 19

Probe rata-rata = 19/8

Page 34: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Soal

• Misalkan akan dilakukan penyisipanrekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

• Hash (key) = key mod 11, dimana 11 adalahukuran table

• Linear Probing jarak 3

http://rudist.wordpress.com 34

Page 35: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Bucket

• Jmlh pengaksesan dapat direduksi denganmeletakkan lebih dari satu rekaman padasatu alamat penyimpan. Kemungkinantersebut dpt direalisir bila digunakan sistembuckets disebut juga blok atau halaman.

• Disediakan 2 alamat kunci yaitu kunci 1 dankunci 2

• Sama seperti linier probing,bila terjadikolisi(tubrukan) jika lokasi yangditempati telah terisi,maka dilihatlokasi selanjutnya apakah belum terisi.

http://rudist.wordpress.com 35

Page 36: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

• Contoh : rekaman-rekaman dengan kunci38,51,40,61,83,24,60,20 dan 94

http://rudist.wordpress.com 36

Alamat Kunci 1 Kunci 2

0

1

2 24

3

4

5 38 60

6 61 83

7 51 40

8 94

9 20

10

Kunci Home-Addres

Probe

38 5 1

51 7 1

40 7 1

61 6 1

83 6 1

24 2 1

60 5 1

20 9 1

94 6 3

Probe total 11

Page 37: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

• Membaca rekaman dalam buckets

http://rudist.wordpress.com 37

Kunci Home Address Proses Probe

38 5 5 1

51 7 7 1

40 7 7 1

61 6 6 1

83 6 6 1

24 2 2 1

60 5 5 1

20 9 9 1

94 6 6,7,8 3

Probe total 11

Jadi probe rata-rata = 11/9 =1,2

Page 38: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Soal

• Misalkan akan dilakukan penyisipanrekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

• Hash (key) = key mod 11, dimana 11 adalahukuran table

http://rudist.wordpress.com 38

Page 39: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Chaining

• Dengan metode ini, harus disediakan ruangekstra untuk menyimpan rekaman-rekamanyang mengalami tabrakan (terpisah daritabel hash)

• Pada setiap ruang alamat yang ada, tidakhanya menyimpan data rekaman namunjuga menyimpan suatu nilai yang menunjukkan alamat rekaman selanjutnyayang harusnya menempati ruang tersebut

• Setiap sinonim (nilai-nilai yang memilikihome address sama) akan membentukrantai (chain)

http://rudist.wordpress.com 39

Page 40: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Metode Progressive Overflow

• Metode Open Addressing dengan Linear Probingdisebut juga sebagai Metode Progressive Overflow

• Metode ini jika didesain dengan salah bisamenimbulkan infinite loop, dimana alamatalternatif tidak dapat ditemukan karena pencarianhanya memutar-mutar di tempat yang sama

• Kelemahan ini dapat diatasi dengan cara :

– Jarak pencarian diambil suatu nilai yang bukanmerupakan faktor dari jumlah ruang alamat (n)

– Banyaknya ruang alamat diambil suatu bilanganprima, misalkan ada 10 data, maka disediakan ruangalamat sebanyak 11

http://rudist.wordpress.com 40

Page 41: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Tugas

1. Dilakukan penyisipan rekaman-rekamandengan kunci : 15, 25, 38,49,59,69,79,100,126, 150 Ke dalam berkas dengan kapasitas 12, Fungsi hash yang dipakai adalah :f(key) = key mod 10 dan carilah probe total dan probe rata-rata! (Metode silahkan pilihsalah satu)

2. Dilakukan penyisipan rekaman-rekamandengan kunci :45 ,43,82,75,25,17,37,55,100 120 ke dalam berkas dengan kapasitas 15, Fungsi hash yang dipakai adalah :f(key) = key mod 10 carilah probe total danprobe rata-rata! (Metode silahkan pilihsalah satu)

http://rudist.wordpress.com 41

Page 42: FILE BERKAS LANGSUNG -   · PDF filemelalui proses pencarian, namun bisa ... (11 adalah kapasitas berkas), maka akan ... tersebut dpt direalisir bila digunakan sistem

Terima Kasih

http://rudist.wordpress.com 42