TUGAS BASIS DATA FILE ORGANIZATION IF2250 SEMESTER GENAP 2013/2014

dokumen-dokumen yang mirip
ORGANISASI FILE. Alif Finandhita, S.Kom

ORGANISASI FILE BASIS DATA I - DIAN DHARMAYANTI

File Organization. IKI20410 Basis Data Aniati Murni Fakultas Ilmu Komputer Universitas Indonesia

Fungsi Hash dan Metode Collision Resolution

ORGANISASI FILE. Pendahuluan Sasaran Manajemen File Fungsi Manajemen File Arsitektur File Performansi File Parameter Performansi File Struktur File

ORGANISASI BERKAS RELATIF

Penerapan Fungsi Hash dalam Penempatan Parkir Mobil

Silabus. 3. Media Penyimpanan Berkas. 6. Organisasi File. 7. Collision. 2. Manajemen Data dan Konsep Database

FILE BERKAS LANGSUNG. Rudi Susanto

Analisis Cara Kerja Beragam Fungsi Hash Yang Ada. Christian Angga

Organisasi File Multi Key y( (Index)

sistem basis data ti ti ukdw Indexing Materi Minggu ke-10 Teknik Informatika Universitas Kristen Duta Wacana Yogyakarta 04/07/13 budi susanto 1

Organisasi File. Rudi Susanto

BEBERAPA METODE PENYELESAIAN COLLISION PADA ORGANISASI BERKAS SECARA HASHING

Organisasi File Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika. Caca E. Supriana, S.Si.,MT. Si

ORGANISASI BERKAS RELATIF

Organisasi Sequential. Rudi Susanto

BAB 4 ORGANISASI BERKAS RELATIF

Struktur file dasar. Pembahasan struktur file meliputi :

BAB 2 LANDASAN TEORI. 2.1 Pengertian Text Mining

Penerapan BFS dan DFS dalam Garbage Collection

Pengertian Sistem Berkas Konsep Dasar Berkas

Operating System. File System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Konsep Dasar Sistem Berkas. Rudi Susanto

DBMS & Organisasi File

TUGAS 4 Makalah Organisasi Berkas Indexed Sequential

Cara Kerja B-tree dan Aplikasinya

SEARCHING (PENCARIAN)

Sekumpulan field yang bergambung sebagai sebuah unit yang memiliki ukuran tertentu

Penggunaan Pohon Huffman Sebagai Sarana Kompresi Lossless Data

Praktikum Algoritma dan Struktur Data 2010

FILE SEKUEN BERINDEKS

File Sequensial Berindeks

BAB IX LINKED LIST (SENARAI BERANTAI)

3. Apa kekurangan paging sederhana dibandingkan dengan paging pada virtual memory?

SISTEM MANAJEMEN FILE. Haryono Setiadi, ST, M.Eng D3 Ilkom UNS

Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering

Database System 8 Hash-Based Indexing

Collision Resolution

17/04/2015 SISTEM OPERASI

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

B-Tree dan Penerapan di Basis Data

BERKAS DAN AKSES MATERI KULIAH

Pemanfaatan Directed Acyclic Graph untuk Merepresentasikan Hubungan Antar Data dalam Basis Data

Pengenalan Trie dan Aplikasinya

Analisis Kompleksitas Algoritma dalam Operasi BigMod

SISTEM MANAJEMEN FILE

Aplikasi Strategi Algoritma dalam Pembagian Kelompok Tugas Besar

BAB IX LINKED LIST (SENARAI BERANTAI)

ORGANISASI FILE. Hani Irmayanti, M.Kom

Implementasi Struktur Data Rope menggunakan Binary Tree dan Aplikasinya dalam Pengolahan Teks Sangat Panjang

Penggunaan Nilai Hash untuk Sinkronisasi Direktori pada Layanan Cloud Storage

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktivitas Pembelajaran

Garis-Garis Besar Program Pembelajaran Berbasis Kompetensi

Atribut Deskripsi data yang bisa mengidentifikasikan entitas Missal : entitas mobil adalah no. mobil merk mobil, wrna mobil dsb

ORGANISASI FILE. PDF Compressor Pro. Sistem Berkas HO-04 Organisasi File Sudirman S.Kom

P14 Hash Function TIF42/SIF42

Pemanfaatan Pohon Biner dalam Pencarian Nama Pengguna pada Situs Jejaring Sosial

SATUAN ACARA PERKULIAHAN MATA KULIAH BERKAS DAN AKSES (MI) KODE / SKS : KK / 2 SKS

03 LINKED LIST. Slide 0 voice. Slide 1 voice. Slide 2 voice. Thompson Susabda Ngoen 1 P a g e

Algoritma Pemrograman & Struktur Data

Peranan Graf/Tree dalam sejarah perkembangan DNS Internet

1. Pendahuluan. 2. File Implementasi Penyimpanan File

Bab 10. Implementasi Sistem File POKOK BAHASAN: TUJUAN BELAJAR: 10.1 STRUKTUR SISTEM FILE

ALGORITMA MAC BERBASIS FUNGSI HASH SATU ARAH

Peningkatan Keamanan Kunci Enkripsi Menggunakan Perubahan Kunci Berkala dan Akses Ganda

Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser

Aplikasi String Matching Pada Fitur Auto-Correct dan Word-Suggestion

Penggunaan Algoritma Divide and Conquer Dalam Pewarnaan Graf

ADI RACHMANTO, S.KOM., M.KOM REKAYASA DESAIN SYSTEM PROGRAM STUDI AKUNTANSI UNIKOM

Jurnal Ilmiah ILKOM Volume 8 Nomor 3 (Desember 2016)

Disk & Memory Semester Ganjil 2014 Fak. Teknik Jurusan Teknik Informatika.

ALGORITMA DAN STRUKTUR DATA

Optimasi Konversi String Biner Hasil Least Significant Bit Steganography

FILE BERINDEKS MAJEMUK

UNIVERSITAS SAM RATULANGI MANADO FAKULTAS TEKNIK, JURUSAN TEKNIK ELEKTRO Program Studi S-1 Teknik Informatika

BAB 1 SISTEM FILE. Klasifikasi Data. KLasifikasi File

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

Penerapan Algoritma Greedy Pada Pembacaan Blok di Hard Disk

Penerapan Algoritma BFS dan DFS dalam Mencari Solusi Permainan Rolling Block

Cache Memori (bagian 1)

Aplikasi Pohon Prefix pada Pencarian Kontak di

IMPLEMENTASI PERANGKAT LUNAK DENGAN PENERAPAN PENCARIAN RELATIF (HASH SEARCH)

Pengaplikasian Algoritma Knuth-Morris-Pratt dalam Teknik Kompresi Data

Kode MK/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Queue (Antrian)

TUGAS AKHIR SISTEM BERKAS HASH FILE DAN MULTIRING FILE

MAKALAH SISTEM BERKAS FILE PILE

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BERKAS * KODE: KK

OPTIMALITAS CELLAR DALAM COALESCED HASHING UNTUK MENDUKUNG PROSES SEARCHING PADA BASIS DATA

Rancangan Database. Database. File. Record. Data item atau field. Characters

BAB X Hashing. typedef char *NomorBuku[100]; Buku = NomorBuku;

Aplikasi Algoritma String Matching dan Regex untuk Validasi Formulir

Topic Complexity of Hashing Search & Binary Search Tree Algorithm

ORGANISASI BERKAS RELATIF STRUKTUR & ORGANISASI DATA 1

INTERNET PROGRAMMING DATABASE

Penerapan Teknik Binary Search Tree Sebagai Alternatif Penyimpanan Data

MAKALAH SISTEM OPERASI

Materi 7 ORGANISASI BERKAS RELATIF

KONSEP DASAR STRUKTUR & ORGANISASI DATA 1

Transkripsi:

TUGAS BASIS DATA FILE ORGANIZATION IF2250 SEMESTER GENAP 2013/2014 K01 : Darwin Prasetio (13512001) Jan Wira Gotama Putra (13512015) Melvin Fonda (13512085) TEKNIK INFORMATIKA SEKOLAH TEKNIK ELEKTRO DAN INFORATIKA INSTITUT TEKNOLOGI BANDUNG

Makalah ini menjelaskan prinsip mengorganisasi file dalam sistem basis data dengan metode hash dan metode operasi-operasi pada record pada metode ini. Makalah ini juga menganalisis dan membandingkan metode hash dengan metode-metode lainnya(heap, Sequential, Multitable Clustering) berdasarkan parameter-parameter tertentu. Index Terms Database, Database File Organization, Hash. I. PENDAHULUAN Sistem basis data adalah suatu sistem untuk mengorganisasi data berikut metode operasi-operasi terhadap basis data. Pada suatu sistem, seringkali manusia bekerja dengan data komputer yang banyak. Untuk mempermudah mengorganisasi data pada suatu sistem, diperlukan suatu sistem basis data untuk menyimpan dan membaca data secara cepat. Salah satu organisasi file dalam sistem basis data menggunakan metode hash yang mempunyai kelebihan dan kekurangan dibanding metode lainnya. II. ISTILAH TERKAIT 1. Collision [1] Bila pemetaan dua kunci hashing yang menghasilkan alamat sama, maka dinamakan terjadi collision (benturan). 2. Fungsi hash [1] Fungsi hash adalah sebuah fungsi aritmatka yang mentransformasikan sebuah kunci menjadi sebuah alamat yang digunakan untuk menyimpan atau mengekstraksi record. 3. Record Pada sistem basis data, record merupakan sekumpulan informasi yang tersusun atas atribut-atribut pembentuknya, berisikan sebuah informasi mengenai suatu data. 4. Fetch record Fetch record merupakan kegiatan membaca data ke dalam memory. 5. Get-next record Get-next record adalah kegiatan mengambil record berikutnya berdasarkan kriteria yang sama. 6. Insert a record Insert a record adalah kegiatan menyisipkan sebuah record baru. 7. Update a record Update a record adalah kegiatan memperbaharui isi suatu record. 8. Retrieve all records Retrieve all records adalah kegiatanuntuk membaca seluruh record. 9. Reorganization Reorganization adalah kegiatan menghapus record yang tidak valid, mengosongkan space untuk data baru dan mengatur ulang pengelompokkan data. 10. Memory Memory adalah perangkat keras untuk menyimpan data pada komputer. 11. Memory Space Memory space adalah kapasitas ruang penyimpanan data pada komputer. III. PARAMETER PERFORMANSI FILE 1. T F : waktu yang dibutuhkan untuk mem-fetch sembarang record dari file. 2. T N : waktu yang dibutuhkan untuk mendapatkan record berikutnya di dalam suatu file. 3. T I : waktu yang dibutuhkan untuk memperbaharui isi file dengan menambahkan sebuah record baru. 4. T U : waktu yang dibutuhkan untuk memperbaharui file dengan merubah isi record. 5. T X : waktu yang dibutuhkan untuk membaca seluruh file. 6. T Y : waktu yang dibutuhkan untuk mereorganisasi file. IV. PEMBAHASAN Hashing adalah sebuah metode untuk memetakan data ataupun mengambil data dengan cara yang efisien berdasarkan kunci yang didapat dari fungsi hash. Pada metode hashing kita menempatkan data pada suatu tempat tertentu, dimana tempat untuk setiap data unik satu sama lainnya untuk memudahkan penyimpanan maupun pencarian data. Fungsi hash adalah fungsi yang memetakan data berdasarkan suatu kunci tertentu dimulai dari range terkecil sampai range maksimal. Pada sistem basis data, kita definisikan terlebih dahulu besar blok memory (statis) yang akan digunakan untuk menyimpan data. Bila tidak diketahui berapa banyak data yang akan ditampung, kita dapat menggunakan sistem dynamic hashing dimana blok memory berkembang seiring kebutuhan. Kunci keberhasilan organisasi dengan hash adalah membuat suatu fungsi hash yang baik, karena performansi sistem dengan penggunaan metode hashing bergantung pada fungsi hash. Berikut ini adalah contoh penyimpanan sebuah record mahasiswa pada sistem basis data mahasiswa dengan huruf pertama dan huruf terakhir nama panggilan mahasiswa sebagai kunci fungsi hash. Ilustrasi1.Tabel Contoh penyimpanan menggunakan hashing. A Mekanisme Operasi-operasi basis data : 1. Fetch record Untuk mem-fetch sebuah record yang terdapat dalam data, kita memetakan kunci dari query yang diminta

oleh user untuk kemudian dilewatkan ke fungsi hash., kemudian fungsi hash akan menunjukkan alamat dari data yang diminta oleh user dan kemudian data dipindahkan ke memory buffer untuk diproses lebih lanjut. 2. Get-next record Untuk mendapatkan record selanjutnya setelah kita selesai membaca sebuah record, manfaatkan pointer pada record sebelumnya yang menunjuk pada address di mana record ke- n+1 disimpan setelah record ke n. Dengan memanfaatkan pointer maka waktu untuk mendapatkan record ke- n+1 dapat dikurangi. Jika kita tidak menggunakan pointer, maka sistem harus menelusuri seluruh data untuk mencari record ke-n+1. Ilustrasi 2. Get-next record memanfaatkan pointer. Bila tidak ada pointer, kita dapat memanfaatkan konsep dense index files. 3. Insert a record Untuk menyisipkan sebuah record baru, kita perlu memetakan kunci fungsi hash untuk mendapatkan alamat penyimpanan, kemudian langsung menyisipkan record yang baru ke alamat tersebut. Berikut contoh penyisipan data mahasiswa dengan fungsi hash yaitu jumlah seluruh kode ascii huruf-huruf pertama kata-kata penyusun nama mahasiswa di modulo 100. record yang pertama direkam akan dicatat utuk kemudahan operasi retrieve all records. 4. Update a record Untuk memperbaharui sebuah record, kita harus mengetahui dimana record tersebut berada, alamat sebuah record dicari menggunakan kunci hash yang dipetakan melalui fungsi hash, kemudian mencari atribut-atribut yang ingin diperbaharui dan menimpa nilai yang lama. Kasus bila ternyata alamat hasil fungsi hash tidak berisikan kunci yang sama (artinya terjadi collision saat penyisipan), berarti kita harus mencari alamat record tersebut berada dimana berdasarkan strategi hash kita untuk penanganan collision, kasus ini mirip seperti saat fetch a record, tetapi record tersebut tidak berada pada alamat yang bersangkutan. 5. Retrieve all records Alamat record pertama yang direkam telah tersimpan, maka kita dapat menelusuri record-record berikutnya sampai habis untuk membaca semua record. Bila tidak ada pointer, kita dapat memanfaatkan konsep dense index files. 6. Reorganization Dalam metode insert a record, terdapat peluang untuk mencapai collision dimana alamat hasil fungsi hash sudah berisikan record. Dalam hal ini,beberapa strategi diterapkan untuk menghindari collision ini seperti contohnya Linear Probing, Quadratic Probing, Separate Probing, dan Multi Hash Function. Dengan menggunakan strategi Linear Probing, ataupun Separate Chaining, record akan tersusun dengan baik dan blok kosong yang tidak terpakai dapat diminimalisir sehingga reorganisasi file mungkin kurang dibutuhkan untuk data yang padat. Sedangkan pada kasus Multi Hash Function (Quadradtic Probing juga dapat menghasilkan kasus yang serupa) dapat menghasilkan tabel seperti di bawah ini : Ilustrasi 3.Penyisipan Pada beberapa kasus, terjadi collision dimana alamat hasil fungsi hash sudah berisikan record. Bila hal tersebut tejadi, maka ada beberapa strategi yang dapat kita lakukan, misalnya membuat 2 fungsi hash, bila fungsi pertama menghasilkan collision maka record akan dipetakan kembali menggunakan fungsi kedua. Strategi-strategi tersebut dibahas lebih dalam pada bagian Strategi hash. Kelakuan sistem database saat collision terjadi tergantung strategi mana yang kita implementasikan. Saat menyisipkan data baru, data sebelumnya akan menunjuk ke data baru yang dianggap sebagai next record (sesuai urutan perekaman). Alamat Ilustrasi 4. Multi Fungsi hash. Memetakan ke blok data berbeda.

Hal ini menyebabkan blok-blok baru yang dialokasikan sebagai tempat untuk record yang mengalami collision memiliki alamat-alamat kosong (dalam gambar di atas diperlihatkan hanya 2 alamat yang digunakan sedangkan memory yang dialokasikan untuk satu blok adalah 50). Dalam keadaan seperti ini lah akan dilakukan reorganisasi file sehingga blok-blok tersebut dapat digunakan semaksimal dan se-efisien mungkin. Prinsip reorganisasinya yaitu blok-blok yang hanya memiliki sedikit record (batas sedikit tergantung pengimplementasi) disisipkan ke blok-blok lain yang memiliki memory kosong (dapat dibantu oleh indeks untuk mencari blok memory kosong). Pada contoh diatas, saat reorganisasi, bisa memindahkan kedua record di blok 2 ke alamat kosong di blok 1, kemudian blok 2 dibebaskan. B Strategi hash : 1. Linear Probing Bila sebuah pemetaan kunci oleh fungsi hash ternyata sudah ditempati oleh record tertentu, maka cara paling sederhana adalah mencari posisi kosong terdekat berikutnya, metode ini disebut Linear Probing. Separate Chaining adalah membuat list berkait saat terjadi collision, ketika alamat pemetaan ternyata sudah berisi suatu record, maka kita sambung saja record tersebut menggunakan struktur data list berkait. Ilustrasi 6. Separate Chaining. Nama sebagai Kunci Untuk kasus pencarian data kita harus membaca suatu alamat sampai habis (baca sampai ujung list berkait). List berkait tersebut mempunyai 2 pointer yaitu pointer tehadapat elemen list berikutnya dan pointer terhadap next record, karena belum tentu elemen list berikutnya merupakan next record. 4. Multi Hash Function Bila terjadi collision atau data yang kita maksud (pencarian maupun pembaharuan) ternyata bukan di alamat hasil fungsi, kita dapat memetakan kembali kunci fungsi hash ke fungsi hash kedua, fungsi hash ketiga dan seterusnya. Fungsi hash bukan pertama ini dapat memetakan record ke block data yang sama ataupun block data yang berbeda. Ilustrasi 5. Linear Probing. Nama sebagai Kunci penyisipan. Begitu pula untuk pencarian maupun pembaharuan data, bila data yang kita maksud ternyata bukan di alamat hasil fungsi, maka lanjut mencari ke alamatalamat berikutnya. 2. Quadradtic Probing Linear Probing hanya mencari lokasi kosong terdekat, bila collision banyak terjadi maka metode hash bisa menjadi sama seperti sequential. Bila hasil fungsi hash merupakan K, maka kita akan mencari lokasi kosong di K+1, K+4, K+9 dan seterusnya. Metode seperti ini disebut Quadradtic Probing. Begitu pula untuk pencarian maupun pembaharuan data, bila data yang kita maksud ternyata bukan di alamat hasil fungsi, maka lanjut mencari ke alamat-alamat berikutnya. 3. Separate Chaining Ilustrasi 4. Multi Fungsi hash. Memetakan ke blok data berbeda. Ketika terjadi overflow,dalam artian semua alamat hasil pemetaan kunci seluruh fungsi hash telah berisi record maka strategi resolusinya menggunakan Linear Probing dimana kita mencari tempat kosong terdekat.

V. PERFORMANSI AKSES banyak memory kosong bila tidak pernah ada kunci yang dipetakan ke alamat memory bersangkutan. Reorganisasi pada hash walau mengefektifkan memory, tetapi dapat menyebabkan waktu operasi data menjadi meningkat. Metode hash ini baik untuk kasus data yang unik, semakin berbeda karakteristik kunci data maka semakin cocok fungsi hash ini dipakai, karena collision dapat diminimalisir dan proses operasi terhadap data lebih cepat (alamat pemetaan makin unik). Contohnya adalah sistem basis data mahasiswa dimana kuncinya merupaan NIM mahasiswa, produk supermarket (barcode produk unik), perpustakaan (ISBN buku unik). VI. PENGARUH INDEKS Tabel 2. Perbandingan dengan model lain Tabel 3. Perbandingan dengan model lain Parameter waktu diukur berdasarkan kompleksitas algoritma. Secara prinsip Hash merupakan metode yang relatif sulit untuk diimplementasikan dibandingkan metode-metode lainnya karena banyak aspek yang perlu diperhatikan. Heap unggul dalam kesederhanaan implementasi tetapi mudah terjadi kekusutan pencarian record. Sequential dan multitable clustering unggul dalam hal efektivitas memory space tetapi tidak terlalu optimal dalam hal waktu, contohnya untuk operasi penyisipan, pada kasus banyak kunci dengan awalan mirip walau dibantu indeks sekalipun tetap membutuhkan waktu pencarian ruang kosong. Reorganisasi file pada ketiga metode ini selain mengefektifkan memory, juga dapat mempercepat waktu operasi. Hash unggul dalam hal waktu untuk melakukan operasioperasi yang sering dilakukan berupa fetch a record, insert a record dan update (dengan kompleksitas algoritma O(1)) bila fungsi hash dapat dirancang dengan sangat baik. Pada kenyataannya, pada sistem basis data sangatlah sulit untuk tidak ada collision sama sekali, sehingga kita hanya dapat mengurangi hal tersebut melalui strategi-strategi yang sudah ada. Hash kurang unggul dalam hal efektivitas memory space karena bisa ada Indeks secara umum dapat membantu dalam hal mekanisme operasi. Indeks yang dgunakan dapat membantu menemukan sub-blok alamat kosong pada blok yang telah dialokasikan, ketika overflow terjadi, maka akan dicari alamat kosong melalui indeks untuk diletakkan pada alamat tersebut. Dalam hal reorganisasi, bila terdapat blok dengan jumlah record yang sedikit (batas sedikit ditentukan oleh pembuat sistem) maka data tersebut akan dipindah ke alamat kosong (dengan bantuan indeks) untuk melepas memory pada blok bersangkutan, hal ini mempercepat proses dibanding harus menelusuri terlebih dahulu blok lain mana yang masih mempunyai alamat kosong. Indeks yang cocok digunakan dapat berupa dense index files, menyimpan semua kunci yang pernah muncul, kemudian memetakan kunci-kunci tersebut menjadi alamat dengan fungsi hash, dari hal tersebut kitadapat menghitung berapa alamat yang kosong pada suatu blok (alamat awal dan akhir suatu blok diketahui) tanpa harus menelusurinya. Dense index files juga dapat dimanfaatkan untuk operasi retrieve all records maupun get-next record dengan mengindeks sesuai urutan kunci. REFRENSI DAN BACAAN [1] Patil, Varsha H. Data Structures Using C++. India : Oxford University Press, 2012. [2] Silberchatz, Abraham. Korth, Henry F. S. Sudharsan. Database System Concepts 6 th Ed. New York : Mc Graw Hill, 2011. [3] http://ecomputernotes.com/database-system/rdbms/types-of-fileorganization. Diakses pada Selasa, 4 Februari 2014 (17:07 WIB) [4] http://www.cs.cmu.edu/~clo/www/cmu/datastructures/lessons/l esson11_2.htm. Diakses pada Rabu, 5 Februari 2014 (09:36 WIB) [5] A.T Akinwale dan F.T. Ibharalu. The Usefulness of Multilevel Hash Tables with Multiple Hash Functions in Large Database. Annals : Computer Science Series. 7th Tome 1st Fasc. 2009. [6] http://www.cise.ufl.edu/~sahni/dsaac/enrich/c11/overflow.htm. Diakses pada Rabu, 5 Februari 2014 (10:11WIB). PERNYATAAN Dengan ini kami menyatakan bahwa makalah yang kami tulis ini adalah tulisankamia sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi. Bandung, 10 Februari 2013

Darwin Prasetio (13512001) Jan Wira Gotama Putra (13512015) Melvin Fonda (13512085)