Organisasi Berkas Langsung dan Metode Hashing

Slides:



Advertisements
Presentasi serupa
Teori Graf.
Advertisements

Pemrograman Terstruktur
Sistem Operasi (pertemuan 1) Memori Razief Perucha F.A
START.
KEAMANAN KOMPUTER ADITYO NUGROHO,ST TEKNIK PERANGKAT LUNAK UNIVERSITAS PGRI RONGGOLAWE TUBAN PERTEMUAN 3 – LANDASAN MATEMATIKA.
Matematika Diskrit Dr.-Ing. Erwin Sitompul
Subnetting Cara Cepat I (IP Kelas C)
Matematika Diskrit Dr.-Ing. Erwin Sitompul
LATIHAN SOAL HIMPUNAN.
9. BILANGAN BULAT.
KONSEP DASAR PROBABILITAS
WEEK 6 Teknik Elektro – UIN SGD Bandung PERULANGAN - LOOPING.
BARISAN DAN DERET ARITMETIKA
Induksi Matematika.
Rabu 23 Maret 2011Matematika Teknik 2 Pu Barisan Barisan Tak Hingga Kekonvergenan barisan tak hingga Sifat – sifat barisan Barisan Monoton.
Pencarian Biner.
Maju Mundur Organisasi Berkas
MANAJEMEN KOLISI.
ORGANISASI BERKAS.
Proses pencarian : Waktu Pencarian ≈ Jumlah perbandingan Bagaimana agar waktu pencarian konstan, artinya tidak tergantung pada jumlah perbandingan ? 
Mata Kuliah: MATEMATIKA DISKRIT Harni Kusniyati
PENGUKURAN GEJALA PUSAT / NILAI PUSAT/UKURAN RATA-RATA
SISTEM PERSAMAAN SIMULTAN
Tim Matematika Diskrit
Organisasi Berkas Sekuensial Berindeks
ORGANISASI FILE INDEKS SEKUENSIAL
Aritmatika Bilangan Biner
STRUKTUR DATA (12) organisasi berkas
Dasar Pemrograman ARRAY/LARIK.
Bahan Kuliah IF2120 Matematika Diskrit Oleh: Rinaldi Munir
9. BILANGAN BULAT.
SUKU BANYAK UN'06 UN'06.
HIMPUNAN Oleh Erviningsih s MTsN Plandi Jombang.
MATERI 7 SISTEM OPERASI Managemen Memori Oleh : Mufadhol, S.Kom
ALGORITMA DAN BILANGAN BULAT
ORGANISASI BERKAS RELATIF
ORGANISASI BERKAS RELATIF
LICH (Late Insertion Standard Coalesced Hashing)
BILANGAN BULAT (lanjutan 1).
METODE ALOKASI BERKAS DISUSUN OLEH : KELOMPOK 8 1.MUHAMMAD MEIVMART TAMYIZA( ) 2.WISNU ADI NUGRAHA( )
ORGANISASI BERKAS LANGSUNG
SISTEM MANAJEMEN FILE DEFIANA ARNALDY, M.Si
Sistem Berkas Materi 7,8 MANAJEMEN KOLISI.
Collision Collision merupakan kondisi dimana terdapat lebih dari satu key yang menempati slot address yang sama Collision dapat diminimalisir dengan cara.
Sistem Berkas Sesi 10 dan 11 MANAJEMEN KOLISI.
P14 Hash Function TIF42/SIF42
STRUKTUR DATA (HASHING).
Organisasi Berkas Langsung dan Metode Hashing
PROGRESSIVE OVERFLOW.
Pembagian Linear.
ORGANISASI BERKAS RELATIF
Organisasi Berkas Relatif 2
MANAJEMEN KOLISI.
Collision Collision merupakan kondisi dimana terdapat lebih dari satu key yang menempati slot address yang sama Collision dapat diminimalisir dengan cara.
File Hash Konsep File Hash Fungsi Hash Collision.
Organisasi Berkas Langsung
MANAJEMEN KOLISI (COALESCED HASHING)
Fungsi Hashing Abdul Haris,S.Kom.
ORGANISASI BERKAS RELATIF
ORGANISASI BERKAS RELATIF
Methode Hash.
Landasan Matematika Kriptografi
File Hash Konsep File Hash Fungsi Hash Collision.
MANAJEMEN KOLISI.
ORGANISASI BERKAS LANGSUNG
ORGANISASI BERKAS RELATIF
PROGRESSIVE OVERFLOW.
STRUKTUR DATA (HASHING).
Sistem Berkas Materi 9 dan 10
BUCKETS.
Transcript presentasi:

Organisasi Berkas Langsung dan Metode Hashing Maju Mundur Organisasi Berkas Langsung dan Metode Hashing Oleh : Riyanto, S.Kom

Organisasi Berkas Langsung Maju Mundur Organisasi Berkas Langsung Dengan organisasi berkas langsung, untuk menemukan suatu rekaman tidak melalui proses pencarian, namun bisa langsung menuju alamat yang ditempati rekaman Pada awalnya, untuk tujuan tersebut maka digunakan cara dengan menyimpan rekaman pada alamat yang sama dengan nilai kunci rekaman tersebut Contohnya : rekaman dengan kunci 100 akan disimpan di alamat 100 Sehingga untuk menemukan sebuah rekaman cukup melihat nilai kunci dan menuju ke alamat yang ditunjuk oleh kunci rekaman tersebut Contoh : untuk membaca rekaman dengan kunci 55 langsung saja menuju alamat 55

Dalam hal ini akan dibahas berbagai teknik yang dapat digunakan sebagai alternatif dalam merancang sistem Khususnya dalam menentukan lokasi rekaman yang akan disimpan serta pembacaan rekaman tersebut. Hal tersebut hanya mungkin terjadi bila bila kunci rekaman juga merupakan alamat lokasi rekaman. Dengan demikian waktu pencarian akan sangat baik, yaitu 1 probe untuk setiap rekaman yang dicari. Harus dimengerti harus tersedia 1 lokasi untuk setiap kemungkinan kunci rekaman. Meskipun Universitas bisa memiliki puluhan ribu mhs,pastilah ada beberapa bbrp nmr mhs yang kosong, karena beberapa alasan misal : sudah lulus, mengundurkan diri, DO, cuti, dll…SEHINGGA TIDAK SEMUA RUANG DIMANFAATKAN. Ini merupakan contoh dari implementasi daripada Korespodensi Satu-satu

kunci Ruang alamat 9999.9999.99999 9999.9999.99999

Kerugian Korespondensi Satu-Satu Maju Mundur Kerugian Korespondensi Satu-Satu Dengan menerjemahkan langsung dari kunci rekaman ke alamat rekaman, maka akan berlaku suatu hubungan korespondensi satu-satu antara kunci dengan alamat rekaman Hal ini menyebabkan harus disediakannya ruang yang sangat besar untuk menampung setiap kemungkinan nilai kunci yang ada Contohnya : untuk menyimpan data PNS yang kuncinya adalah NIP (terdiri dari 9 digit) dibutuhkan sebanyak satu milyar alamat, karena kemungkinan yang dapat muncul dari kode 9 digit adalah mulai dari angka 000000000 hingga 999999999)

Kerugian Korespondensi Satu-Satu Maju Mundur Kerugian Korespondensi Satu-Satu Selain itu dari cara korespondensi satu-satu juga akan mengakibatkan banyaknya pemborosan ruang penyimpan, atau terjadi banyak alamat yang tidak dipergunakan alias kosong Contohnya : Kode NIP diawali dengan tiga digit kode departemen, yang tidak mungkin ada kode departemen 000. Sehingga alamat 000000000 sampai 000999999 (sebanyak sejuta alamat) tidak akan terpakai karena tidak ada rekaman dengan NIP di antara range tersebut

Maju Mundur Metode Hashing Untuk mengatasi kerugian yang timbul dari cara korespondensi satu-satu yang telah disebutkan itu, digunakan metode lain yang dinamakan Metode Hashing Metode Hashing intinya digunakan untuk mengurangi banyaknya ruang alamat yang digunakan serta melakukan pemetaaan (melakukan konversi) dari kunci rekaman yang memiliki cakupan nilai yang luas ke nilai alamat yang memiliki cakupan yang telah dipersempit

Maju Mundur Fungsi Hash Untuk melakukan pemetaan (konversi) dari kunci rekaman ke alamat rekaman digunakan suatu fungsi yang dinamakan Fungsi Hash Output dari fungsi hash dinamakan sebagai home address dari rekaman yang kuncinya diproses Bentuk fungsi hash :

Macam-Macam Fungsi Hash Maju Mundur Macam-Macam Fungsi Hash Fungsi Modulo Home address dicari dengan cara mencari sisa hasil bagi nilai kunci dengan suatu nilai tertentu Dengan nilai n dapat berupa 2 kemungkinan, yaitu : Banyaknya ruang alamat yang tersedia Bilangan prima terdekat yang berada di atas nilai banyaknya data, setelah itu banyaknya ruang alamat disesuaikan dengan n

Macam-Macam Fungsi Hash Maju Mundur Macam-Macam Fungsi Hash Metode Pemotongan Home address dicari dengan memotong nilai kunci ke jumlah digit tertentu yang lebih pendek Contoh : Nilai NIP yang tadinya 9 digit dipotong menjadi hanya 3 digit dengan mengambil 3 nomor terakhir. Misalnya : NIP 132312090 akan memiliki home address 090 atau 90

Macam-Macam Fungsi Hash Maju Mundur Macam-Macam Fungsi Hash Metode Pelipatan Diandaikan kunci rekaman ditulis di atas kertas dan dilipat ke dalam bagian-bagian yang sama panjang, lalu setiap bagian dijumlahkan Contoh, Nilai NIP yang 9 digit dibagi ke dalam 3 bagian masing-masing 3 digit, terus dilipat pada bagian-bagian tersebut. NIP 132312090 akan menjadi 3 bagian yaitu 231, 312, dan 090 yang dijumlahkan dan menghasilkan 633 (dengan carrier) atau 533 (tanpa carrier)

Macam-Macam Fungsi Hash Maju Mundur Macam-Macam Fungsi Hash Metode Pengkuadratan Home address dicari dengan mengkuadratkan setiap digit pembentuk kunci, lalu semua hasilnya dijumlahkan Contohnya : NIP 132312090 memiliki home address = 12+32+22+32+12+22+02+92+02 = 1+9+4+9+1+4+0+81+0 = 104

Macam-Macam Fungsi Hash Maju Mundur Macam-Macam Fungsi Hash Penambahan Kode ASCII Metode ini dapat digunakan 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

Kriteria Fungsi Hash yang Baik Maju Mundur 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 home address saja

Maju Mundur Collision (Tabrakan) Dengan menggunakan metode hashing, maka secara otomatis hubungan korespondensi satu-satu antara kunci rekaman dengan alamat rekaman menjadi hilang Selalu ada kemungkinan terjadinya peristiwa dimana terdapat dua buah rekaman dengan kunci yang berbeda namun memiliki home address yang sama Kejadian ini dinamakan sebagai Collision atau Tabrakan atau Tumbukan

Manajemen Kolisi Makin sedikit jumlah kolisi, maka makin baik fungsi hashing tersebut karena makin sedikit jumlah waktu yang diperlukan untuk melihat tempat yang berbeda dalam menemukan rekaman yang diinginkan. Beberapa cara untuk mengantisipasi kolisi adalah mengganti fungsi hashing, atau mengkombinasikan faktor-packing. Faktor packing suatu berkas adalah perbandingan (atau rasio) antara jumlah rekaman yang disimpan dalam berkas dengan kapasitas berkas, atau dapat dinyatakan sbb :

Resolusi Kolisi Yang menjadi tujuan utama metoda resolusi 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 Salah satu penyelesaian yang dapat dilakukan adalah memberikan petunjuk pada lokasi rekaman sinonim.

Maju Mundur Collision Resolution 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 Proses pencarian alamat lain ini dinamakan sebagai Collision Resolution

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 38,51,40,61,83,24, dan 60 Langkah I : Hash semua kunci dengan kunci modulus 11 (11 adalah kapasitas berkas), maka akan dihasilkan : Kunci Key mod 11 38 5 51 7 40 61 6 83 24 2 60

alamat Rekaman Medan Penghubung 1 2 24 3 4 5 38 8 6 61 9 7 51 10 60 83 II. Masukkan ke alamat : alamat Rekaman Medan Penghubung 1 2 24 3 4 5 38 8 6 61 9 7 51 10 60 83 40 Untuk membaca masing-masing rekaman 1 kali diperlukan rata-rata probe 1.4 diperoleh dari total jumlah probe dibagi jumlah rekaman.

Rumus Probe rata-rata = probe total jumlah rekaman Kunci Kunci mod 11 probe 38 5 1 51 7 40 2 61 6 83 24 60 Probe total 10 Jadi probe rata-rata 10/7 Rumus Probe rata-rata = probe total jumlah rekaman

Metode Collision Resolution Maju Mundur Metode Collision Resolution Metode Open Addressing Metode Chaining Metode Coalesced Hashing Metode Chained Progressive Overflow(Linier Probing) Metode Bucket

Metode Open Addressing (Metode Untuk mengatasi Kolisi /tubrukan) Maju Mundur Metode Open Addressing (Metode Untuk mengatasi Kolisi /tubrukan) 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

Contoh Soal Linear Probing Maju Mundur 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

Jawaban Linear Probing Maju Mundur Jawaban Linear Probing Probe total = 19 Probe rata-rata = 19/8

Penggunaan Buckets 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.

Contoh : rekaman-rekaman dengan kunci 38,51,40,61,83,24,60,20 dan 94 Alamat Kunci 1 Kunci 2 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 40 61 6 83 24 2 60 20 9 94 3 Probe total 11

Jadi probe rata-rata = 11/9 Membaca rekaman dalam buckets Kunci Home Address Proses Probe 38 5 1 51 7 40 61 6 83 24 2 60 20 9 94 6,7,8 3 Probe total 11 Jadi probe rata-rata = 11/9

Maju Mundur 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)

Metode Coalesced Hashing Maju Mundur Metode Coalesced Hashing Hampir sama dengan Chaining, namun tidak menyediakan ruangan ekstra Bila terjadi tumbukan/kolisi dalam pemasukan alamat/rekaman, maka cari lokasi paling akhir/memiliki alamat paling besar

Metode Progressive Overflow Maju Mundur 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

Awal =1 Akhir = n While awal <= akhir do Berikut = awal + kunci (dicari)-kunci (awal) (akhir-awal) Kunci (akhir)-kunci(awal) If kunci(cari)=kunci (berikut) then Pencarian berakhir Else if kunci (cari) > kunci (berikut) then Awal = berikut + 1 Else akhir =berikut-1 End Rekaman tidak ditemukan end