P. 1
Organisasi File

Organisasi File

|Views: 330|Likes:

More info:

Published by: allvy-dieni-noer-1167 on Nov 19, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOCX, PDF, TXT or read online from Scribd
See more
See less

12/06/2013

pdf

text

original

ORGANISASI FILE Agar dapat mengacu pada record-record yang diinginkan pada suatu file maka file

filenya dibentuk dalam aturan-aturan atau organisasi yang teratur dan konsisten. Ada bermacam organisasi dari file yang secara umum dikelompokkan ke dalam system pengorganisasian file dasar sebagi berikut : 1. 2. 3. 4. 5. 6. Pile file sequential file index sequential file multiple index file direct file multiring file

1. Pile File
Pile File adalah pengorganisasian file struktur dasar yang paling sederhana dan tak berstruktur. Struktur ini jarang digunakan secara praktis namun basis evaluasi struktur lainnya. Data pada pile file tidak dianalisis untuk memenuhi kategori tertentu dan panjang rekord dapat bervariasi Karakteristik struktur pile sebagai berikut : • • • • • • • Bentuk kumpulan data sebelum diproses Data sulit untuk diorganisir Data ditumpuk secara kronologis Tidak ada keterkaitan antara ukuran, rekord, dan blok Elemen data beragam dan berbeda setiap rekord Data disimpan lengkap berserta nama dan nilai atribut Komponen pile file hanya berisi data NIP Nama Tgl-lahir Pekerjaan

No.record

1

09021147

Budi

09-091988

Operator Warnet

2

09021148

Umar

20-12-1989

Tehnisi Jaringan

Bentuk record mungkin saja variable length dan elemen data bisa tidak sama

Maka dalam Pile record-record akan disimpan sebagai berikut : Nim=09021147;Nama=Budi;tgl-lahir=09-09-1988

Record –1 Nim=0017021;Nama=Umar;tgl-lahir=20-12-1960;Pekerjaan=Marketing Record –2

Manfaat: • Data tersusun secara kronologis • Mudah dimanfaatkan, data yang datang langsung disimpan ke dalam file tanpa proses apapun • Mudah dibuat (dicreate), tapi report untuk mencari sesuatu dari dalamnya • Kumpulan data manual biasanya adalah sebuah pile file

Reorganize the file • Bila delete pada file dilakukan dengan menggunakan tombstone. Get the next record • Karena data tidak diurutkan. sehingga proses pencarian data bisa berlangsung lebih cepat • Kadang reorganisasi pile file diperlukan untuk menata ulang susunan data secara kronologis . Read the entire file • Kegiatan ini dapat dilaksanakan dengan sangat mudah • Karena tinggal membaca satu-persatu sesuai dengan kronologis susunan datanya 8. karena file tidak terstruktur Data bisa diinsert di bagian file yang manapun 5. Fetch a record • Waktu pencarian bisa sangat lama • Data mungkin berada dimana saja di dalam file • Sangat dianjurkan untuk membagi file dalam block-block • Pencarian dilakukan per block • Tetapi tidak tertutup kemungkinan data baru ditemukan pada block yang terakhir 3. Delete a record • Record yang akan didelete bisa berada dimana saja di dalam file • Pencarian akan bisa memakan waktu yang lama karena bentuk file yang tidak terstruktur 6. maka reorganize perlu dilakukan secara periodik • Agar file menjadi lebih ramping. Record Size • Isi file ditentukan oleh 2 hal: • Menyimpan data yang dibutuhkan • Data yang belum disimpan tidak perlu mendapat perhatian sama sekali 2. maka successor record mungkin berada dimana saja • Sehingga pencarian harus dilakukan pada seluruh file • Sangat dianjurkan untuk memanfaatkan pembagian dalam block seperti pada fetch 4. • • Insert a record Bisa dilakukan dengan sangat cepat.• Sebagai perbandingan dengan bentuk-bentuk file komputer lainnya Performance 1. Modify a record • Record yang akan dimodify dalam kondisi yang sama seperti yang akan di delete • Yaitu bisa berada dimana saja di dalam file • Sehingga pencarian data bisa berlangsung sangat lama 7.

sequential file dapat diakses secara direct • Direct access hanya dapat dilakukan pada atribut yang dipakai untuk mengurutkan file  •  • • Sequential search Pembacaan record per record dari awal Binary search Fetch ditengah-tengah file Kalau key dari file lebih kecil dari yang dicari fetch ke tengah sisa file dibawahnya .SEQUENTIAL FILE Adalah: • File dengan data yang tersusun dalam suatu urutan tertentu • Tiap record mempunyai field yang sama & dengan susunan yang sama • Bentuk file terlihat menyerupai tabel Struktur file • Untuk memungkinkan record tersusun secara urut perlu ditentukan key dari tiap record • Satu atau beberapa atribut akan menjadi key atribut • Pengurutan record dapat dilakukan berdasarkan primary keynya • Pembacaan secara serial (satu persatu) sesuai dengan urutan keynya disebut pembacaan secara sequential Nip 000021 000032 000042 Nama Abu Bakar Fatimah Asma Pekerjaan Manajer Sekretaris Presiden direktur Keterbatasan: • Bentuk record harus fixed length • Sehingga efisien dalam tempat (storage) tetapi kurang fleksibel • Update tidak mudah dilakukan. memakai pola transaksi – old master file – new master file • Kalau kedalam record ingin ditambahkan atribut maka seluruh file harus direorganisasi • Seringkali pada sebuah file sequential disediakan tempat untuk penambahan atribut Kegunaan: • Banyak dipakai pada metoda batch processing • Kalau beberapa file ingin digabungkan. maka tiap file harus diurutkan dalam pola pengurutan yang sama Performance 1. • file • • • Fetch a record Biasanya dengan memakai cara serial search (sequential reading) dari awal Sequential file bisa disimpan pada: Sequential Access Storage Device (Magnetic Tape) Direct Access Storage Device (Magnetic Disk) • Pada Direct Access Device. Record Size • Bentuk record fixed length • Besar alokasi storage yang dibutuhkan ditentukan oleh: • Jumlah atribut dalam sebuah record • Banyak record yang disimpan 2.

.

• key • file • Kalau key dari file lebih besar dari yang dicari fetch ketengah sisa file Probbing Fetch pada sebuah posisi yang diperkirakan Dilanjutkan dengan sequential search Get the next record Record berikutnya dapat langsung diakses Karena seringkali berada pada block yang sama Insert a record Insert berarti menyisipkan sebuah record sesuai dengan posisi dari primary Insert sangat mudah kalau hanya menambahkan sebuah record pada akhir Kalau insert ke tengah file. maka kegiatannya adalah delete yang lama lalu insert yang baru Read the entire file 7. • • 4. harus dipakai metoda batch update 5. • • sama Reorganize the file Membentuk file baru (batch update) Kedua file (master file & transaction file) harus diurutkan pada urutan yang . maka field yang berubah akan dituliskan langsung pada tempatnya • Bila nilai key berubah pada primary key.• diatasnya  • • 3. Delete a record • Menggunakan metoda batch update • Key dari record-record yang akan di delete dikumpulkan dahulu pada transaction file 6. Modify a record • Menggunakan metoda batch update • Bila nilai key tetap. Read the entire file • Dilakukan dengan sequential search • Pembacaan file dilakukan sesuai dengan urutan fisik file (key bisa urut / bisa tidak urut) 8.

.. 0222300032 0222300054 …….. 0233500002 0233500004 ………..INDEX FILE  File index digunakan untuk menemukan lokasi record yang dicari dengan cepat  Terdiri dari : o Index block Number o Key Attribut o Record Number (TID = Tuple Indentifier) Master File Record Number 1 2 Dst 101 102 Dst 201 202 dst 301 302 Dst 401 402 Dst 501 502 Dst 601 602 Dst Nim 0211500032 0211500054 ……… 0211500143 0211500150 ……….. Nama Fathimah Ali Nida Asih ……… Ahmad Ummi Dani Tika ……… Dito Titi ……… Budi Ina ……… Dina Ani ……… INDEX FILE–NYA SEBAGAI BERIKUT : Index Block # 0211500032 A B KEY REC # 1 0211500054 0211500143 0211500150 0222300032 0222300054 0222500234 0222500240 0222500434 0222500450 0233500002 0233500004 0244500032 0244500034 2 101 102 201 202 301 302 401 402 501 502 601 602 C D E F G . 0222500434 0222500450 ………. 0244500032 0244500034 ………. 0222500234 0222500240 ………..

0222500434 Record Number 1 2 Dst 101 102 Dst 201 202 dst 301 302 Dst 401 . 0222300032 0222300054 …….. 0222500234 0222500240 ………..Untuk mencari index block dengan cepat dibuat index level kedua sebagai berikut : Index Block # KEY 0211500032 0211500143 0222300032 0222500234 0222500434 0233500002 0244500032 INDEX BLOCK # A B C D E F G M Terdapat 2 tipe pengacuan indeks o Block Anchor Indeks tidak menunjuk langsung ke record tetapi ke block yang memuat record Indeks memuat record pertama dari tiap block Contoh Index Block # KEY 0211500032 0211500143 0222300032 0222500234 0222500434 0233500002 0244500032 Record M INDEX BLOCK # A B C D E F G o Anchor Indeks menunjuk ke record Data Utama No. Record 1 2 3 4 5 6 7 8 NIM Nama Alamat 0011500043|Muhammad Hanafi|Petukangan Utara 0222500056|Ali|Ciledug 0033500021|Fitriana Sari| Petukangan Selatan 0022500026|Budi Firmansyah|Cipulir 0244500023|Titi|Cipondoh 0122500035|Abdullah Nashih Ulwan|Tanah Abang 0022500254|Ade|Kebayoran Lama 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru 402 Dst 501 Nim 0211500032 0211500054 ……… 0211500143 0211500150 ………..

0233500002 Nama Fathimah Ali Nida Asih ……… Ahmad Ummi Dani Tika ……… Dito Titi ……… Budi ..0222500450 ……….

. Ina ……… Dina Ani ……… Index file Misal Berdasarkan nama Key Ali Ani Asih Budi Dani Dina Dito Dst… Record # 2 602 102 501 301 601 401 Dst.502 Dst 601 602 Dst 0233500004 ……….. 0244500032 0244500034 ………...

dengan cara: • Alamat dari record yang akan difetch dicari di dalam index • Dengan alamat tersebut data dibaca dari dalam main file • Salah satu konsep index yang dipakai adalah: memanfaatkan Block Anchor • Overflow Area • Menyimpan record tambahan. tetapi diintegrasikan menjadi satu dalam konsep index-sequential file • Lokasi record ditunjukkan dengan pointer dari predecessornya KEY 013-20-14 104-13-82 BLOC K ID 1 2 --.1 23.2 XXXXX 231.3 XXXXX No.INDEXED SEQUENTIAL FILE Adalah: • Organisasi file yang mempunyai semua keunggulan dari sequential file • Tetapi kemampuan aksesnya jauh lebih baik • Ada 2 hal yang ditambahkan yaitu • Index: untuk mendapatkan cara akses yang lebih baik • Overflow area: untuk mengatasi masalah dalam penambahan data (insert) • Komponen: • Sequential file (main file) • Index • Overflow Area • • • Main file: Berisi data / record – record yang membentuk file Data tersusun seperti pada sequential file • Index: • Berisi alamat dari tiap record yang ada didalam main file (seperti daftar isi) • Index dipakai untuk memungkinkan dilakukan fetch terhadap record tertentu.2 XXXXX 21.1 21.2 XXXXX 13.2 XXXXX 22.1 13.1 END 11. ktp 013-2014 015-2351 019-8879 XXXXXXX X 021-1321 027-5507 XXXXXXX X 045-6257 049-2073 XXXXXXX X 104-1382 108-8466 XXXXXXX X 132-5293 XXXXXXX X 183-0829 186-0830 Nama Hadi Ari Nani XXXXXXX Overflow pointer 112.2 HERMAN JIRAN XXXXXXX FARID SAMIN .1 112.2 11.2 23.--MAST ER Record Number 11.3 XXXXX Nita Agus XXXXXXX Nanda Tuti XXXXXXX Wiyogo Arjuno XXXXXXX Hakim XXXXXXX Garuda Arini Baruna XXXXXXX 112. yang diisi pada waktu dilakukan insert • Mirip dengan apa yang disebut transaction file.1 12.1 XXXXX 192-20-41 XXXXXXXX SEQUENTI AL FILE 016-78-01 017-09-73 XXXXXXXX 184-29-80 185-51-38 23.1 231.1 XXXXX BLOCK ID 1 2 KEY 01320-14 02113-21 04562-57 ---10413-82 13252-93 18308-29 --END INDEX BLOCK ID 11 12 13 ---21 22 23 --- 12.

XXXXX XXXXX OVERFLOW AREA XXXXX XXXXX 231.1 XXXXX O-CHAIN-P 11.3 XXXXX 23.2 .

Insert a record • Menambah record berarti memperpanjang overflow chain. tanpa memanfaatkan index 4. Fetch a record • Index dimanfaatkan untuk menemukan sebuah record • Dicari dari index yang paling atas. menurun ke index dibawahnya sampai akhirnya ke main file • Bila pernah dilakukan insert. pencarian akan dilanjutkan ke overflow area untuk mencari record yang telah di geser (push) 3. yaitu key yang mengurutkan file Performance 1. karena insert memakai overflow area • Ukuran file baru berubah setelah dilakukan reorganisasi • Overflow area digabungkan dengan main file • Overflow area akan kosong • Main file akan bertambah besar 2. Record Size • Berbentuk fixed length record • Ukuran file relatif tetap. Get the next record • Successor record cukup dicari secara serial dari predecessornya. ruang kosong yang akan terisi bila ada record baru c. Free space in every block. separate file. karena metoda push through • Record baru akan selalu ditempatkan urut dengan record sebelumnya • Tiap kali insert akan mengakibatkan terjadi read & rewrite dari pointerpointer • Index tidak berpengaruh terhadap index • Ada 3 cara yaitu a. ruang kosong pada akhir setiap silinder . Free space in every silinder. record baru disimpan pada file terpisah (kurang efisien) b.• Untuk meminimalkan jumlah overflow pointer yang dipakai digunakan metoda push-through • Record baru ditempatkan sesudah predecessornya • Successor record digeser mendekati ujung block • Record pada ujung block digeser ke overflow area INSERT MAIN FILE 085 017 061 103 039 025 017 025 039 061 085 103 017 017 061 039 085 061 103 085 103 OVERFLOW AREA Kegunaan index sequential file • Bentuk file yang paling banyak dipakai • Dipakai bila file ingin selalu dalam kondisi up to date • Sebuah record dapat di insert atau di retrieve secara langsung melalui indexnya • Sangat sesuai untuk proses secara on-line • Bisa juga diakses secara sequential Kelemahan index sequential file • Seach/pencarian hanya bisa melalui sebuah key saja.

• • • • • Reorganize the file Overflow area digabungkan ke main file Main file mendapat ukuran yang baru Overflow area kembali kosong Index berubah isinya sesuai dengan data terbaru Dilakukan dengan pembacaan serial melalui main file Multiple Indexed file Adalah: • Disebut juga multiple indexed file • Mempunyai lebih dari sebuah index • Tiap atribut (bahkan semua atribut) mempunyai index) • Tiap index diperlakukan sama • Tiap index adalah record anchored • Tidak ada konsep primary-attribute • File tidak tersusun berdasarkan primary index • Tidak ada pengaturan overflow-chain • Insert langsung ke dalam main file • Tiap kali insert semua index harus diupdate • Hanya bisa diakses melalui indexnya • Bisa diakses melalui index yang mana saja • Record bisa berbentuk variable length Struktur file pada indexed file • Index bisa sebanyak atribut yang ada • Index bahkan bisa lebih banyak dari jumlah atribut yang ada. Secara serial dengan mengikuti alur urutan data (termasuk ke overflow area) 2. Secara sequential membaca isi main file dahulu baru membaca isi overflow area 8. • • Delete a record Delete pemakai tombstone Data pada pointer & index tetap ada 6.5. karena system akan menempatkan data berdasarkan besar kebutuhan tempat • Tidak ada batasan panjang record • Bisa berbentuk variable length record • Successor record dicari melalui record Data Utama No. Record 1 2 3 4 5 6 7 8 NIM Nama Alamat 0011500043|Muhammad Hanafi|Petukangan Utara 0222500056|Ali|Ciledug 0033500021|Fitriana Sari| Petukangan Selatan 0022500026|Budi Firmansyah|Cipulir 0244500023|Titi|Cipondoh 0122500035|Abdullah Nashih Ulwan|Tanah Abang 0022500254|Ade|Kebayoran Lama 0322500221|Muhammad Reza Pahlevi|Kebayoran Baru . Modify a record • Dilakukan dengan langkah fetch & rewrite • Karena record baru bisa dituliskan pada tempat record lama berada 7. Read the entire file • Dapat dilakukan dengan memakai salah satu dari 2 cara dibawah ini: 1. kalau dibentuk combined index • Index berisi alamat dari tiap record yang terkait • Tidak ada urutan data pada primary file.

.

• • • Record size Bisa berbentuk variable length Atribut record secara umum bisa berbentuk sparse Besar keseluruhan file sangat ditentukan oleh banyaknya index yang dibuat 2. • • • Get the next record Tidak bisa dilakukan melalui struktur file Dilakukan melalui index Insert a record Record ditempatkan dimana saja pada daerah yang kosong Semua index yang terkait akan di update Delete a record Tidak dengan menghilangkan/menghapus record yang didelete Tidak melepaskan semua index yang terkait dengan record tersebut Modify a record Dilakukan dengan cara: Mencari lokasi yang akan berubah Mengubah isi record Mengubah semua index yang terkait dengan perubahan tersebut Read the entire file File tidak diharapkan untuk sering dibaca seluruh isinya Karena lokasi record yang tidak beraturan Harus dilakukan dengan memanfaatkan index lengkap yang ada . • • 6. Fetch a record • Dilakukan melalui index • Mirip dengan indexed sequential. hanya tidak ada pencarian ke overflow area • Bila index bisa ditempatkan pada satu cylinder. • • 4. • • • • 7. • • 5. maka penelusurannya tidak memerlukan seek time 3.Index file Misal Berdasarkan nama Key Abdullah Nashih Ulwan Ade Ali Budi Firmasyah Fitriana Sari Muhammad Hanafi Muhammad Reza Pahlevi Titi Record # 6 7 2 4 3 1 8 5 Kegunaan indexed file • Banyak dipakai bila kecepatan akses sangat dibutuhkan • File jarang diakses secara serial • Data dapat diakses dengan struktur yang berbeda tanpa perlu dilakukan reorganisasi (karena bisa mempunyai banyak record) • Sangat cocok untuk format data yang dinamis Performance 1.

8. Reorganize the file • Tidak perlu dilakukan secara periodik • Lebih kepada pemanfaatan kembali daerah-daerah kosong akibat delete a record Hashed File Adalah: • Memakai perhitungan matematis untuk menemukan alamat dari sebuah record • Memanfaatkan kemampuan disk unit dapat mengakses tiap block yang diketahui alamatnya • Agar dapat dilakukan direct access. dihitung berdasarkan key dari sebuah record Overview Hashed File • Berbasis kemampuan direct access ke dalam file dengan memanfaatkan relatif address • Relatif address adalah: • Sebuah record dapat ditemukan hanya dengan memanggilnya lewat nomor urut record di dalam file • Masalahnya adalah: • Membuat rumus untuk mengubah key dari sebuah record menjadi nomor urut (KAT -> Key To Address Transformation) • KAT (Key To Address Transformation) : • Tujuannya untuk menghasilkan slot number yang berbeda bagi tiap record • Dengan cara mengubah key menjadi relative address • Hambatan KAT: • Key umumnya sesuatu yang bersifat natural (NIM / No_KTP / No_Pegawai / dll) • Natural Key biasanya panjang (NIM = 10 digit) • Persyaratan KAT: • Ukuran Key harus diperpendek agar sesuai dengan slot address (relative address) • Slot address yang dihasilkan harus unix • Algoritma untuk membuat KAT sangat banyak • Contoh: NIM NAMA SLOT ADDRESS 0011500001 BUDIMAN 1 0011500002 HERMAN 2 - 0011500105 0011500106 0011500107 ACHMAD ENDANG SEPHIA 105 106 107 • • • • • • Fungsi hash yang umum digunakan Division Remainder (pembagian sisa) Truncation (pemenggalan) Folding ( Lipatan) Multiplication (perkalian) Mid Square . key dari record dipakai sebagai alamat di dalam file Komponen Hashed File: • File Space • Terbagi dalam slot-slot • Tiap slot menyimpan sebuah record • • Rumus Menghasilkan slot address.

+ 15521 6718 (urutan terbalik !) digit dengan order tinggi dihilangkan menjadi 5521 Jawab: Contoh 2: Nilai kunci 123456 dibagi menjadi 2 bagian 4 5 6 123 6 5 123 4 -----. masing-masing memiliki jumlah digit yang sama (kecuali bagian awal atau akhir). target alamat relative menggunakan 4 digit Nilai kunci dibagi menjadi 4 digit Jawab: 2 5345 2 5345 8176 -------. Hasil penjumlahan setelah dilipat dan digit dengan orde paling tinggi dipenggal menjadi alamat relative Contoh 1: Nilai kunci 253456718.Teknik Hashing Division Remainder (pembagian sisa) Metode hashing paling sederhana dengan membagi 1 nilai kunci dengan ukuran tabel Diimplementasikan dengan syntax programming MOD (sisa pembagian) Bagi programming yang tidak memungkinkan index dari 0 maka ditambah 1 Contoh 1 : jika ukuran tabel 11 dan nilai kunci 648 F(648) = 648 mod 11 = 10 Maka nilai 648 disimpan di lokasi 10 Contoh 2 : Sebuah file = 4 record dengan nilai kunci 12.+ atau -777 579 -Teknik Hashing Multiplication (pekalian) + Membagi sebuah kunci dan menjumlah bagian-bagiannya (seperti teknik folding). capat dan mudah dalam implementasinya Kerugian. Bagian-bagian ini kemudian dilipat antara satu bagian dengan bagian lain. terbatasnya ukuran ruang alamat Contoh 1: Jika fungsi F menghapus 6 digit akhir dari digit 123456789 Maka f(123456789) = 123 Nb : hash memetakan nomor 123456789 ke alamat 123 Teknik Hashing Folding ( Lipatan) Nilai kunci dibagi menjadi beberapa bagian.19. bagian dari salah kunci dipilih untuk dikalikan.38 ukuran tabel 11 F(12) = 12 mod 11 = 1 F(19) = 19 mod 11 = 8 F(68) = 68 mod 11 = 2 F(38) = 38 mod 11 = 5 Index 0 1 NIlai Kunci 12 2 3 68 4 5 38 6 7 19 8 9 Teknik Hashing Truncation (pemenggalan) melakukan pemenggalan sejumlah digit yang pertama atau yang terakhir dari sejumlah digit Keuntungan.68. Hasilnya atau satu bagian yang dipenggal merupakan alamat relatif dari record yang akan .

dilokasikan Contoh 1: NIM = 9922500266 Jawab: 992 * 266 = 263872 dipenggal menjadi 2638 Maka data NIM 9922500266 disimpan di alamat 2638 .

• Akibatnya 2 atau lebih record yang berbeda akan mempunyai slot address yang sama • Kondisi diatas disebut Collision • Metoda mengatasi collision: • Open addressing • Linear search • Re-randomization • Overflow area Linear Search • Slot dikelompokkan ke dalam bucket. record tetap ditempatkan sesuai dengan bucket addressnya tetapi pada next sequential block Re-randomization: • Tidak memanfaatkan bucket (cluster) • Tetapi menempatkan record yang collision pada sembarang tempat di dalam file • Dengan membuat KAT yang bertingkat-tingkat • Sebuah record direkam kedalam slot sesuai dengan relative addressnya (diperoleh dari KAT) • Bila terjadi collision. tentukan digit yang akan dikutip dari tengah Contoh 1: Diambil dari kanan. KAT tingkat berikutnya akan dipakai untuk mencari tempat kosong di dalam file • Setiap terjadi collision. KAT tingkat berikutnya akan dimanfaatkan Overflow area: • Mempersiapkan file terpisah (overflow file) • Memanfaatkan overflow-chain untuk penghubung (seperti pada indexed sequential file) • Tidak dipakai pola bucket (cluster) • Membutuhkan seek tersendiri. jumlah relative address berkurang • Bucket kadang disebut juga sebagai Cluster • Bila sebuah record akan direkam maka: • Ditempatkan kedalam bucket sesuai dengan bucket addressnya • Ketika terjadi collision. 1 bucket sama dengan 1 block • Dengan dimanfaatkannya bucket. tetapi tidak ada sequential search ke dalam bucket • Kesulitannya adalah: • Menyediakan overflow file yang mencukupi • Karena collision tidak bisa diduga kapan terjadi & berapa kali terjadi Kegunaan Hashed File • Banyak dipakai untuk file-file berbentuk: • Directory • Tabel (Harga / barang) • Jadwal kegiatan • Daftar (nama/alamat) • dll • File dengan ukuran record yang pendek & fixed • Dapat diakses dengan cepat • Hanya diakses berdasarkan 1 key • Tidak pernah diakses secara serial . mulai posisi ke 6 sebanyak 6 digit Nilai Kunci Kunci dipangkatkan Alamat relatif 91225002 66 032250100 83220011103170070756 031700 104006895646002001 956460 Collision: 1 • Kadangkala KAT (Key To Address Transformation) akan menghasilkan slot address yang sama untuk 2 atau lebih key yang berbeda.Teknik Hashing Mid Square Nilai kunci dikuadratkan.

.

Reorganize the file • Diperlukan bila total record telah mengisi semua slot dan tidak ada tempat lagi untuk bertambah • Dibutuhkan tempat baru yang lebih besar • KAT perlu diubah atau diperbaiki • Reorganisasi juga diperlukan jika banyak record yang telah didelete (delete akan berakibat memperpanjang / memperlama pencarian sebuah record) MULTIRING FILE Adalah: • Berorientasi ke proses yang efisien untuk subset (kumpulan record) • Subset berisi grup record yang memiliki atribut yang sama • Banyak dimanfaatkan dalam system database • Sejumlah subset dari record terkait satu dengan lainnya oleh pointer-pointer • Jalur kait antar subset menggambarkan urutan anggota dari subset tersebut • Sebuah record bisa menjadi anggota dari beberapa subset • Tiap subset mempunyai Header Record (Header) yaitu record yang merupakan tempat sebuah subset terkait • Header berisi semua keterangan tentang anggota subsetnya • Header record sendiri bisa juga terkelompok dalam sebuah subset • Salah satu jenis kait yang dipakai adalah RING • RING adalah: • Dimana anggota subset yang pertama dan terakhir sama-sama terkait pada header record • Ring dapat disusun bertingkat-tingkat . • • • • • • • 6. • • • • 5.31 Performance 1. • • 7. Fetch a record • Record ditemukan berdasarkan relative address • Kalau pernah terjadi collision. Record Size • Fixed length record • Besar tempat yang dibutuhkan untuk tiap record adalah sama seperti pada indexed sequential file 2. • • • Insert a record Slot yang akan diisi harus diperiksa apakah: Kosong Berisi record dengan key yang sama Berisi record dengan key yang lain (collision) Delete a record Dengan memanfaatkan tombstone Bila dipergunakan overflow area: Overflow-chain akan diatur ulang Atau slot akan diberi tanda kosong Bila dipergunakan open addressing: Tidak bisa sekedar slot diberi tanda kosong Harus dimungkinkan untuk tetap mendapat record-record yang collision Modify a record Dilakukan secara fetch & rewrite pada tempat yang sama Kalau key berubah maka langkahnya adalah insert & modify Read the entire file Tidak bisa dilakukan serial search Hanya bisa dengan membaca seluruh slot yang disiapkan. fetch dilanjutkan ke tempat record sebenarnya berada (tergantung metoda penanganan collision) 3. Get the next record • Tidak dikenal cara serial access • Selalu seperti fetch a record 4. melalui KAT Walaupun akan termasuk membaca semua slot yang masih kosong 8.

atau dapat ditelusuri berdasarkan pointer yang ada • Sebuah pointer di dalam record dapat menjadi pengganti dari sejumlah atribut pada record tersebut 2. sampai seluruh record 8. maka hanya ring & record yang terkait saja yang perlu diproses . bila hanya merubah isi record Hanya ring yang terkait saja yang di update Bila merubah urutan record. dilakukan seperti pada pelaksanaan insert Read the entire file Dilakukan dengan: Pembacaan secara serial mengikuti semua kemungkinan hubungan yang Menelusuri ring demi ring Bertingkat-tingkat.• Sehingga anggota dari sebuah subset dapat menjadi header record bagi subset tingkat dibawahnya Struktur file • Isi dan ukuran sebuah record sangat tergantung pada subset mana record tersebut terkelompok • Tiap record mempunyai sejumlah pointer yang menyatakan ke ring mana saja record tersebut terkait • Tiap ring (subset) mempunyai header • Header adalah: entry point & atau anggota ring lainnya • Cara penelusuran: • Ring dimasuki melalui header • Anggota ring ditelusuri satu persatu sampai ketemu • Bila penelusuran kembali mencapai header berarti satu ring telah selesai ditelusuri Performance 1. Record Size • Bisa mempunyai berbagai bentuk record di dalam sebuah file • Atribut sebuah record dapat berada di dalam record tersebut. • • 4. Fetch a record • Untuk bisa mencapai sebuah record (yang terdapat di dalam ring) selalu harus melalui headernya • Sebuah ring hanya bisa dimasuki melalui entering pointnya 3. • • • baru Get the next record Dilakukan dengan menelusuri ring yang terkait Next record tergantung atribut apa yang terkait Insert a record Dilakukan dengan: Mengarahkan semua pointer dari predecessor record ke record baru Memindahkan semua nilai/isi pointer dari predecessor record ke record 5. Reorganize the file • Secara normal tidak diperlukan reorganisasi • Bila merubah file sebuah record. • • • 7. • • ada • • Modify a record Dilakukan dengan cara fetch & rewrite. Delete a record • Kebalikan dari insert: • Melepaskan semua pointer dari predecessor record & semua pointer ke successor record • Mengarahkan semua pointer dari predecessor record ke successor record 6.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->