• Tidak ada hasil yang ditemukan

FILE BERKAS LANGSUNG. Rudi Susanto

N/A
N/A
Protected

Academic year: 2021

Membagikan "FILE BERKAS LANGSUNG. Rudi Susanto"

Copied!
42
0
0

Teks penuh

(1)

FILE BERKAS LANGSUNG

(2)

Pendahuluan

• Untuk menemukan suatu rekaman tidak melalui proses pencarian, namun bisa

langsung menuju alamat yang ditempti rekaman.

• Solusi awal  menyimpan rekaman pada alamat yang sama dengan nilai kunci

(3)

Pendahuluan

• Contoh : rekaman dengan kunci 100 akan disimpan di alamat 100

• Syarat  kunci rekaman = alamat lokasi rekaman

• 1 probe untuk setiap rekaman yang dicari

• Kunci rekaman = alamat rekaman  hubungan korespondensi satu - satu

(4)

Kerugian Korespondensi Satu - satu

a. Harus disediakan ruang yang sangat besar untuk menampung setiap kemungkinan nilai kunci yang ada.

Contoh : NIP PNS( 9 digit)  satu milyar alamat (kemungkinan 000000000 –

999999999)

b. Banyak alamat yang tidak dipergunakan/ kosong.

Contoh : Kode NIP 3 digit awal menunjukkan kode departemen

(5)

Metode HASHING

• Untuk mengurangi banyaknya ruang alamat yang digunakan

• Melakukan pemetaan (melakukan konversi) dari kunci rekaman yang

memiliki cakupan nilai yang luas ke nilai alamat yang memiliki cakupan yang telah

(6)

Konsep File Hash

• Merupakan organisasi file dengan metode akses langsung (direct acsess), yang menggunakan

suatu fungsi untuk memetakan key menjadi address

(7)

Konsep File Hash

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

• Address yang dihasilkan dari hasil perhitungan fungsi hash 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 menjadi address

• Transfomasi key akan mudah jika key telah berupa nilai integer, untuk key berupa karakter alphanumerik terdapat proses prakondisi untuk mengubahnya menjadi suatu

(8)

Macam – macam Fungsi HASH

a. Fungsi Modulo

b. Metode Pemotongan

c. Metode Pelipatan

d. Metode Pengkuadratan

(9)

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 nilai banyaknya data, setelah itu banyaknya ruang alamat disesuaikan dengan n

(10)

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

(11)

Fungsi Modulo

2. P bilangan prima terkecil yang lebih besar atau 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

(12)

b.Metode Pemotongan

Home address dicari dengan memotong nilai kunci ke jumlah digit tertentu yang lebih pendek

• Contoh :

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

(13)

c. Metode Pelipatan

• Diandalkan kuci rekaman ditulis di atas

kertas dan dilipat ke dalam bagian – bagian yang sama panjang, lalu setiap bagian

dijumlahkan. Folding (Metoda Pelipatan), dapat dilakukan dengan cara:

1. Folding by boundary

(14)

c. Metode Pelipatan

1. Folding by boundary

• contoh jika key = 123456789, maka transformasi ke 3 digit address dengan teknik folding by

boundary dapat dilakukan dengan membagi digit key tsb dengan cara seolah-olah melipat batas pembagian digit seperti berikut :

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

(15)

c. Metode Pelipatan

2. Folding by shifting

contoh jika key = 123456789, maka transformasi ke 3 digit address dengan teknik folding by

shifting dapat dilakukan dengan membagi digit key tsb dengan cara seolah-olah menggeser batas pembagian digit seperti berikut :

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

(16)

c. Metode Pelipatan

• Nilai NIP  132312090

• Tentukan hasil penjumlahan dengan

Folding by boundary dan Folding by shifting!

(17)

d.Metode Pengkuadratan

Home address dicari dengan

mengkuadratkan setiap digit pembentuk kunci, lalu semua hasilnya dijumlahkan

• Contoh :

• Carilah pengkuadratan dari 782 Jawab

(18)

e.Penambahan Kode ASCII

• Jika kunci bukan berupa kode numerik.

Home address dicari dengan menjumlahkan kode ASCII setiap huruf pembentuk kunci.

• Contoh : Rekaman dengan kunci ADE memiliki home address 65+68+69 = 192

(19)

Soal

1. Berapakah home-address dari rekaman rekaman

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

2. Carilah home-address anda masing masing dengan ketentuan

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)

(20)

Kriteria Fungsi Hash yang Baik

• Dapat mendistribusikan setiap rekaman secara merata, sehingga dapat

meminimalkan terjadinya collision

• Dapat dieksekusi dengan efisien, sehingga waktu tidak habis hanya untuk menghitung

(21)

Collision (Tabrakan)

• Metode Hashing  Korespondensi satu – satu hilang

• Peristiwa dimana terdapat 2 buah rekaman dengan kunci yang berbeda namun

memiliki home address yang sama 

(22)

RESOLUSI KOLISI

• Yang menjadi tujuan utama metode resolusi

kolisi adalah menempatkan rekaman sinonim pada suatu lokasi yang

membutuhkan probes tambahan yang minimum dari home-address rekaman tersebut.

Synonim adalah dua atau lebih nilai key

yang berbeda pada hash ke home address

yang sama.

• Penyelesaian  memberikan petunjuk pada lokasi rekaman sinonim.

(23)

RESOLUSI KOLISI

• Karena collision dapat dipastikan akan selalu

terjadi, maka dikatakan bahwa output dari fungsi hash (home address) bukanlah merupakan alamat unik yang pasti ditempati oleh rekaman yang

diproses, namun hanya berupa kemungkinan alamat yang bisa ditempati.

• Jika home address dari suatu rekaman ternyata sudah ditempati rekaman lain, maka harus

dicarikan alamat lain untuk ditempati rekaman tersebut

(24)

Metode Collision Resolution

• Metode Open Addressing

• Metode Chaining

Metode Coalesced Hashing • Metode Chained Progressive

Overflow(Linier Probing)

(25)

Metode Coalesced Hashing

Bila terjadi tumbukan dalam

pemasukan kunci rekaman maka dicari alamat yang paling besar/paling akhir

• Contoh : misalkan akan dilakukan

penyisipan rekaman-rekaman dengan kunci

(26)

Contoh : Metode Coalesced Hashing

• Langkah 1 :

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

dihasilkan : Kunci Key mod 11

38 5 51 7 40 7 61 6 83 6 24 2

(27)

Contoh : Metode Coalesced Hashing

• Langkah 2. Masukkan ke alamat :

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

(28)

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.

Kunci Kunci mod 11 probe

38 5 1 51 7 1 40 7 2 61 6 1 83 6 2 24 2 1

Rumus Probe rata-rata

=probe total/jumlah rekaman Dari gambar disamping probe total = 10 dan jumlah rekaman 7

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

(29)

Soal

• Misalkan akan dilakukan penyisipan

rekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

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

(30)

Jawab

alamat Rekaman Medan Penghubung 0 1 2 24 9 3 14 4 5 6 28 10 7 18 8 30 9 13 10

Kunci Key mod 11

24 2 18 7 30 8 28 6 39 6 13 2 14 3 Probe rata2 =9/7

(31)

Metode Open Addressing

• Alamat alternatif dicari pada alamat-alamat selanjutnya yang masih kosong

• Cara mencari alamat alternatif ada 2 macam, yaitu :

Linear Probing

pencarian dilakukan dengan jarak pencarian yang fix (tetap), biasanya satu satu

Quadratic Probing

pencarian dilakukan dengan jarak pencarian berubah dengan perubahan yang tetap

(32)

Contoh Soal Linear Probing

Sesuai namanya, bila lokasi yang akan ditempati telah terisi, maka dilihat lokasi selanjutnya apakah msh belum terisi.

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

• Ruang alamat yang tersedia : 10 alamat

• Metode Collision Resolution yang dipakai

adalah Open Addressing dengan Linear Probing jarak 3

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

(33)

Jawaban Linear Probing

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

(34)

Soal

• Misalkan akan dilakukan penyisipan

rekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

• Hash (key) = key mod 11, dimana 11 adalah ukuran table

(35)

Metode

Bucket

• Jmlh pengaksesan dapat direduksi dengan meletakkan lebih dari satu rekaman pada satu alamat penyimpan. Kemungkinan tersebut dpt direalisir bila digunakan sistem buckets disebut juga blok atau halaman.

• Disediakan 2 alamat kunci yaitu kunci 1 dan kunci 2

Sama seperti linier probing,bila terjadi kolisi(tubrukan) jika lokasi yang ditempati telah terisi,maka dilihat lokasi selanjutnya apakah belum terisi.

(36)

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

Alamat Kunci 1 Kunci 2 0 1 2 24 3 4 5 38 60 6 61 83 7 51 40 8 94 9 20 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

(37)

• Membaca rekaman dalam buckets

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

(38)

Soal

• Misalkan akan dilakukan penyisipan

rekaman-rekaman dengan dengan key : 24, 18, 30, 28, 39, 13 dan 14

• Hash (key) = key mod 11, dimana 11 adalah ukuran table

(39)

Metode Chaining

• Dengan metode ini, harus disediakan ruang ekstra untuk menyimpan rekaman-rekaman yang mengalami tabrakan (terpisah dari

tabel hash)

• Pada setiap ruang alamat yang ada, tidak hanya menyimpan data rekaman namun juga menyimpan suatu nilai yang

menunjukkan alamat rekaman selanjutnya yang harusnya menempati ruang tersebut

• Setiap sinonim (nilai-nilai yang memiliki

home address sama) akan membentuk rantai (chain)

(40)

Metode Progressive Overflow

• Metode Open Addressing dengan Linear Probing

disebut juga sebagai Metode Progressive Overflow • Metode ini jika didesain dengan salah bisa

menimbulkan infinite loop, dimana alamat

alternatif tidak dapat ditemukan karena pencarian hanya memutar-mutar di tempat yang sama

Kelemahan ini dapat diatasi dengan cara :

Jarak pencarian diambil suatu nilai yang bukan merupakan faktor dari jumlah ruang alamat (n)

Banyaknya ruang alamat diambil suatu bilangan

prima, misalkan ada 10 data, maka disediakan ruang alamat sebanyak 11

(41)

Tugas

1. Dilakukan penyisipan rekaman-rekaman

dengan 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 pilih salah satu)

2. Dilakukan penyisipan rekaman-rekaman dengan 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 dan probe rata-rata! (Metode silahkan pilih salah satu)

(42)

Referensi

Dokumen terkait

Penelitian ini bertujuan untuk menganalisis kontribusi pendapatan usaha peternakan kambing terhadap tingkat pendapatan petani, skala usaha minimal yang memberikan

Contoh karya ilmiah dalam bidang yang diminati (khusus bagi yang mendaftar program M.Th.) PERSYARATAN YANG HARUS DISERTAKAN PADA SAAT PENDAFTARAN (Bagi Pendaftar program S-1

Sehingga setiap warga belajar sangat dimungkinkan dapat berperan sebagai sumber belajar bagi warga belajar lainnya (masyarakat lainnya). 3) Pusat pengetahuan dan

Bagi mahasiswa peserta KKN yang memilih sebagai relawan kampung tangguh akan mengikuti kegiatan program kampung tangguh yang telah ditetapkan oleh satgas

Salah satu algoritma Clustering adalah K- Means yang digunakan untuk mengelompokkan data menjadi beberapa kelompok dengan beberapa Cluster.[2] Data – data dipilih

Sebuah muatan ketiga q 3 = 20 µC ditempatkan seperti terlihat pada gambar (kanan). Berapa besar dan arah gaya elektrostatik yang bekerja pada muatan q1 sekarang ?.. Hitung

Sinabi niya rin na bagaman wala pang opisyal na pag-aaral and DECS sa naturang usapin, maaaring maging dahilan ng pagbagsak ng isang estudyante sa mga simpleng araling tulad

Gua selabe merupakan salah satu gua yang mewakili dari banyak gua yang masih relatif alami di sekitar kawasan Desa Karst Padang Bindu karena alasan teknis yaitu lokasi