Anda di halaman 1dari 42

ilaagfi@yahoo.

com TUGAS AKHIR SISTEM BERKAS

METODE AKSES
Dosen Pembimbing : Anis Yusrotun Nadhiroh, S.Kom

Oleh : Lailatul Maghfiroh 10011586 A

TEKNIK INFORMATIKA (S1) SEKOLAH TINGGI TEKNOLOGI NURUL JADID PAITON PROBOLINGGO
2010 2011

KATA PENGANTAR

Puja dan puji syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa, karena atas petunjuk dan hidayah-Nya makalah Sistem Berkas ini dapat penulis selesaikan. Makalah Sistem Berkas ini diharapkan dapat menjadi salah satu rujukan dalam usaha peningkatan mutu pengolahan pembelajaran Sistem Berkas di kampus serta dapat dipelajari secara mansiri oleh pelajar di dalam maupun di luar KBM. Sehingga pelajar dapat menambah wawasan dan pengetahuan sehingga dapat mengadakan refleksi sejauh mana pemahaman terhadap mata kuliah yang telah diikuti. Makalah Sistem Berkas ini dapat penulis selesaikan berkat bantuan dari berbagai pihak, maka dari itu penulis mengucapkan terima kasih kepada pihak-pihak yang yang telah turut membantu dalam penyelesaian makalah ini. Kami berharap makalah ini dapat dimanfaatkan dengan baik guna peningkatan mutu pendidikan di masa yang akan datang. Sebagaimana pepatah mengatakan tiada gading yang tak retak, maka begitu juga makalah ini tentunya banyak kekurangan di dalamnya walaupun penulis telah berusaha meminimalkannya. Untuk itu penulis mengharap kritik serta saran-saran demi sempurnanya makalah Sistem Berkas ini.

Paiton, Juni 2011

Penulis

DAFTAR ISI
Halaman Judul ........................................................................................................... Kata Pengantar ........................................................................................................... Daftar Isi ..................................................................................................................... BAB I ........................................................................................................................... 1.1. Latar Belakang .............................................................................................. BAB II 2.A. 2.B. ...................................................................................................................... Pile File ........................................................................................................ Sequential File ............................................................................................ 1 2 3 4 4 5 6 8 11 15 18 28

2.C. Indexed-Sequenstial File .. 2.D. Multiple-Indexed File 2.E. Hashed File . 2.F. Multiring File . BAB III

...................................................................................................................... 40 42

Daftar Pustaka ............................................................................................................

BAB I PENDAHULUAN 1.1. Pendahuluan

Kemajuan Teknologi Informasi (TI) saat ini berkembang sangat pesat sesuai dengan tuntutan zaman yang membutuhkan kemudahan-kemudahan dalam menjalankan aktivitas kehidupan, termasuk akses untuk mendapatkan informasi dengan efisien. Biasanya informasi ini diakses serta diproses menggunakan komputer. Komputer pada saat ini merupakan perangkat yang vital dalam kebutuhan mengakses informasi, yang juga merupakan tulang punggung dalam dunia teknologi informasi. Dalam suatu komputer, informasi yang diakses diimplementasikan dalam data yang tersusun dengan aturan tertentu dalam bentuk file. Ada banyak metode dalam menyusun atau mengorganisasikan file. Metode-metode itu antara lain metode Sequential File, IndexedSequential File, Indexed File, Direct File, dan Mutiring File. Dalam makalah yang kami susun ini, kami menjelaskan macam-mcam organisasi file / metode akses file yaitu pile file, Sequential file, index sequential file, multiple index file, hashed file, dan Mutiring File. Mudah-mudahan makalah ini bermanfaat bagi kita semua.

BAB II PEMBAHASAN ORGANISASI FILE / METODE AKSES FILE Organisasi file Element pokok perancangan system akses adalah cara record-record diorganisasikan atau distrukturkan. Beberapa criteria umum untuk pemilihan organisasi file adalah [WIE-87] Redudansi yang kecil Pengaksesan yang cepat Kemudahan dalam memperbaharui Pemeliharaan yang sederhana Kehandalan yang tinggi Terdapat enam organisasi dasar, kebanyakan organisasi file system termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi pengaksesan file secara dasar adalah sebagai berikut : 1. File pile (pile file) 2. File sekuen (sequential file) 3. File sekuen berindeks (indexed-sequenstial file) 4. File berindek majemuk (multiple-indexed file) 5. File ber-hash (hashed file) 6. File cincin (multiring file) Keenam organisasi dasar ini dirinci dibukua Gio Wiederhold [WIE-87].

2. A. PILE FILE Pembahasan struktur file diketahui bahwa struktur dasar paling dasar sebuah file adalah pile dan file sekuensial. File pile atau file tumpukan merupakan struktur paling sederhana. Struktur ini jarang digunakan secara praktis tapi merupakan basis evaluasi struktur-struktur lain.

2.A.1. Properti struktur pile 1. Data tidak dianalisis, dikategorikan, atau harus memenuhi definisi atau ukuran field tertentu 2. Panjang rekord dapat bervariasi dan elemen-elemen data tidak perlu serupa. 2.A.2. Karakteristik struktur pile 1. 2. 3. 4. Biasanya data ditumpuk secara kronologis Tak ada keterkaitan antara ukuran file, record, dan blok Elemen data dapat beragam, dapat berbeda untuk tiap record ( berisi attribut lain ). Data harus disimpan secara lengkap beserta nama attributnya, tidak Cuma nilai atributnya.

Komponen file pile hanya berisi data

2.A.3. Struktur dan pengaksesan Rekord berelasi dengan suatu objek atau kejadian di dunia nyata. Rekord berisi elemenelemen ( field-field) data dan tiap elemen data perlu mempunyai identifikasi. Identifikasi pada pile adalah berupa nama atribut secara ekplisit. Misalnya: Tinggi = 163, Dimana, nilai elemen data adalah 163 dan nama deskripsi adalah tinggi. Tiap elemen data di pile berbentuk tuple dua komponen disebut pasanagn nama atribut nilai atribut ( atribute name value atribute ). Format record

Sejumlah pasangan untuk mendefinisikan objek dan mengasosiasikan data dengan objek. Contoh : |nama=Nurman,jurusan=IF,alamat=Sadang Serang 64, umur=24, tinggi=163. ketika informasi akan diambil, pemilihan record dengan menspesifikasikan di argumen pencarian. 2.A.4. Penggunaan File Pile File pile merupakan struktur dasar dan tak berstruktur. Struktur ini memberikan fleksibilitas penuh. Struktur ini menggunakan ruang penyimpanan dengan baik saat data berukuran dan berstruktur beragam. Struktur ini sangat jelek untuk pencarian record tertentu. Berbagai penggunaan dari file pile, diantaranya :

File-file sistem File log ( mencatat kegiatan ) File-file penelitian / medis Config.sys

2. B. SEQUENTIAL FILE Sequential File adalah file dengan organisasi urut. Data yang disimpan diurutkan berdasarkan urutan pemasukan data (urut berdasarkan nomor record). Data yang ditambahkan selalu menempati urutan berikutnya. Sequential file adalah record yang disimpan dalam media penyimpanan sekunder komputer, yang dapat diakses secara berurutan mulai dari record pertama sampai dengan record terakhir. Record per record searah. Record terakhir adalah rekaman fiktif yang menandai akhir dari arsip. Sequential adalah sekumpulan record yang disimpan dalam media penyimpanan sekunder computer, yang dapat diakses secara berurutan mulai dari record pertama sampai record terakhir. Sequential file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara berurutan. Dalam hal ini, data yang ada akan disimpan sesuai dengan urutan masuknya. Data pertama dengan nomor berapapun, akan disimpan ditempat pertama, demikian pula dengan data berikutnya yang juga akan disimpan ditempat berikutnya. Dalam melakukan pembacaan data, juga akan dilakukan secara berurutan, artinya, pembacaan akan dimulai dari data paling awal dan dilanjutkan dengan data berikutnya sehingga data yang dimaksud bisa diketemukan.

2.B.1 Keuntungan dari Sequential file Keuntungan utama dari organisasi Sequential file adalah: 1. Mengarsipkan desain adalah sederhana. 2. Lokasi dari rekaman memerlukan hanyalah kunci rekaman. 3. Ketika laju ke aktifan adalah tinggi, kesederhanaan dari mengakses cara membuat proses efisien. 4. Media file murah seperti pita magnet dapat dipergunakan untuk menyimpan data.

2.B.2 Kelemahan dari Sequential file Kelemahan utama dari organisasi Sequential file adalah: 1. Memperbaharui memerlukan bahwa semua transaksi rekaman diurutkan pada urutan kunci rekaman. 2. Satu berkas menguasai baru,secara fisik pisahkan dan eksklusif, selalu diciptakan sebagai hasil pembaharuan percontohan. 3. Tambahan dan penghapusan dari rekaman tidak sederhana.

2.B.3

Pengolahan Sequential File

File merupakan fasilitas penyimpanan data pada external storage yang bersifat permanen, jika dibandingkan dengan penyimpanan ke RAM yang sifatnya sementara. Dengan pemakaian file kita dapat menghemat pemakaian RAM komputer yang memiliki jumlah yang terbatas serta dapat melakukan dokumentasi untuk jangka waktu yang panjang. Pada QBasic pengolahan file dapat dibagi atas tiga jenis, yaitu : 1. SEQUENTIAL FILE 2. RANDOM FILE 3. BINARY FILE

Pada Sequential file (file urut) proses pengolahannya dilakukan secara linier dari awal sampai akhir, tanpa bisa kembali kebagian sebelumnya, kecuali proses dimulai lagi dari awal. Jadi dalam pengolahan datanya bersifat first in first out, artinya pembacaan data dari file ini harus dimulai dari data yang paling awal. Pada umumnya pengolahan data yang menggunakan file sebagai media INPUT maupun OUTPUT memiliki tiga tahap, yaitu : 1. Tahap membuka file (OPEN) 2. Tahap memproses (INPUT/OUTPUT) 3. Dan yang terakhir adalah tahap menutup file (CLOSE) Membuka File Sequential

Untuk membuka file sequential yang akan diproses dapat digunakan penulisan sebagai berikut : Syntax : Open filename [FOR mode] AS [#]filenum dimana mode terdiri dari : INPUT, membuka file untuk proses INPUT OUTPUT, membuka file baru untuk proses OUTPUT APPEND, membuka file untuk untuk proses OUTPUT dimana data baru ditambahkan pada bagian akhir. Contoh : Open Siswa.Dat For Append AS #1 Akan membuka Siswa.Dat sebagai OUPUT dimana data baru ditambahkan pada bagian akhir. Jika file Siswa.Dat belum ada, maka akan dibuat yang baru.

Proses INPUT/OUTPUT

Perintah proses INPUT/OUTPUT pada sequential file sangat tergantung kepada bentuk perlakuan terhadap data. Untuk penulisan yang berorientasi pada baris, anda dapat menggunakan perintah PRINT, dan pembacaanya dapat menggunakan LINEINPUT. Penulisan yang berorientasi kepada data, anda dapat menggunakan perintah WRITE dan INPUT untuk proses pembacaannya. Syntax : PRINT #filenumber,[USING stringexpressin;]expression list WRITE #filenumber[,expressionlist] INPUT #filenumber, variablelist LINEINPUT #filenumber, variable-string Contoh : Write #1, 920403024,Hendra,80,90 menulis ke file nomor 1, dan data dapat dibaca kembali dengan perintah : Input #1,Nim$,Nama$,Teori,Praktek Catatan : Anda dapat menggunakan fungsi bantu EOF(filenumber) untuk memeriksa apakah berada diposisi akhir file. Proses Close

Untuk menutup file dapat digunakan perintah CLOSE. Syntax : CLOSE #filenumber Contoh : CLOSE #1 menutup file nomor 1.

10

2. C. INDEX SEQUENTIAL FILE Index Sequential File merupakan perpaduan terbaik dari teknik sequential dan random file. Teknik penyimpanan yang dilakukan, menggunakan suatu index yang isinya berupa bagian dari data yang sudah tersortir. Index ini diakhiri denga adanya suatu pointer (penunjuk) yang bisa menunjukkan secara jelas posisi data yang selengkapnya. Index yang ada juga merupakan record-key (kunci record), sehingga kalau record key ini dipanggil, maka seluruh data juga akan ikut terpanggil. Organisasi Berkas ini mirip dengan Organisasi Berkas Sekuensial dimana setiap rekaman disusun secara beruntun di dalam file, hanya saja ada tambahan indeks yang digunakan untuk mencatat posisi atau alamat dari suatu kunci rekaman di dalam file. Indeks memiliki dua bagian, yaitu : Kunci Alamat Indeks digunakan untuk melakukan lookup dari kunci yang ada ke alamat penyimpanan rekaman. Untuk alasan performa, indeks harus selalu terurut berdasarkan kunci. Untuk membayangkan penyimpanan dan pembacaan data secara sequential, kita bisa melihat rekaman lagu yang tersimpan pada kaset. Untuk mendengarkan lagu kelima, kita harus melalui lagu kesatu, dua, tiga dan empat terlebih dahulu. Pembacaan seperti inilah yang disebut sebagai sequential atau berurutan. Apabila lagu-lagu yang ada kemudian disimpan didalam compack-disk, maka untuk mendengar kan lagu yang kelima bisa langsung dilakukan (dibaca secara random). Disamping itu, dengan compack-disk juga bias dilakukan pembacaan secara berurutan atau sequential. Compack disk menyimpan lagu secara random. Untuk membayangkan penyimpanan data dengan menggunakan teknik index sequential ini, kita bisa melihat daftar isi pada sebuah buku. Pada bagian atas disebut sebagai index data yang berisi bagian dari data yang ada. Index data kemudian diakhiri dengan pointer yang menunjukkan posisi keseluruhan isi data. Tujuannya ialah untuk meningkatkan kecepatan akses di file sekuensial tanpa mengurangi manfaat dan sifat file sekuensial. Dua tambahan file sekuensial berindeks adalah File indeks, untuk memberi akses acak lebih baik dan lebih cepat Daerah (file) overflow, untuk menangani penambahan record ke file. 2.C.1. Keuntungan dari Index Sequential file Sangat cocok untuk digunakan menyimpan batch data ataupun individual data. Dibanding sequential file, pemanggilan data menjadi lebih cepat.

11

2.C.2. Kelemahan dari Index Sequential file Access (pemanggilan) data tidak bisa disamakan dengan random (direct access file). Memerlukan adanya ruangan extra didalam memory untuk menyimpan index data. Memerlukan adanya hardware dan software yang lebih kompleks.

2.C.3. Struktur Dan Pengaksesan File Sekuensial Berindeks Pengambilan Record Tertentu Pengambilan record tertentu menggunakan indeks untuk meningkatkan kecepatan pencarian. Penyisipan Record Penyisipan record dilakukan pada file overflow yang terhubung dengan pointer di file utama. Pembacaan Seluruh Record Pembacaan seluruh record dilakukan dengan urutan sebagai berikut: 1. Pembacaan file utama hingga di temukan pointer ke file overflow 2. Pembacaan record-record di file overflow hingga ditemukan pointer NULL (L). 3. Kembali ke file utama setelah pembacaan record selesai Reorganisasi Reorganisasi dilakukan jika terdapat kondisi sebagai berikut: 1. Telah terjadi overflow pada file overflow 2. Terjadi sambungan pointer (rantai) yang panjang 3. Proses akses sudah lambat Cara reorganisasi 1. 2. 3. 4. 5. 6. 7. 8. Baca file secara berurutan Buang record-record yang ditandai untuk dihapus Tulis record-record sisa ke file baru Buat isian indeks di buffer memori Tulis blok untuk indeks jika penuh Buat isian indeks level diatasnya untuk setiap blok indeks Setelah semua blok data ditulis, kemudian tulis untuk blok indeks terakhir Kosongkan daerah indeks yang lama

Frekuensi reorganisasi Bergantung aktivitas penyisipan.

Ukuran Record
R = a (V + P)
12

Dimana: a = jumlah atribut (field) pada satu record V = panjang nilai atribut P = panjang field pointer Waktu Pengambilan Record Berikutnya

Record berikutnya di file utama, maka hanya diperlukan pembacaan blok (belum terjadi log transaksi) TN = (1/Bfr) * (s + r + btt)

Pada file overflow, (setelah terjadi log transaksi) TN = ((1/Bfr) * ( s+r+btt)) * ( ( o/n ) * (r + btt)) Mekanisme Untuk mencapai record berikutnya bisa secara seri (berturutan) atau secara acak (langsung) ke area/file yang berbeda. Pencarian dimulai setelah record terakhir. Terdapat enam kemungkinan akses, yaitu : Record sudah ada di buffer (Daerah kerja dimemory yang digunakan untuk penyimpanan blok sementara) Record tidak ada di buffer, record terdapat di blok berikutnya dalam satu silinder (tidak terjadi penyisipan pada blok tersebut) Tidak ada di buffer, record terdapat di blok berikutnya tidak di satu silinder yang sama ( tidak terjadi penyisipan pada blok tersebut) Record berikutnya di file overflow (terjadi penyisipan di blok tersebut) Record berikutnya di file overflow lain di satu silinder yang sama (record tersebut merupakan record sisipan) Record berikutnya di file utama (record tersebut merupakan record sisipan) Waktu Penyisipan Record

Perhitungan TI = TF + TRW + r + btt + TRW

13

= TF + 5r + btt Waktu Pembaruan Record

Perhitungan Pembaruan terhadap atribut bukan kunci TU = TF + TRW Pembaruan terhadap atribut kunci Jika atribut kunci berubah, maka: TU = TF + TRW + TI Waktu Pembacaan Seluruh Record Record yang dirubah ditandai sebagai dihapus Record baru disisipkan

Membaca dari awal sampai akhir file secara serial (berurutan) TX = ((n+(o*Bfr))/Bfr) * (r+btt) Waktu reorganisasi File

Membaca dari awal sampai akhir secara serial atau berurutan Menulis ulang (rewrite) ke file tanpa menggunakan overflow Hasil reorganisasi adalah record baru TY = (((n+(o*Bfr))/Bfr) * (r+btt) ) +(( (n+o) - d) * (R/t)) + ((V+P)/r)

Reorganisasi file dilakukan setelah pengisian overflow mencapai > 75% dengan rata-rata pertambahan per hari sebesar 10%.

14

2. D. MULTIPLE INDEX FILE


Terdiri dari main file dan file-file index (file berindex majemuk). Tidak ada rantai overflow. Tidak dikenal konsep atribut kunci (tidak ada keterurutan berdasarkan atribut kunci). Pengubahan data langsung dilakukan terhadap main file. Format record dapat berupa name-value pair atau dapat berupa structured record. Index bersifat multiple index, dinamis, record anchored. Entri index terdiri dari atribut dan TID. Entri index terurut berdasarkan nilai atributnya. Next record diakses berdasarkan keterurutan entri pada index-nya. Tiap index dapat bersifat multilevel. TID pada index berisi alamat block dan posisi record. Exhaustive vs partial index.

Pada Multiple Index File (file berindex majemuk), pembaharuan dilakukan terhadap file utama bukan file overflow, karena record dicari lewat indeks, maka indeks harus dinamis. Begitu terjadi pembaharuan ( insert, update, delete) mka indeks-indeks diperbaharui mengikuti perubahan di file utama. Contoh : Indeks Dinamis adalah Indeks B-tree.

B-Tree

BTree = Balanced Tree Perubahan pada main file berimplikasi terhadap index-nya. Struktur index menggunakan BTree. Blok blok BTree harus dijaga agar memuat setengah dari fan out ratio-nya (effective fan out antara y/2 y). Order Capacity = d Kapasitas minimum = d, dan maximum = 2d Khusus untuk root, kapasitas minimum = 1

Algoritma Penyisipan Btree


Cari posisi yang sesuai bagi record baru, mulai dari root BTree. Jika tersedia space, sisipkan record baru sesuai urutan, jika tidak terjadi, overflow. Jika terjadi overflow : Split menjadi 2 node Pilih node tengah untuk naik ke level berikutnya
15

Set pointer dari parent node ke child node

Contoh Insert Pada BTree Diketahui BTree dengan kapasitas order d = 1 Gambarkan hasil Insert data :

cat, ant, dog, cow, rat, pig dan gnu pada BTree tersebut.

16

Algoritma Penghapusan Btree


Menghapus node pada leaf dan tidak melanggar kapasitas minimum, maka record langsung dihapus tanpa mengubah struktur BTree. Menghapus node pada root dan tidak melanggar kapasitas minimum, maka ganti dengan 1 record dari leaf node kanan terkecil. Menghapus node (leaf dan root), dan melanggar kapasitas minimum, maka perbaiki dengan redistribusi record. Apabila redistribusi record mengakibatkan pelanggaran kapasitas minimum pada node lain, maka lakukan coalescing node. Contoh BTree dengan order capacity d = 2.

Contoh Delete Node Pada BTree

17

2. E. HASHED FILE Metode penempatan dan pencarian yang memanfaatkan metode Hash disebut hashing atau Hash addressing dan fungsi yang digunakan disebut fungsi hashing / fungsi Hash. Fungsi hashing atau fungsi Hash inilah yang dapat menjadi salah satu alternatif dalam menyimpan atau mengorganisasi File dengan metode akses langsung. Fungsi Hash berupaya menciptakan fingerprint dari berbagai data masukan. Fungsi Hash akan mengganti atau mentransposekan data tersebut untuk menciptakan fingerprint, yang biasa disebut Hashvalue (nilai Hash). Hash value biasanya akan digambarkan sebagai suatu string pendek yang terdiri atas huruf dan angka yang terlihat random (data biner yang ditulis dalam notasiheksadesimal). Berkaitan dengan upayanya untuk menciptakan fingerprint, fungsi Hash digunakan juga pada algoritma enkripsi untuk menjaga integritas sebuah data. Dalam konsepnya modern ini selain digunakan pada penyimpanan data-, fungsi Hash adalah sebuah fungsi matematika, yang menerima masukan string yangpanjangnya sebarang, mengambil sebuah panjang variable dari string masukantersebut yang disebut pre-image, lalu mekonversinkannya ke sebuah stringkeluaran dengan ukuran tetap (fixed), dan umumnya lebih pendek dari ukuran string semula, yang disebut message digest. Pada penggunaan fungsi Hash, saat keadaan tertentu dapat terjadi tabrakan (coallision) pada home address yang dihasilkan. Yaitu saat munculnya nilai Hash yang sama dari beberapa data yang berbeda. Untuk mengantisipasi keadaan ini ada beberapa metode yang dapat digunakan, seperti perubahan fungsi Hash atau mengurangi perbandingan antara jumlah data yang tersimpan denganslot address yang tersedia. Hal-hal tersebut dapat meminimalisir tabrakan, tetapi tidak menghilangkannya. Kita tetap memerlukan collision resolution sebuah prosedur untuk menempatkan data yang memiliki address yang sama. 2.E.1. Konsep-Konsep File Hashed 1. Organisasi file dengan metode akses langsung (direct acsess ), yang menggunakan suatu fungsi untuk memetakan key menjadi address

18

2. fungsi yang digunakan disebut fungsi hash/KAT (key to address transformation) 3. Address yang dihasilkan dari hasil perhitungan fungsi hash disebut dengan istilah home address 4. Jadi, terdapat dua komponen file hash : a. Ruang rekord, yang terdiri atas m slot address b. Fungsi hash, yang mentransformasi key menjadi address 5. Transfomasi key akan mudah jika key telah berupa nilai integer, untuk key berupa karakter alphanumerik terdapat proses prakondisi untuk mengubahnya menjadi suatu nilai integer.

2.E.2. Macam- Macam Fungsi Hashed Fungsi Hash diimplementasi untuk mengkonversi himpunan kunci rekaman (K) menjadi himpunan alamat memori (L). Bisa dinotasikan dengan H : K -> L Aspek yang perlu dipertimbangkan dalam pemilihan fungsi Hash adalah : fungsi Hash harus mudah dan cepat dihitung fungsi Hash sebisa mungkin mendistribusikan posisi yang dimaksud secara uniform sepanjang himpunan L sehingga collision yang mungkin terjadi dapat diminimalkan. Ada beberapa fungsi hash yang dapat digunakan, seperti :

19

a. Key Mod N, dengan N =jumlah slot address (ukuran tabel data) data) Contoh : 25 mod 11 = 3 : 25 mod 11 = 3 jika key bernilai negatif, maka bagi |key| |dengan untuk dapatkan sisa r : untuk r = 0, maka k mod N = 0 k mod N = 0 untuk r <> 0, maka k mod N = N-r b. Key Mod P, dengan c. P = bilangan prima terkecil yang >= N

Truncation / substringing, cara transformasi yang dilakukan dengan mengambil hanya sebagian digit dari key misal jika key = 123 --45 --6789 akan dipetakan pada address yang terdiri atas 1000 slot, maka dapat dilakukan pengambilan tiga digit (secara acak atau terurut) dari key tersebut untuk menentukan addressnya.

d. Folding, dapat dilakukan dengan cara : 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 tersebut dengan cara seolah - olah melipat batas pembagian digit seperti berikut:

Tiap kelompok digit kemudian dijumlahkan dengan atau tanpa melibatkan carry. 2. Folding by shifting Contoh jika key = 123456789, maka transformasi ke 33digit address dengan teknik folding by boundary dapat dilakukan dengan membagi digit key tersebut dengan cara seolah olah menggeser batas pembagian digit seperti berikut:

20

Tiap kelompok digit kemudian dijumlahkan dengan atau tanpa melibatkan carry. e. Radix Convertion Kunci ditransformasikan menjadi bilangan basis lain untuk mendapatkan nilai hashnya. Umumnya basis yang digunakan diluar dari basis 2-10. Misalnya jika kunci 38652 akan ditempatkan dalam table berukuran 10000 dengan basis 11, maka: 3x114+8x113+6x112+5x111+2x110= 5535411 Nilai Hash 55354 telah melampaui batas Hash, makan pecehan terbesar dari harsh tersebut akan dibuang sehingga diapatkan harsh 5354.

21

f. Mid-square Kunci ditransformasikan dengan cara dikuadratkan dan diambil bagian tengahnya (asalkan jumlah digit kiri dan kanan sama) sebagai nilai Hash. Misalnya jika kunci = 3121 akan ditempatkan pada table berukuran 1000, maka 31212 = 9740641, diambil 406 sebagai nilai hashnya. g. Penambahan Kode ASCII Jika kunci bukan kode numeric, home kode ASCII setiap huruf pembentuk kunci. 2.E.3. Tabrakan Dengan menggunakan hashing, maka hubungan korespondensi satu-satu antara record key dengan alamat record akan hilang. Selalu timbul kemungkinan dimana terdapat dua buah record dengan kunci yang berbeda namun memiliki home address yang sama, dan terjadi tabrakan (collision). Tabrakan dapat diminimalisir dengan melakukan penggantian pada fungsi Hash yang digunakan, atau mengurangi packing factor. a. Packing Factor Packing factor, bisa disebut juga dengan packing density ataupun load factor adalah perbandingan antara jumlah data yang tersimpan terhadap jumlah slot address yang tersedia. Location Storage of Number Total Stored cord of Number Factor. Penggantian fungsi Hash dan pengurangan packing factor hanya meminimasisasi tabrakan, tetap dibutuhkan collision resolution. b. Collision Resolution Pada hashing untuk penempatan data, output dari fungsi Hash tidak selalu unik, namun hanya berupa kemungkinan suaru alamat yang dapat ditempati. Jika suatu home address sudah ditempati oleh record lain, maka harus dicarikan alamat lain. Proses pencarian Packing Re = alamat lain inilah yang disebut sebagai prosedur collision resolution. 1. Metode Collision Resolution a. Open addressing Metode dengan pencarian alamat alternative di alamat-alamat selanjutnya yang masih kosong. address didapatkan dari penjumlahan

22

Cara : Linear Probing Pencarian dilakukan dengan jarak pencarian tetap. Contoh Liniear Probing : F(key) = key mod 10 Ruang memori tersedia 10 alamat Probing jarak 3 Urutan kunci: 20, 31, 33, 40, 10, 12, 30, 15

Jawaban Linier Probing Key 20 31 33 40 10 12 30 15 F 0 1 3 0 0 2 0 5 Proses 0 1 3 0,3,6 0,3,6,9 2 0,3,6,9,2,5 5,8 Addr 0 1 3 6 9 2 5 8

Quardratic Probing Pencarian dilakukan dengan jarak pencarian berubah dengan perubahan tetap. Double Hashing Pencarian dilakukan menggunakan dua fungsi Hash, yaitu fungsi H1 untuk menentukan home address dan fungsi H2 untuk menentukan increment jika terjadi tabrakan. Syarat metode ini adalah ukuran table merupakan bilangan prima sehingga kemungkinan terjadinya siklus pencarian pada slot yang sama dapat dihindari. Algoritma : Tentukan home address dari key dengan fungsi H1. IF home address kosong THEN

23

Sisip record pada home address. ELSE Hitung increment dengan fungsi H2 misalnya H2 (key) = x Temukan slot kosong dengan cara increment sejauh x dari home address. IF slot kosong ditemukan THEN Sisip record pada slot kosong. ELSE Tabel telah penuh. b. Computed chaining Menggunakan pseudolink untuk menemukan next address jika terjadi collision. Tidak menyimpan actual address pada pseudolink, tapi address ditemukan dengan menghitung apa yang tersimpan pada pseudolink. Kinerja pseudolink lebih baik dibandingkan non-link karena menghilangkan penebakan lokasi (address). Algoritma : Temukan home address dari key. IF home address kosong THEN Sisip record baru ke home address. ELSE Set 3 prioritas increment untuk mencari new address : 1 : Tentukan increment (new key). 2 : Tentukan increment (key pada current address). 3 : Penjumlahan hasil prioritas 1 dan 2. WHILE new address belum kosong dan tabel belum penuh DO Cek posisi mulai dari home address untuk ke 3 prioritas untuk mencari new address yang kosong. IF new address belum kosong THEN

24

Set ke 3 nilai prioritas dengan kelipatannya. END WHILE IF tabel penuh THEN Proses sisip tidak dilakukan, keluarkan pesan Tabel Penuh. ELSE Sisip record baru pada new address. Set field pseudolink pada home address dengan kode urut prioritas yang digunakan. c. Coalesced hashing Algoritma : Tentukan home address dari key. IF home address kosong THEN Sisip record pada home address. ELSE Temukan record terakhir dari data yang telah menempati home address, dengan mengikuti link. Temukan slot kosong mulai dari yang terletak pada address paling bawah. IF slot kosong tidak ditemukan THEN File telah penuh. ELSE Sisip record pada slot kosong. Set link field dari record terakhir yang ber-home address sama ke alamat dari record yang baru disisip. d. Chained progressive overflow Algoritma : Tentukan home address dari key. IF home address kosong THEN Sisip record pada home address.

25

ELSE Temukan slot kosong yang terletak setelah home address. IF slot kosong ditemukan THEN Sisip record pada slot kosong. ELSE Tabel telah penuh.

e. Binary tree Metode yang menggunakan struktur binary tree untuk pencarian address ketika erjadi tabrakan dengan memberikan dua pilihan langkah : Continue : melanjutkan pencarian address berikutnya yang mungkin ditempati oleh record yang akan disisipkan. Move : memindahkan record yang menempati address ke address memungkinkan untuk ditempati record lama. Algoritma : Tentukan home address dari key yang akan di-sisipkan (new key). IF home address kosong THEN Sisip record pada home address. ELSE WHILE new address tidak kosong dan tabel belum penuh DO Generate binary tree untuk mendapatkan new address. berikutnya yang

2.E.4. Fungsi Hashed Satu Arah Fungsi Hashed satu arah adalah fungsi Hash yang bekerja dalam satu arah. Maksud dari satu arah disini adalah bahwa pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula (irreversible).

26

Sifat-sifat fungsi Hash satu-arah adalah sebagai berikut: 1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja. 2. H menghasilkan nilai (h) dengan panjang tetap (fixed-length output). 3. H(x) mudah dihitung untuk setiap nilai x yang diberikan. 4. Untuk setiap h yang dihasilkan, tidak mungkin dikembalikan nilai x sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan fungsi Hash satu-arah (one-way Hash function). 5. Untuk setiap x yang diberikan, tidak mungkin mencari y x sedemikian sehingga H(y) = H(x). 6. Tidak mungkin mencari pasangan x dan y sedemikian sehingga H(x) = H(y). Beberapa fungsi Hash satu-arah yang sudah dibuat, antara lain: - MD2, MD4, MD5, - Secure Hash Function (SHA), - Snefru, - N-Hash, - RIPE-MD.

27

2. F. MULTIRING FILE
2.F.1. Pengertian Multiring File Multiring File merupakan metode pengorganisasian file yang berorientasi pada pemrosesan subset dari record secara efisien. Subset tersebut digambarkan sebagai grup dari beberapa record yang terdiri dari nilai atribut yang biasa. Contohnya Semua pekerja yang berbicara bahasa Perancis. Subset dari record dihubungkan bersama secara eksplisit menggunakan pointer. Rantai penghubung ini menentukan urutan anggota dari subset. Setiap subset mempunyai record kepala yang merupakan record awal dari suatu rantai. Sebuah record kepala berisi informasi yang berhubungan dengan seluruh record anggota di bawahnya. Record-record kepala ini juga dapat dihubungkan menjadi sebuah rantai. Tipe rantai tertentu yang digunakan untuk menggambarkan hal ini dinamakan ring, yang merupakan rantai di mana pointer anggota terakhir digunakan untuk menunkuk record kepala dari rantai. Ring-ring dapat disarangkan dalam banyak level kedalaman. Dalam hal ini record anggota dari ring level ke-i record kepala ring bawahan pada level i-1. Ring level terbawah, yang berisi data terakhir, selalu dianggap berada pada level 1.

28

Gambar berikut menunjukkan hirarki sederhana dari struktur ring yang berhubungan.

Bila contoh di atas menjadi record secara individual, maka ilustrasinya sebagai berikut.

29

2.F.2. Performansi File Multiring 1. Ukuran Record (R) Proses pengestimasian akurat hanya dapat diperoleh dengan mendaftarkan semua tipe serta frekuensi dan ukurannya karena tipe tipe record berbeda yang berada pada file multiring. R = a V 2.Waktu Pengambilan Rekord Tertentu (Tf) Beberapa hal yang mendukung waktu pengambilan adalah jumlah penghubung yang dicari dan panjang penghubung. Pencarian untuk memperoleh record lengakap,sehingga x tingkat harus dilewati. Panjang multiring (y) bergantung ukuran dari file, jumlah tingkat dan cara pemartisian file menjadi multiring. Apabila satu record akan di ambil,jumlah field hirarki harus seimbang dengan jumlah argumen pencarian aF pada kunci pencarian. Untuk pengambilan normal maka aF = x = ylog n dan guna penelusuran satu tingkat,diperlukan pengaksesan y/2 record sedangkan untuk pengaksesan record tingkat bawahmaka ditelusuri Sx.y record. TF = [(x.y)/2] (s + r + btt) Pencarian dalam Multiring File adalah dengan menelusuri rantai sampai atribut nilai yang dicari ditemukan. Kemudian rantai baru dimasuki untuk menemukan atribut recod bawahan. Proses ini diulang terus sampai record yang diinginkan ditemukan. 3. Waktu Pengambilan Record Berikutnya (TN) Proses pengambilan record berikutnya dilakukan mengikuti penghubung. TN= s + r + btt

4. Waktu Penyisipan Record (TI) Proses penyisipan record waktunya dapat ditentukan dengan menentukan terlebih dahulu ruang kosong yang sesuai dan mencarisemua predesesor record yang baru.Kemudian ambil
30

nilai link yang tetapat.Setelah itu menset nilai tersebut ke record baru dan menempatkan nilai posisi record baru kedalam area link pendahulu. TI = alink(TF + TRW) + s + r + btt + TRW

Dimana: alink = banyaknya poin

5. Waktu Pembaruan Record (TU) Pada proses pembaruan record dilakukanpertama kali adalah mencari rekord yang akan diperbarui dan kemudian melakukan penulisan ulang. TU = TF + TRW

6. Waktu Pembacaan Seluruh Record (TX) Pada proses ini diperlukan rancangan file yang baik agar tidak ada recor yang dibaca lebih dari satu kali. Penelusuran terurut ruang tidak mudah karena format record

beragam.Kegiatan teknik yang terjadi yaitu pengaksesan terhadap header, kemudian pengaksesan terhadap record anggota dan mengulangi untuk header berikutnya. TX = n (1 + 1/y)(s + r + btt)

7. Waktu Reorganisasi File (TY) Pada file multiring secara formal reoganisasi jarang dilaksanakan kecuali apabila terjadi reformating.

2.F.3. Interlinked Rings Untuk pertanyaan (query) yang lebih spesifik, yaitu pertanyaan anggota rantai bawahan seperti Daftar semua tukang patri di suatu perusahaan, dara sebelumnya kurang efisien karena memerlukan pencarian yang melelahkan. Untuk keperluan ini digunakan struktur ring sebagai berikut.

31

Panah Bachman digunakan untuk menunjukkan bahwa pada kotak yang ditunjuk memiliki banyak record. Bila kita ekspansikan contoh di atas dengan memisahkan pekerja dalam berbagai lokasi ke dalam departemen-departemen yang lebih spesifik, memungkinkan akses dengan urutan senioritas, dan tambahkan warehouse pada setiap lokasi dan biarkan informasi stock tersedia.

32

Struktur diagramnya tampak sebagai berikut.

Hubungan di antara ring-ring tidak harus hirarkis. Hubungan dapat diimplementasi dengan merelasikan anggota dalam ring-ring yang sama, yang menyediakan banyak lintasan di antara record-record, atau menghubungkan ring-ring pada level yang lebih rendah kembali ke ring-ring dengan level lebih tinggi. Efektivitas dari sebuah proses dalam melokasikan sebuah record sangat bergantung pada kecocokan pasangan atribut yang membentuk argument pertanyaan dengan struktur dari file. Bila file tidak diorganisasikan secara benar, maka proses tidak dapat berjalan secara efisien, dan dibutuhkan intervensi dari pengguna.

33

2.F.4. Struktur dari Multiring File

Semua record mempunyai struktur yang sama dalam Multiring File, tetapi isi dan ukuran merupakan fungsi dari ring-ring di mana mereka berada. Sebuah Multiring File dapat mempunyai sejumlah kategori record yang berbeda. Di sini definisi file telah menyimpang dari definisi awal. Di sini record-record tidak sama formatnya, dan keanggotaan ring serta keanggotaan file harus diketahui sebelum pemrosesan. Format record yang sebenarnya bergantung pada kombinasi dari tipe-tipe ring di mana record tersebut menjadi anggota. Pasangan nilai atrinbut mengidentifikasi dirinya seperti pada pile. Tetapi biasanya tidak seperti itu, dan tiap record akan mempunyai pengidentifikasi tipe record. Pada contoh berikut, field t mengidentifikasi record ini sebagai record pekerja. Tiap record dengan tipe t akan mempunyai field data yang sama dan 7 field pointer. Pengidentifikasi ini akan memungkinkan referensi ke sebuah deskripsi format recod yang tepat, disimpan dengan deskripsi umum dari file.

34

Untuk menghubungkan record-record ke dalam ring-ring mereka, pointer-pointer akan muncul dalam sebuah record yang umum. Sebuah record dapat dimiliki oleh ring-ring sebanyak jumlah pointer yang dimilikinya. Dapat juga terdapat field-field data NULL, tetapi karena terdapat bayak tipe record dengan tujuan spesifik, file secara keseluruhan relative padat. Setiap ring pasti memiliki kepala. Kepala ini dapat berupa poin masukan, anggota dari ring lain, atau keduanya. Ketika sebuah ring dimasuki dalam sebuah pencarian, poin masukan dicatat sehingga ring ini tidak dimasuki 2 kali. 2.F.5. Manipulasi Ring Umumnya organisasi Multiring File menghindari penggandaan data dengan

menempatkan data biasa kepada semua anggota ring ke dalam record kepala dari ring. Efek negatifnya adalah dalam desain dasar ring, ketika sebuah record diambil berdasarkan kombinasi kata kunci pencarian, hasilnya yang dapat diaplikasikan dengan record tidak selalu dapat dilakukan dengan hanya atribut yang disimpan dalam anggota atau record kepala yang diakses selama pencarian sepanjang 1 lintasan. 2 alternatif yang digunakan, yaitu: 1. Pencarian Paralel melalui semua ring yang diidentifikasi dalam kata kunci pencarian dapat dilakukan, dengan menghilangkan pada record-record pada persimpangan ringring tersebut. 2. Pencarian Inisial dapat dilakukan berdasarkan atribut dengan efektivitas mempartisi terbaik. Record-record yang dikumpulkan kemudian dicek untuk ketepatan dengan menempatkan record kepala untuk tipe atribut lain yang diperlukan dan menolak record dengan nilai data yang tidak tepat. Proses yang kedua di atas diaplikasikan dengan langkah-langkah sebagai berikut. Query: Find an Employee with Location ="Thule" and Profession="Welder". Enter Location chain;

35

For each member record determine if key = Thule; When found followEmplo yee chain; For every Employee record the profession must be determined Follow the profession chain; When its header record is reached, then inspect profession header for key = Welder If the field matches the search key then Employee member record becomes output; Continue with the next Employee record; When its header record, the Location = Thule is reached, then the result is complete.

2.F.6. Keputusan Desain Ring File Lama penelusuran rantai berbanding lurus dengan ukuran rantai. Ukuran rantai-rantai individu dapat dikurangi dengan menambah jumlah rantai-rantai dan jumlah level dalam struktur file. Hal ini digambarkan dengan rumus sebagai berikut. y = xn dengan x = level y = panjang rantai n = record count Waktu pencarian untuk record dengan level terendah berkurang secara proporsional sampai akar ke-x dari record count, n, dan bertambah secara proporsional sampai level x. Sebuah atribut yang tidak mempartisi file ke dalam banyak level tidak sangat berguna seperti elemen ring.
36

Peng-Cluster-an Ring Record yang sering diakses bersama paling baik disimpan dengan derajat lokalitas yang tinggi. Satu ring umumnya dapat diletakkan seluruhnya dalam 1 silinder, seingga semua pencarian dihindari saat penelusuran cluster ring ini. Ketika referensi berulang-ulang kepada record kepala ring dibutuhkan, kepala record itu dapat berpartisipasi dalam cluster. Ring berikutnya dengan level lebih tinggi akan sulit untuk berpartisipasi, kecuali jika ruangan total yang dibutuhkan semua anggota record dan pendahulunya cukup kecil untuk disimpan dalam satu atau beberapa silinder. Dalam perubahan database yang dinamis, peng-cluster-an yang optimal sulit untu dijaga dan keuntungannya sedikit. Sebuah reorganisasi diperlukan untuk mengembalikan clustercluster. Pengkategorian Atribut Real Atribut yang merepresentasikan data real atau kontinyu tidak menyediakan partisi yang efektif kecuali jika dikategorikan secara artificial.

2.F.7. Penggunaan Multiring File Struktur Multiring merupakan dasar untuk beberapa database terbesar yang digunakan saat ini. Sistem informasi manajemen di mana banyak melibatkan tabulasi, penjumlahan, dan laporan pengecualian telah diimplementasikan menggunakan daftar Multiring ini. Beberapa masalah dalam representasi ruang geografis dan arsitektur juga telah diselesaikan dengan pendekatan Multiring. Perkembangan saat ini dalam system multifile terintegrasi bergantung pada kapabilitas yang disediakan oleh struktur ring. Masalahnya adalah desain yang cermat berdasarkan pengetahuan tentang data dan pola penggunaan diperlukan sebelum Multiring File dapat diimplementasikan.

37

2.F.8. Kinerja Multiring Kinerja system Multiring sangat bergantung pada kecocokan dari penandaan atribut ke ring-ring tertentu.

Ukuran record dalam Multiring File Karena banyak tipe record yang berbeda dalam Multiring File, estimasi akurat didapatkan hanya dengan mendaftar semua tipe, dengan frekuensi dan ukuran masing-masing. Pengambilan record dalam Multiring File Waktu untuk mengambil sebuah record adalah fungsi dari jumlah dan panjang rantai yang dicari. Panjang daripada ring bergantung pada ukuran file, jumlah level, dan seberapa baik file dipartisi ke dalam ring-ring. Pengambilan record berikutnya dari Multiring File Record berikutnya untuk urutan yang berhubungan dapat ditemukan dengan menelusuri rantai tersebut. Pemasukan ke dalam Multiring File Penambahan record ke dalam Multiring File dilakukan dengan menentukan spasi kosong yang cocok untuk record, menempatkan semua pendahulu untuk record baru, mengambil nilai dari link yang tepat dari pendahulu, menetapkannya ke dalam record baru, dan menempatkan nilai dari posisi record baru ke dalam area-area link pendahulu. Meng-Update record dalam Multiring File Jika hanya field data yang akan dirubah, update hanya memerlukan penemuan record dan penulisan ulang. Membaca seluruh Multiring File Pembacaan menurut rantai memerlukan bahwa sebuah record kepala diakses untuk setiap ring tambahan. Baik record kepala baru maupun lama diperlukan untuk bergerak di antara 2 ring. Reorganisasi Mutiring File

38

Reorganisasi sebenarnya tidak diperukan sebagau bagian dari prosedur operasi normal. Hanya saat pemformatan ulang tipe record diperlukan, record-record seperti itu harus ditulis ulang, Ini hanya memerlukan reorganisasi parsial dari file, karena perubahan terbatas pada ringring pada level-level yang menggunakan tipe-tipe record itu.

39

BAB III KESIMPULAN

Terdapat enam organisasi dasar, kebanyakan organisasi file system termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi pengaksesan file secara dasar adalah sebagai berikut : 1. File pile (pile file) Pembahasan struktur file diketahui bahwa struktur dasar paling dasar sebuah file adalah pile dan file sekuensial. File pile atau file tumpukan merupakan struktur paling sederhana. Struktur ini jarang digunakan secara praktis tapi merupakan basis evaluasi struktur-struktur lain. 2. File sekuen (sequential file) Sequential File adalah file dengan organisasi urut. Data yang disimpan diurutkan berdasarkan urutan pemasukan data (urut berdasarkan nomor record). Data yang ditambahkan selalu menempati urutan berikutnya. 3. File sekuen berindeks (indexed-sequenstial file) Index Sequential File merupakan perpaduan terbaik dari teknik sequential dan random file. Teknik penyimpanan yang dilakukan, menggunakan suatu index yang isinya berupa bagian dari data yang sudah tersortir. Index ini diakhiri denga adanya suatu pointer (penunjuk) yang bisa menunjukkan secara jelas posisi data yang selengkapnya. Index yang ada juga merupakan record-key (kunci record), sehingga kalau record key ini dipanggil, maka seluruh data juga akan ikut terpanggil. 4. File berindek majemuk (multiple-indexed file) Pada Multiple Index File (file berindex majemuk), pembaharuan dilakukan terhadap file utama bukan file overflow, karena record dicari lewat indeks, maka indeks harus dinamis. Begitu terjadi pembaharuan ( insert, update, delete) mka indeks-indeks diperbaharui mengikuti perubahan di file utama. 5. File ber-hash (hashed file) Metode penempatan dan pencarian yang memanfaatkan metode Hash disebut hashing atau Hash addressing dan fungsi yang digunakan disebut fungsi hashing / fungsi Hash. Fungsi hashing atau fungsi Hash inilah yang dapat menjadi salah satu alternatif dalam menyimpan atau mengorganisasi File dengan metode akses langsung.
40

6. File cincin (multiring file) Multiring File merupakan metode pengorganisasian file yang berorientasi pada pemrosesan subset dari record secara efisien. Subset tersebut digambarkan sebagai grup dari beberapa record yang terdiri dari nilai atribut yang biasa. Contohnya Semua pekerja yang berbicara bahasa Perancis. Keenam organisasi dasar ini dirinci dibuku Gio Wiederhold [WIE-87].

41

DAFTAR PUSTAKA

http://en.wikipedia.org/wiki/SHA_hash_functions http://www.slideshare.net/RobsProTips/the-pilefile-concept-for-efficient-document-storage-andretrieval http://www.scribd.com/doc/13045824/SIBER-Pile-File http://nofrian1.wordpress.com/2010/12/23/%E2%80%9Corganisasi-file-metode-aksesfile%E2%80%9D/ http://pdf.tp.ac.id/?pdf=file+sekuensial+berindeks

42