ORGANISASI BERKAS RELATIF -...
Transcript of ORGANISASI BERKAS RELATIF -...
ORGANISASI BERKAS RELATIF
STRUKTUR & ORGANISASI DATA 1
PENGERTIAN BERKAS RELATIF
Suatu cara yang efektif dalam mengorganisasisekumpulan record yang membutuhkan akses sebuahrecord dengan cepat adalah Organisasi BerkasRelatifDalam berkas relative ada hubungan antara keyyang dipakai untuk mengidentifikasi record denganlokasi record dalam penyimpanan sekunderUrutan record secara logic tidak ada hubungannyadengan urutan secara fisik.Record tidak perlu tersortirsecara fisik menurut nilai key
PENGERTIAN BERKAS RELATIF
PENGERTIAN BERKAS RELATIF
Bagaimana record yang ke-N dapat ditemukan ?Dalam hal ini, perlu kita buat hubungan yang akanmenerjemahkan antara NILAI KEY dan ADDRESS.
Hubungan ini dinyatakan sebagai R, yangmerupakan fungsi pemetaan :
R(NILAI KEY) ADDRESSDari nilai key ke address dalam penyimpanan sekunder
PROSES
Pada waktu sebuah record ditulis kedalam berkas relative, fungsipemetaan R digunakan untuk menerjemahkan NILAI KEY DARIRECORD menjadi ADDRESS, dimana record tersebut disimpan.Begitu pula pada waktu akan me-retrieve record dengan nilai keytertentu, fungsi pemetaan R digunakan terhadap nilai key tersebut,untuk menerjemahkan nilai key itu menjadi sebuah address dalampenyimpanan sekunder, dimana record tersebut ditemukan.Organisasi berkas relative ini tidak menguntungkan bilapenyimpanan sekundernya berupa media SASD, seperti magnetictape. Berkas relatif harus disimpan dalam media DASD, sepertimagnetic disk atau drum.Juga dimungkinkan untuk mengaksesrecord-record dalam berkas relatif secara consecutive, tetapi perludiketahui bahwa nilai key tidak terurut secara logic.
PROSES
Contoh :
PROSES
Record dalam gambar halaman sebelumnya,diretrieve secara consecutive;COW, ZEBRA,….,APE, EEL, DOG,…..CAT, BATKarena kemampuan mengakses record tertentusecara cepat, maka organisasi berkas relatif palingsering digunakan dalam proses interactive.
PROSES
Contoh :
PROSES
Dari gambar diatas, Sebuah on-line system perbankan yangmempunyai sebuah master file dan sebuah transactionfile.Field ACCOUNT NUMBER dipakai sebagai nilai keyuntuk keduan berkas tersebut.Pada saat nilai key ACCOUNT NUMBER dimasukan kedalam transaksi, nilai key tersebut akan me-retrieve secaralangsung record yang ada pada master file.Jika Trans-Type = ‘I’, maka BALANCE ACCOUNT akanditampilkan dilayar. Jika Trans-Type = ‘C’ atau ‘D’, makarecord-record dari master file Customer Account akandimodifikasi dengan AMOUNT dan DATE yang ada ditransaction file, dimana ACCOUNT NUMBER yangmenentukan lokasi record dalam berkas tersebut.
PROSES
Catatan :Kita tidak perlu mengakses semua record master file,cukup mengakses langsung record yang dikehendaki.Record dari berkas relative dapat diupdate langsungtanpa perlu merekam kembali semua recordKeuntungan dari berkas relative ini adalah kemampuanmengakses record secara langsung. Sebuah recorddapat diretrieve, insert, modifikasi atau di delete,tanpa mempengaruhi record lain dalam berkas yangsama.
TEKNIK DASAR PEMETAAN
Ada 3 teknik dasar yang digunakan untukmenyatakan fungsi pemetaan R, dimana
R(NILAI KEY) ADDRESS.1. Direct Mapping (Pemetaan Langsung)2. Directory Lookup (Pencarian Tabel)3. Calculation (Kalkulasi)
TEKNIK PEMETAAN LANGSUNG
Teknik ini merupakan teknik yang sederhana untukmenerjemahkan nilai record key menjadi address.Ada 2 cara dalam pemetaan langsung, yaitu :
Absolute Addressing (Pengalamatan Mutlak)Relative Addressing (Pengalamatan Relatif)
TEKNIK PEMETAAN LANGSUNG - PENGALAMATAN MUTLAK
R(NILAI KEY) ADDRESSNILAI KEY = ALAMAT MUTLAK
Nilai key yang diberikan oleh pemakai program samadengan ADDRESS SEBENARNYA dari record tersebutpada penyimpanan sekunder.Pada waktu record tersebut disimpan, lokasipenyimpanan record (nomor silinder, nomor permukaan,nomor record) bila dipakai Cylinder Addressing atau(nomor sector, nomor record) bila dipakai SectorAddressing harus ditentukan oleh pemakai.
TEKNIK PEMETAAN LANGSUNG - PENGALAMATAN MUTLAK
Fungsi pemetaan R sangat sederhana
Tidak membutuhkan waktu lama dalam menentukan lokasi record pada penyimpanan sekunder
Pemakai harus mengetahuidengan pasti record-record yang disimpan secara fisik
Alamat mutlak adalah device dependent. Perbaikan ataupengubahan devuce, dimanaberkas berada akan mengubahnilai key
Alamat mutlak adalah address space dependent. Reorganisasiberkas relative akanmenyebabkan nilai key berubah.
KELEBIHAN KELEMAHAN
TEKNIK PEMETAAN LANGSUNG - PENGALAMATAN RELATIF
R(NILAI KEY) ADDRESSNILAI KEY = ALAMAT RELATIF
Alamat Relatif dari sebuah record dalam sebuahberkas adalah urutan record tersebut dalamberkas.Sebuah berkas dengan N record mempunyai recorddengan alamat relative dari himpunan (1,2,3,…,N-2, N-1). Record yang ke I mempunyai alamatrelative I atau I-1 (bila mulai dihitungnya dari 0).
TEKNIK PEMETAAN LANGSUNG - PENGALAMATAN RELATIF
Fungsi pemetaan R sangatsederhana
Nilai key dari sebuah recorddapat ditentukan lokasirecordnya dalam sebuahpenyimpanan sekunder tanpamemerlukan waktu proses yangberarti.
Alamat Relatif adalah bukandevice dependent
Alamat Relatif adalah addressspace dependent
Terjadinya pemborosan ruangan
KELEBIHAN KELEMAHAN
TEKNIK PENCARIAN TABEL
Dasar pemikiran pendekatan pencarian tableadalah sebuah table atau direktori dari nilai keydan address. Untuk menemukan sebuah recorddalam berkas relative, pertama dicari dalamdirektori nilai key dari record tersebut, yang akanmenunjukkan alamat dimana record tersebutberada dalam penyimpanan.
TEKNIK PENCARIAN TABEL
TEKNIK PENCARIAN TABEL
Data dalam direktori tersebut disusun secara urut menurutnilai key, sehingga pencarian nilai key dalam direktori lebihcepat dengan binary search dibandingkan sequentialsearch. Alternatif lain, direktori dapat disusun dalam binarysearch tree, M-way search tree atau B-tree.Keuntungan dari Pencarian Tabel :
Sebuah record dapat diakses dengan cepat, setelah nilai keydalam direktori ditentukan.Nilai key dapat berupa field yang mudah dimengerti sepertiPART NUMBER, NPM, karena nilaimkey tersebut akanditerjemahkan menjadi alamat.Nilai key adalah address space independent, dimanareorganisasi berkas tak akan mempengaruhi nilai key, yangberubah adalah alamat dalam direktori.
TEKNIK KALKULASI ALAMAT
R(NILAI KEY) ADDRESSAdalah dengan melakukan kalkulasi terhadap nilai key, hasilnyaadalah alamat relatif.
Ide dasar dari kalkulasi alamat adalah mengubahjangkauan nilai key yang mungkin, menjadi sejumlah kecilalamat relative.Salah satu kelemahan dari teknik pengalamatan relativeadalah ruang harus disediakan sebanyak jangkauan nilaikey, terlepas dari berapa banyak nilai key.Salah satu masalah dari teknik ini adalah ditemukannyaalamat relative yang sama untuk nilai key yang berbeda.
TEKNIK KALKULASI ALAMAT
Keadaan dimana :R(K1) = R(K2)K1 ≠ K2
Kondisi seperti ini disebut benturan (Collision)Sedangkan nilai K1 dan K2 disebut synonym.
Synonym adalah dua atau lebih nilai key yang berbedapada hash ke home address yang sama
TEKNIK KALKULASI ALAMAT
Teknik-teknik yang terdapat pada kalkulasi alamat:Scatter storage techniquesRandomizing techniqueKey-to-address transformation methodsDirect addressing techniquesHash table methodsHashing
TEKNIK KALKULASI ALAMAT - HASHING
Disini yang akan kita bahas mengenai taknik hashing. Kalkulasiterhadap nilai key untuk mendapatkan sebuah alamat disebut fungsihash.Keuntungan pemakaian Hashing :
Nilai key yang sebenarnya dapat dipakai karena diterjemahkan kedalam sebuah alamat.Nilai key adalah address space independent bila berkas direorganisasi,fungsi hash berubah tetapi nilai key tetap.
Kelemahannya :Distribusi nilai key yang dipakaiBanyaknya nilai key yang dipakai relative terhadap ukuran dari ruangalamatBanyaknya record yang dapat disimpan pada alamat tertentu tanpamenyebakan benturanTeknik yang dipakai untuk mengatasi benturan
TEKNIK KALKULASI ALAMAT - HASHING
Hashing dapat digunakan bersama-sama dengan pencarian table
TEKNIK KALKULASI ALAMAT - HASHING
Penampilan fungsi hash bergantung pada :Distribusi nilai key yang dipakaiBanyaknya nilai key yang dipakai relative terhadap ukuran dariruang alamatBanyaknya record yang dapat disimpan pada alamat tertentutanpa menyebabkan benturanTeknik yang dipakai untuk mengatasi benturan
Beberapa fungsi hash yang umum digunakan :Division RemainderMid SquareFolding
TEKNIK KALKULASI ALAMAT - HASHING
Division RemainderPada division remainder, alamat relative dari suatunilai key merupakan sisa dari hasil pembagian nilaikey tersebut dengan suatu bilangan yang disebutsebagai bilangan pembagi.
TEKNIK KALKULASI ALAMAT - HASHING
Contoh :Bila DIV adalah pembagi, KEY adalah nilai key dan ADDR adalah alamat relative, maka dalam bahasa Pascal, fungsiR(NILAI KEY) ADDRESS. Dapat diimplementasikan :
ADDR := KEY MOD DIV
Dalam bahasa COBOL :DIVIDE KEY BY DIV GIVING TEMP REMAINDER ADDR
Sisa pembagian (sebagai hasil dari fungsi MOD padaPascal), dapat dijabarkan sebagai berikut :
ADDR := KEY – DIV * TEMPADDR harus merupakan bilangan integer.
TEKNIK KALKULASI ALAMAT - HASHING
Banyak faktor yang harus dipertimbangkan dalam pemilihan pembagi :Jangkauan dari nilai key yang dihasilkan dari operasi KEY MOD DIV adalah 0sampai DIV-1.Nilai dari DIV menentukan ukuran “relatif address space”.Jikadiketahui berkas relatif terdiri dari N record dan dianggap hanya satu recorddapat disimpan dalam sebuah alamat relatif, maka akan didapat DIV > NPembagi harus diseleksi untuk mengurangi benturan. Penyelidikan menunjukkanbahwa pembagi yang berupa bilangan genap akan cenderung jelek, terutamadengan nilai key-nya yang dominan ganjil.Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan bilanganprima. Tetapi riset lain dari V.Y.Lum, menyatakan pembagi yang bukan bilanganprima akan memberikan hasil yang sama baik seperti bilangan prima.Menurut pendapatnya, bukan bilangan prima yang mempunyai faktor primakurang dari 20 akan dapat memberikan jaminan penampilan yang lebih baikWalaupun kita telah menentukan pembagi dengan baik untuk mengatasibenturan, bila ruang alamat dari berkas relative mendekati penuh, makapeluang terjadinya benturan akan meningkat.
TEKNIK KALKULASI ALAMAT - HASHING
Untuk mengukur kepenuhan berkas relative digunakan Load Factor(Faktor Muat)
Biasanya load factor yang sering digunakan adalah 0.7 atau 0.8. Jika load factor lebih besar dari 0.7 atau 0.8 maka berkas tersebutharus diperbesar dan direorganisasi.Jadi jika ingin menyimpan sebanyak n record pada suatu berkasdan load factor adalah 0.8, maka max banyak record pada berkasadalah 1.25 n
max = 1.25 n
TEKNIK KALKULASI ALAMAT - HASHING
TEKNIK KALKULASI ALAMAT - HASHING
TERIMA KASIH