BERKAS DAN AKSES MATERI KULIAH BAB 1
: SISTEM FILE
BAB 2
Pengertian Berkas / File Klasifikasi file berdasarkan fungsi Klasifikasi file berdasarkan model pengaksesan Jenis-jenis pengorganisasian file Pengoperasian file
: MEDIA PENYIMPANAN FILE
BAB 3
Jenis-jenis media penyimpanan Magnetic tape Representasi data Parity dan Error Control Sistem Block Menghitung kapasitas penyimpanan dan waktu akses Magnetic Disk Karakteristik secara fisik Representasi data dan pengalamatan Organisasi berkas dan metode akses Keuntungan dan keterbatasan penggunaan magnetic disk
: ORGANISASI BERKAS SEQUENTIAL
Pengertian berkas sequential Pembuatan berkas sequential Retrieval berkas sequential Update terhadap berkas sequential
BAB 4 : ORGANISASI BERKAS RELATIF Pengertian berkas relatif Teknik pemetaan langsung Teknik pengalamatan mutlak Teknik pengalamatan relatif Teknik pencarian tabel Teknik kalkulasi alamat Division remainder Mid square Folding Perbandingan ketiga teknik kalkulasi alamat Widiastuti, Skom./BerkasAkses.1
BAB 5
BAB 6
Masalah collision Teknik pengalokasian synonym key Open addressing Separate overflow Pendekatan terhadap masalah collision Linier probing Double hashing Synonym chaining Bucket addressing
: ORGANISASI BERKAS INDEKS SEQUENTIAL Pengertian berkas indeks sequential Struktur indeks Struktur pohon biner Struktur pohon B+ Pendekatan pohon B+ Indeks block dan data block Penyajian indeks secara fisik Prime & overflow data area
: ORGANISASI BERKAS DENGAN BANYAK KEY
BAB 7
: SORT & MERGE FILE
BAB 8
Pengertian pengaksesan berkas dengan banyak key Organisasi inverter file Organisasi multi-list file Perbandingan Pengertian sort dan merge file Natural merge Balanced merge Polyphase merge Cascade merge
: PENGENALAN KONTROL INPUT / OUTPUT
Widiastuti, Skom./BerkasAkses.1
Definisi dan persyaratan kontrol I/O Direktori berkas dan kontrol informasi Kontrol peralatan Manajemen saluran Manajemen buffer
TUJUAN BERKAS DAN AKSES Dapat memahami organisasi berkas serta manipulasinya. Dapat menjelaskan organisasi berkas dan manajemen. Dapat menjelaskan file storage. Dapat menjelaskan macam-macam device. Manipulasi file : sorting dan merging. Mampu bekerja dengan berbagai jenis organisasi berkas.
Widiastuti, Skom./BerkasAkses.1
REFERENSI ♦ Bunawan & Kalya P., Seri Diktat Kuliah, Berkas dan Akses, Penerbit Gunadarma, 1990. ♦ Loomis M. E. S., Data Management And File Structures, Second Edition, Prentice Hall International, 1989. ♦ Date, C.J., An Introduction To Database Systems, 5th Edition, Addison-Wesley Reading, MA, 1991. ♦ Szymanski R.A. at all, Introduction To Computers And Information Systems, Second Edition, Macmilan Publishing Company, 1991. ♦ Tharp A.L., File Organization And Processing, John Willey & Son, New York, 19988.
Widiastuti, Skom./BerkasAkses.1
BAB 1 SISTEM FILE Berkas Dan Akses Sistem penyimpanan, pengelolaan dan penyimpanan data pada alat penyimpan eksternal. Pada berkas dan akses penyimpanan data dilakukan secara fisik. File Kumpulan dari record-record yang saling berhubungan.
Klasifikasi Data 1. Kelompok Data Tetap Kelompok data yang tidak mengalami perubahan, paling tidak dalam kurun waktu yang lama. Contoh : Data pribadi mahasiswa. 2. Kelompok Data Tak Tetap Kelompok data yang secara rutin mengalami perubahan. Contoh : Data rencana studi mahasiswa. 3. Kelompok Data Yang Bertambah Menurut Waktu Kelompok data ini biasanya merupakan data akumulasi dari kelompok data tetap dan data tak tetap. Contoh : Data transkrip.
KLasifikasi File 1. 2. 3. 4. 5. 6. 7. 8. 9.
Master File (Berkas Induk) Transaction File (Berkas Transaksi) Report File (Berkas Laporan) Work File (Berkas Kerja) Program File (Berkas Program) Text File (Berkas Teks) Dump File (Berkas Tampung) Library File (Berkas Pustaka) History File (Berkas Sejarah)
Widiastuti, Skom./BerkasAkses.1
1. MASTER FILE; Adalah file yang berisi data yang relatif tetap. Contoh : Organisasi sebuah pabrik : * Payroll Master File * Customer Master File * Personnel Master File * Inventory Master FIle Ada 2 jenis Master File : 1.
Reference Master File;
File yang berisi record yang tak berubah / jarang berubah. Contoh : Berkas pelanggan yang berisi field nomor rekening, nama dan alamat. 2.
Dynamic Master File;
File yang berisi record yang terus menerus berubah dalam kurun waktu tertentu atau berdasarkan suatu peristiwa transaksi. Contoh : •
Berkas stock barang
•
Berkas pemesanan tempat duduk
2. TRANSACTION FILE Adalah file yang berisi record-recod yang akan memperbaharui / meng-update recordrecord yang ada pada master file. Meng-update dapat berupa : Penambahan record, penghapusan dan perbaikan record. 3. REPORT FILE Adalah file yang berisi data yang dibuat untuk laporan / keperluan user. File tersebut dapat dicetak pada kertas printer atau hanya ditampilkan di layar.
Widiastuti, Skom./BerkasAkses.1
4. WORK FILE Merupakan file sementara dalam sistem. Suatu work file merupakan alat untuk melewatkan data yang dibuat oleh sebuah program ke program lain. Biasanya file ini dibuat pada waktu proses sortir. 5. PROGRAM FILE Adalah file yang berisi instruksi-instruksi untuk memproses data yang akan disimpan pada file lain / pada memori utama. Instruksi tersebut dapat ditulis dalam bahasa tingkat tinggi (COBOL, FORTRAN, BASIC, dan lain-lain), bahasa assembler dan bahasa mesin. 6. TEXT FILE Adalah file yang berisi input data alphanumeric dan grafik yang digunakan oleh sebuah text editor program. Text file hanya dapat diproses dengan text editor. 7. DUMP FILE Adalah file yang digunakan untuk tujuan pengamanan (security), mencatat tentang kegiatan peng-update-an, sekumpulan transaksi yang telah diproses atau sebuah program yang mengalami kekeliruan. 8. LIBRARY FILE Adalah file yang digunakan untuk penyimpanan program aplikasi, program utilitas atau program lainnya. 9. HISTORY FILE File ini merupakan tempat akumulasi dari hasil pemrosesan master file dan transaction file. File ini berisikan data yang selalu bertambah, sehingga file ini terus berkembang, sesuai dengan kegiatan yang terjadi.
Widiastuti, Skom./BerkasAkses.1
Contoh : Gambar di bawah ini menunjukkan system flow diagram dari suatu sistem penggajian sementara untuk menghasilkan paycheck berdasarkan timecard dan payroll information.
TIME CARD
SORT PROGRAM
SORT WORKFILE
PAYROLL MASTER
SORTED TIMECARDS
PAY RECORD UPDATE PROGRAM
REJECT TIMECARDS
PAYCHECKS DETAIL
LIST UTILITY PROGRAM
PAYCHECK WRITER PROGRAM
RECONCILIATION REPORT WRITER PROGRAM
PAYCHECKS
RECONCILATION REPORT
REJECT REPORT
Widiastuti, Skom./BerkasAkses.1
RECONCILIATIO N DETAIL
Tabel dibawah ini menunjukkan klasifikasi file dari sistem flow diagram. FILE Time cards Sort Program Sort Work File Sorted – Time Cards Payroll Master Pay Record Update Program Reject Time Cards Pay Check Detail Reconciliation Detail List Utility Program Reject Report Paycheck Writer Program Pay Checks Reconciliation Report Writer Program Reconciliation Report
FUNGSI Transaction Program Work Transaction Master Program Work Work Work Program Report Program Report Program Report
MODEL AKSES FILE Ada 3 model akses yang mungkin oleh sebuah program terhadap file, yaitu : 1. Input 2. Output 3. Input / Output 1. INPUT FILE; Adalah file yang hanya dapat dibaca dengan program. Contoh : • Transaction file merupakan input file untuk meng-update program • Program file dari source code merupakan input file untuk program compiler 2. OUTPUT FILE; Adalah file yang hanya dapat ditulis oleh sebuah program / file yang dibuat dengan program. Contoh : • Report file merupakan output dari program yang meng-update master file. • Program file yang berupa object code merupakan output file dari program compiler. Widiastuti, Skom./BerkasAkses.1
3. INPUT / OUTPUT FILE; Adalah file yang dapat dibaca dari dan ditulis ke selama eksekusi program. Contoh : • Master File (Berkas Induk) • Work File dengan sort program (Berkas Kerja) Tabel di bawah ini menunjukkan model akses dari sistem flow diagram. Program File 1. Sort
Input File timecard
2. Pay record update
sorted timecards
3. Paycheck writer 4. Reconciliation report writer 5. List utility Note :
paycheck detail reconciliation detail
Output File sorted timecards reject timecards paycheck deetail reconciliation detail paychecks reconciliation report
reject timecards
reject report
I / O File sort workfile payroll master
Sebuah file mempunyai lebih dari satu fungsi jika digunakan oleh lebih dari satu program.
ORGANISASI FILE Adalah suatu teknik atau cara yang digunakan menyatakan dan menyimpan record-record dalam sebuah file. Ada 4 teknik dasar organisasi file, yaitu : 1. Sequential 2. Relative 3. Indexed Sequential 4. Multi – Key Secara umum keempat teknik dasar tersebut berbeda dalam cara pengaksesannya, yaitu : 1.
Direct Access
2.
Sequential Access
1. Direct Access; Widiastuti, Skom./BerkasAkses.1
Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh record yang ada. Contoh : Magnetic Disk. 2. Sequential Access; Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record di depannya. Contoh : Magnetic Tape. Faktor-faktor yang mempengaruhi dalam proses pemilihan organisasi file : •
Karakteristik dari media penyimpanan yang digunakan
•
Volume dan frekuensi dari transaksi yang diproses
•
Respontime yang diperlukan
Cara memilih organisasi file tidak terlepas dari 2 aspek utama, yaitu : 1.
Model Penggunaannya
2.
Model Operasi File
Menurut penggunaannya ada 2 cara : 1.
Batch;
Suatu proses yang dilakukan secara group atau kelompok. 2.
Interactive;
Suatu proses yang dilakukan secara satu persatu, yaitu record demi record. Menurut operasi file ada 4 cara : 1.
Creation;
Membuat struktur file lebih dahulu, menentukan banyak record baru,
kemudian record-record dimuat ke dalam file tersebut. 2.
Membuat file dengan cara merekam record demi record. Update;
Widiastuti, Skom./BerkasAkses.1
Untuk menjaga agar file tetap up to date. Insert / Add, Modification, Deletion. 3.
Retrieval;
Pengaksesan sebuah file dengan tujuan untuk mendapatkan informasi. Inquiry; Volume data rendah, model proses interactive. Report Generation; Volume data tinggi, model proses batch. File Retrieval terbagi 2, yaitu : 1.
Comprehensive Retrieval;
Mendapatkan informasi dari semua record dalam sebuah file. Contoh : * Display all * List nama, alamat 2.
Selective Retrieval;
Mendapatkan informasi dari record-record tertentu berdasarkan persyaratan tertentu. Contoh : * List for gaji = 100000 * List nama, npm, for angkatan = 93 4. Maintenance; Perubahan yang dibuat terhadap file dengan tujuan memperbaiki penampilan program dalam mengakses file tersebut.
Restructuring
Perubahan struktur file. Misalnya : Panjang field diubah, penambahan field baru, panjang record dirubah.
Reorganization
Perubahan organisasi file dari organisasi yang satu, menjadi organisasi file yang lain. Misalnya : Widiastuti, Skom./BerkasAkses.1
* Dari organisasi file sequential menjadi indeks sequential. * Dari direct menjadi sequential. Secara umum dapat disimpulkan : Untuk master file dan program file kita dapat melakukan created, update, retrieval from dan maintenanced. Untuk work file kita dapat melakukan created, update dan retrieved from tapi tidak dapat kita maintenanced. Untuk report file umumnya tidak di-update, retrieve from atau maintenanced. Untuk transaction file, umumnya hanya dapat di created dan digunakan untuk sekali proses. Sistem File : Sebuah sistem file sangat membantu para programmer untuk memungkinkan mereka mengakses file, tanpa memperhatikan detail dari karakteristik dan waktu penyimpanan. Sistem file ini juga yang mengatur direktori, device access dan buffer. Tugas dari sistem file : Memelihara direktori dari identifikasi file dan lokasi informasi. Menetukan jalan (pathway) bagi aliran data antara main memory dan alat penyimpan sekunder. Mengkoordinasi komunikasi antara CPU dan alat penyimpan sekunder dan sebaliknya. Menyiapkan file penggunaan input atau output. Mengatur file, bila penggunaan input atau output telah selesai.
Widiastuti, Skom./BerkasAkses.1
BAB 2 MEDIA PENYIMPANAN BERKAS Media Penyimpanan Adalah peralatan fisik yang menyimpan representasi data. Media penyimpanan / storage atau memori dapat dibedakan atas 2 bagian : 1) Primary Memory
⇒ Primary Storage (Internal Storage)
2) Secondary Memory
⇒ Secondary Storage (External Storage)
Primary Memory (Main Memory) Ada 4 bagian di dalam Primary Storage, yaitu : 3.
Input Storage Area; Untuk menampung data yang dibaca. 4.
Program Storage Area;
Penyimpanan instruksi-instruksi untuk pengolahan. 5.
Working Storage Area;
Tempat dimana pemrosesan data dilakukan. 6.
Output Storage Area;
Penyimpanan informasi yang telah diolah untuk sementara waktu sebelum disalurkan ke alat-alat output. CONTROL UNIT SECTION
INPUT STORAGE AREA
PROGRAM STORAGE AREA WORKING STORAGE AREA
OUTPUT STORAGE AREA
PRIMARY STORAGE SECTION
ARITHMETIKA LOGICAL UNIT SECTION
Control unit section, Primary storage section, ALU section adalah bagian dari CPU. Widiastuti, Skom./BerkasAkses.1
Berdasarkan hilang atau tidaknya berkas data atau berkas program di dalam storage, yaitu : 1)
Volatile Storage;
Berkas data atau program akan hilang, bila listrik dipadamkan. 2)
Non Volatile Storage;
Berkas data atau program tidak akan hilang, sekalipun listrik dipadamkan. Primary Memory Komputer terdiri atas 2 bagian : RAM (Random Access Memory); Bagian dari main memory yang dapat kita isi dengan data atau program dari disket atau sumber lain. Dimana data-data dapat ditulis maupun dibaca pada lokasi dimana saja di dalam memori. RAM bersifat volatile. ROM (Read Only Memory); Memori yang hanya dapat dibaca. Pengisian ROM dengan program maupun data, dikerjakan oleh pabrik. ROM biasanya sudah ditulisi program maupun data dari pabrik dengan tujuan-tujuan khusus. Misal : diisi penterjemah (intrepreter) bahasa BASIC. Jadi ROM tidak termasuk sebagai memori yang dapat kita pergunakan untuk programprogram yang kita buat. ROM bersifat non volatile. Tipe-tipe lain dari ROM chip : PROM (Programmable Read Only Memory); Jenis dari memori yang hanya dapat diprogram. PROM dapat diprogram oleh user / pemakai, data yang diprogram akan disimpan secara permanen. EPROM (Erasable Programmable Read Only Memory); Jenis memori yang dapat diprogram oleh user. EPROM dapat dihapus dan diprogram ulang. EEPROM (Electrically Erasable Programmable Read Only Memory); Memori yang dapat diprogram ileh user. EEPROM dapat dihapus dan diprogram ulangs ecara elektrik tanpa memindahkan chip dari circuit board.
Widiastuti, Skom./BerkasAkses.1
Secondary Memory (Auxiliary Memory) Memori dari CPU sangat terbatas sekali dan hanya dapat menyimpan informasi untuk sementara waktu. Oleh sebab itu alat penyimpan data yang permanen sangat diperlukan. Informasi yang disimpan pada alat-alat tersebut dapat diambil dan ditransfer pada CPU pada saat diperlukan. Alat tersebut dinamakan Secondary Memory (Auxiliary Memory) atau backing storage. Ada 2 jenis Secondary Storage : •
Serial / Sequential Access Storage Device (SASD); Contoh : Magnetic tape, punched card, punched paper tape.
•
Direct Access Storage Device (DASD); Contoh : Magnetic disk, floopy disk, mass storage.
Beberapa pertimbangan di dalam memilih alat penyimpan :
Cara penyusunan data Kapasitas penyimpan Waktu akses Kecepatan transfer data Harga Persyaratan pemeliharaan Standarisasi
HIERARKI STORAGE
Faster access time
Primary Storage
Direct Access Storage Device Sequential Access Storage Device Widiastuti, Skom./BerkasAkses.1
Larger capacity and Lower cost per-bit storage
MAGNETIC TAPE Magnetic tape adalah model pertama dari pada secondary memory. Tape ini juga dipakai untuk alat input / output dimana informasi dimasukkan ke CPU dari tape dan informasi diambil dari CPU lalu disimpan pada tape lainnya. Panjang tape pada umumnya 2400 feet, lebarnya ½ inch dan tebalnya 2 mm. Data disimpan dalam bintik kecil yang bermagnit dan tidak tampak pada bahan plastik yang dilapisi ferroksida. Flexible plastiknya disebut Mylar. Mekanisme aksesnya adlah tape drive. Jumlah data yang ditampung tergantung pada model tape yang digunakan. Untuk tape yang panjangnya 2400 feet, dapat menampung kira-kira 23.000.000 karakter. penyimpanan data pada tape adalah dengan cara sequential. Representasi Data dan Density pada Magnetic Tape Data direkam secara digit pada media tape sebagai titik-titik magnetisasi pada lapisan ferroksida. Magnetisasi positif menyatakan 1 bit, sedangkan magnetisasi negatif menyatakan 0 bit atau sebaliknya (tergantung tipe komputer dari pabriknya). Tape terdiri atas 9 track. 8 track dipakai untuk merekam data dan track yang ke-9 untuk koreksi kesalahan. Salah satu karakteristik yang penting dari tape adalah Density (kepadatan) dimana data disimpan. Density adalah fungsi dari media tape dan drive yang digunakan untuk merekam data ke media tape. Satuan yang digunakan density adalah bytes per-inch (bpi). Umumnya density dari tape adalah 1600 bpi dan 6250 bpi. Bpi (bytes per-inch) ekivalen dengan characters perinch.
Widiastuti, Skom./BerkasAkses.1
Parity dan Error Control pada Magnetic Tape Salah satu teknik untuk memeriksa kesalahan data pada magnetic tape adalah dengan teknik parity check. Ada 2 macam parity check : (Dilakukan oleh komputer secara otomatis tergantung jenis komputer yang digunakan). Odd Parity (Parity Ganjil); Jika data direkam dengan menggunakan Odd Parity, maka jumlah 1 bit (yang merepresentasikan suatu karakter) adalah Ganjil. Jika jumlah 1 bitnya sudah ganjil, maka parity bit (yang terletak pada track ke-9) adalah 0 bit; tetapi jika jumlah 1 bitnya masih genap, maka parity bitnya adalah 1 bit. Even Parity (Parity Genap); Bila kita merekam data dengan menggunakan even parity, maka jumah 1 bit (yang merepresentasikan suatu karakter) adalah Genap. Jika jumlah 1 bitnya sudah genap, maka parity bit (yang terletak pada track ke-9) adalah 0 bit; tetapi jika jumlah 1 bitnya masih ganjil, maka parity bitnya adalah 1 bit. Contoh : Track 1 2 3 4 5 6 7 8
: : : : : : : :
0 1 1 0 1 1 0 0
0 1 1 1 1 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 1 1 1
0 1 1 0 1 0 1 1
0 1 1 1 0 0 0 1
Bagaimana isi dari track ke-9, jika untuk merekam data digunakan odd parity dan even parity ?
Widiastuti, Skom./BerkasAkses.1
Jawab : Odd Parity Track 9
: 1 1 0 0 0 1
Even Parity Track 9
: 0 0 1 1 1 0
Sistem Block pada Magnetic Tape Data yang dibaca dari atau ditulis ke tape dalam suatu group karakter disebut block. Suatu block adalah jumlah terkecil dari data yang dapat ditransfer antara secondary memory dan primary memory pada saat akses. Sebuah block dapat terdiri dari satu atau lebih record. Sebuah block dapat merupakan physical record. Diantara 2 block terdapat ruang yang kita sebut sebagai Gap (interblock gap). Bagian dari tape yang menunjukkan data block dan interblock gap. Panjang masing-masing gap adalah 0.6 inch. Ukuran block dapat mempengaruhi jumlah data/record yang dapat disimpan dalam tape. Keuntungan penggunaan magnetic tape :
Panjang record tidak terbatas
Density data tinggi
Volume penyimpanan datanya besar dan harganya murah
Kecepatan transfer data tinggi
Sangat efisien bila semua/kebanyakan record dari sebuah tape file
memerlukan pemrosesan seluruhnya (bersifat serial / sequential). Keterbatasan penggunaan magnetic tape : 4.
Akses langsung terhadap record lambat
5.
Masalah lingkungan
6.
Memerlukan penafsiran terhadap mesin
7.
Proses harus sequential (bersifat SASD)
Widiastuti, Skom./BerkasAkses.1
MAGNETIC DISK RAMAC (Random Access) adalah DASD pertama yang dibuat oleh industri komputer. Pada magnetic disk kecepatan rata-rata rotasi piringannya sangat tinggi. Access arm dengan read / write head yang posisinya diantara piringan-piringan, dimana pengambilan dan penyimpanan representasi datanya pada permukaan piringan. Data disimpan dalam track. Karakteristik Secara Fisik pada Magnetic Disk Disk Pack adalah jenis alat penyimpanan pada magnetic disk, yang terdiri dari beberapa tumpukan piringan aluminium. Dalam sebuah pack / tumpukan umumnya terdiri dari 11 piringan. Setiap piringan diameternya 14 inch (8 inch pada mini disk) dan menyerupai piringan hitam. Permukaannya dilapisi dengan metal-oxide film yang mengandung magnetisasi seperti pada magnetic tape. Banyak track pada piringan menunjukkan karakteristik penyimpanan pada lapisan permukaan, kapasitas disk drive dan mekanisme akses. Disk mempunyai 200 – 800 track per-permukaan (banyaknya track pada piringan adalah tetap). Pada disk pack yang terdiri dari 11 piringan mempunyai 20 permukaan untuk menyimpan data. Kedua sisi dari setiap piringan digunakan untuk menyimpan data, kecuali pada permukaan yang paling atas dan paling bawah tidak digunakan untuk menyimpan data, karena pada bagian tersebut lebih mudah terkena kotoran / debu dari pada permukaan yang di dalam. Juga arm pada permukaan luar hanya dapat mengakses separuh data. Untuk mengakses, disk pack disusun pada disk drive yang didalamnya mempunyai sebuah controller, access arm, read / write head dan mekanisme untuk rotasi pack. Ada disk drive yang dibuat built-in dengan disk pack, sehingga disk pack ini tidak dapat dipindahkan yang disebut non-removable. Sedangkan disk pack yang dapat dipindahkan disebut removable. Disk controller menangani perubahan kode dari pengalamatan record, termasuk pemilihan drive yang tepat dan perubahan kode dari posisi data yang dibutuhkan disk pack
Widiastuti, Skom./BerkasAkses.1
pada drive. Controller juga mengatur buffer storage untuk menangani masalah deteksi kesalahan, koreksi kesalahan dan mengontrol aktivitas read / write head. Susunan piringan pada disk pack berputar terus-menerus dengan kecepatan perputarannya 3600 per-menit. Tidak seperti pada tape, perputaran disk tidak berhenti di antara piringan-piringan pada device. Kerugiannya bila terjadi situasi dimana read / write head berbenturan dengan permukaan penyimpanan record pada disk, hal ini disebut sebagai head crash. Representasi Data dan Pengalamatan Data pada disk juga di block seperti data pada magnetic tape. Pemanggilan sebuah block adalah banyaknya data yang diakses pada sebuah storage device. Data dari disk dipindahkan ke sebuah buffer pada main storage computer untuk diakses oleh sebuah program. Kemampuan mengakses secara direct pada disk menunjukkan bahwa record tidak selalu diakses secara sequential. Ada 2 yeknik dasar untuk pengalamatan data yang disimpan pada disk, yaitu : Metode Silinder; Pengalamatan berdasarkan nomor silinder, nomor permukaan dan nomor record. Semua track dari disk pack membentuk suatu silinder. jadi bila suatu disk pack dengan 200 track per-permukaan, maka mempunyai 200 silinder. Bagian nomor permukaan dari pengalamatan record menunjukkan permukaan silinder record yang disimpan. Jika ada 11 piringan, maka nomor permukaannya dari 0 – 19 (1 – 20). Pengalamatan dari nomor record menunjukkan dimana record terletak pada track yang ditunjukkan dengan nomor silinder dan nomor permukaan. Metode Sektor; Setiap track dari pack dibagi ke dalam sektor-sektor. Setiap sektor adalah storage area untuk banyaknya karakter yang tetap. Pengalamatan recordnya berdasarkan nomor sektor, nomor track dan nomor permukaan. Nomor sektor yang diberikan oleh disk controller menunjukkan track mana yang akan diakses dan pengalamatan record terletak pada track yang mana. Widiastuti, Skom./BerkasAkses.1
Setiap track pada setiap piringan mempunyai kapasitas penyimpanan yang sama, meskipun diameter tracknya berlainan. Keseragaman kapasitas dicapai dengan penyesuaian density yang tepat dari representasi data untuk setiap ukuran track. Keuntungan lain pendekatan keseragaman kapasitas adalah file dapat ditempatkan pada disk tanpa merubah lokasi nomor sektor (track atau cylinder) pada file. Movable-Head Disk Access Movable-head disk drive mempunyai sebuah read/write head untuk setiap permukaan penyimpanan recordnya. Sistem mekanik yang digunakan oleh kumpulan posisi dari access-arm sedemikian sehingga read / write head dari pengalamatan permukaan menunjuk ke track. Semua access-arm pada device dipindahkan secara serentak tetapi hanya head yang aktif yang akan menunjuk ke permukaan. Cara Pengaksesan Record yang Disimpan pada Disk Pack Disk controller merubah kode yang ditunjuk oleh pengalamatan record dan menunjuk track yang mana pada device tempat record tersebut. Access arm dipindahkan, sehingga posisi read / write head terletak pada silinder yang tepat. Read / write head ini menunjuk ke track yang aktif. Maka disk akan berputar hingga menunjuk record pada lokasi read / write head. Kemudian data akan dibaca dan ditransfer melalui channel yang diminta oleh program dalam komputer. ACCESS TIME = SEEK TIME (pemindahan arm ke cylinder) + HEAD ACTIVATION TIME (pemilihan track) + ROTATIONAL DELAY (pemilihan record) + TRANSFER TIME •
Seek Time; Adalah waktu yang dibutuhkan untuk menggerakkan read / write head pada disk ke posisi silinder yang tepat.
•
Head Activational Time; Adalah waktu yang dibutuhkan untuk menggerakkan read / write head pada disk ke posisi track yang tepat.
Widiastuti, Skom./BerkasAkses.1
•
Rotational Delay (Lateney); Adalah waktu yang dibutuhkan untuk perputaran piringan sampai posisi record yang tepat.
•
Transfer Time; Adalah waktu yang menunjukkan kecepatan perputaran dan banyaknya data yang ditransfer.
Fixed - Head Disk Access Disk yang mempunyai sebuah read / write head untuk setiap track pada setiap permukaan penyimpanan, yang mekanisme pengaksesannya tidak dapat dipindahkan dari cylinder ke cylinder. ACCESS TIME = HEAD-ACTIVATION TIME + ROTATIONAL DELAY + TRANSFER TIME Banyaknya read / write head menyebabkan harga dari fixed-head disk drive lebih mahal dari movable-head disk drive. Disk yang menggunakan fixed-head disk drive mempunyai kapasitas dansdensity yang lebih kecil dibandingkan dengan disk yang menggunakan movable-head disk drive. Organisasi Berkas dan Metoda Akses pada Magnetic Disk Untuk membentuk suatu berkas di dalam magnetic disk bisa dilakukan secara sequential, index-sequential ataupun direct. Sedangkan untuk mengambil suatu data dari berkas yang disimpan dalam disk, bisa dilakukan secara langsung dengan menggunakan direct access method atau dengan sequential access method (secara sequential). Keuntungan Penggunaan Magnetic Disk
Akses terhadap suatu record dapat dilakukan secara sequential atau direct.
Waktu yang dibutuhkan untuk mengakses suatu record lebih cepat.
Respon time cepat.
Keterbatasan Penggunaan Magnetic Disk 3. Harga lebih mahal. Widiastuti, Skom./BerkasAkses.1
Menghitung Kapasitas Penyimpanan pada Tape Contoh : Kita ingin membandingkan berapa banyak record yang dapat disimpan dalam tape, bila : 1 block berisi 1 record 1 record = 100 character dengan 1 block berisi 20 record 1 record = 100 character panjang tape yang digunakan adalah 2400 feet, density 6250 bpi dan panjang gap 0.6 inch. Jawab : 1 block 1 record; 2400 ft/tape * 12 in/ft -------------------------------------------------------------------- = 46753 block/tape 100 char/rec 1 rec/block * --------------- + 0.6 in/gap * 1 gap/block 6250 char/in tape tersebut berisi 46753 record. 1 block 20 record; 2400 ft/tape * 12 in/ft --------------------------------------------------------------------- = 31304 block/tape 100 char/rec 20 rec/block * --------------- + 0.6 in/gap * 1 gap/block 6250 char/in tape tersebut berisi = 20 * 31304 = 626080 record.
Widiastuti, Skom./BerkasAkses.1
Menghitung Waktu Akses pada Tape Diketahui : Kecepatan akses tape untuk membaca / menulis adalah 200 inch / sec. Waktu yang dibutuhkan untuk berhenti dan mulai pada waktu terdapat gap adalah 0.004 second. Hitung : Waktu akses yang dibutuhkan tape tersebut, dengan menggunakan data pada contoh sebelumnya. Jawab : 1 block 1 record; 46753 block/tape * 0.016 in/block = ----------------------------------------- + 46753 block/tape * 0.004 sec/gap * 1 gap/block 200 in/sec = 190.75 sec/tape waktu akses yang dibutuhkan tape tersebut adalah 190.75 sec. 1 block 20 record; 2338 block/tape * 0.32 in/block = -------------------------------------- + 2338 block/tape * 0.004 sec/gap * 1 gap/block 200 in/sec = 10.55 sec/tape waktu akses yang dibutuhkan tape tersebut adalah 10.55 sec.
Organisasi Berkas dan Metode Akses pada Magnetic Tape Untuk membaca / menulis pada suatu magnetic tape adalah secara sequential. Artinya untuk mendapatkan tempat suatu data maka data yang di depannya harus dilalui lebih dahulu. Maka dapat dikatakan organisasi data pada file di dalam tape dibentuk secara sequential dan metode aksesnya juga sequential.
Widiastuti, Skom./BerkasAkses.1
Latihan Pandang suatu bagian dari tape yang berisi : Track 1 2 3 4 5 6 7 8
: : : : : : : :
1 1 0 0 0 1 1 1
0 1 0 0 1 0 1 0
0 1 0 0 0 0 1 0
0 1 1 1 1 1 0 0
1 1 1 0 1 1 0 0
1 0 1 1 1 1 0 0
Bagaimana isi dari track ke-9, jika untuk merekam data digunakan : a. Even Parity b. Odd Parity
Widiastuti, Skom./BerkasAkses.1
Latihan Soal 1; Densitas suatu tape adalah 1600 bpi dan panjang interblock gap adalah 0.75 inch. Record yang panjangnya 40 character akan disimpan pada tape yang panjangnya 2400 feet. Ditanya : ♦ Berapa banyak record yang dapat disimpan jika dalam 1 block berisi 1 record ? ♦ Berapa banyak record yang dapat disimpan jika dalam 1 block berisi 10 record ?
Soal 2; Jika kecepatan pemindahan data adalah 100 inchi / sec. Waktu yang diperlukan untuk melewati interblock gap adalah 0.1 second. Ditanya : ♦ Berapa waktu yang diperlukan untuk membaca tape tersebut (untuk 1 block berisi 1 record dan 1 block berisi 10 record) ?
Widiastuti, Skom./BerkasAkses.1
BAB 3 ORGANISASI BERKAS SEQUENTIAL
Pengertian Berkas Sequential Adalah merupakan cara yang paling dasar untuk mengorganisasikan kumpulan recordrecord dalam sebuah berkas.
Keuntungan Kemampuan untuk mengakses record berikutnya secara tepat.
Keterbatasan Tidak dapat mengakses langsung pada record yang diinginkan.
Pola Akses Adalah penentuan akses berdasarkan field tertentu.
Media Penyimpanan Disimpan dalam SASD, seperti magnetic tape atau pada DASD, seperti magnetic disk.
• Alasan untuk menyimpan pada DASD : 7.
Pada umumnya komputer dihubungkan dengan sedikit tape drive, sehingga
tidak cukup untuk menunjang program aplikasi yang banyak membutuhkan berkas sekuensial. 8.
Sistem yang dikonfigurasikan untuk fungsi berkas tertentu, selalu disimpan
dalam disk.
Widiastuti, Skom./BerkasAkses.1
9.
Karakteristik lalu lintas saluran dan kapasitas saluran pada sistem dapat
dibuat menguntungkan dengan cara memisahkan berkas-berkas dalam media penyimpanan.
Pembuatan Berkas Sequential Meliputi penulisan record-record dalam serangkaian yang diinginkan pada media penyimpanan. Tugas-tugasnya : 10. Pengumpulan data 11. Perubahan data dalam bentuk bahasa yang dapat dibaca oleh mesin 12. Pengeditan data 13. Pemeriksaan transaksi yang ditolak 14. Penyortiran edit data
Pembuatan Berkas Laporan 3.
Header Record;
4.
Detail Record;
5.
Footer Record;
Retrieval Terhadap Berkas Sequential Record pada berkas sequential di retrieve secara berurutan. Retrieve dari sebuah berkas dapat dibagi 2, yaitu : Report Generation dan Inquiry, yang bergantung pada jumlah data yang dihasilkan.
Hit Ratio Banyaknya record yang harus diakses untuk mendapatkan informasi yang diinginkan dibagi dengan banyaknya record dalam berkas tersebut .
Semakin rendah hit ratio, semakin tidak baik bila menggunakan organisasi
sequential.
Semakin tinggi hit ratio, semakin baik bila menggunakan organisasi
sequential.
Widiastuti, Skom./BerkasAkses.1
Update Terhadap Berkas Sequential Frekuensi dimana sebuah master file harus di-update bergantung pada faktor-faktor : Tingkat perubahan data Ukuran dari master file Kebutuhan yang mendesak dari data yang sedang berjalan pada master file File activity ratio
File Activity Ratio Banyaknya record pada master file yang di-update dibagi dengan banyaknya record pada master file.
Semakin tinggi file activity ratio, semakin lama proses peng-update-an
master file.
Semakin tinggi kebutuhan akan data yang baru pada master file, maka
semakin sering file tersebut diakses.
Semakin sering master file di-update, semakin tinggi biaya pemrosesannya.
Generation File File yang memiliki nama yang sama tapi berbeda generasinya.
JENIS UPDATE 3. Insert a new record 4. Delete an existing record 5. Modify an existing record
Widiastuti, Skom./BerkasAkses.1
BAB 4 ORGANISASI BERKAS RELATIF
♦ PENGERTIAN BERKAS RELATIF Suatu cara yang efektif dalam mengorganisasi sekumpulan record yang membutuhkan akses sebuah record dengan cepat. 6. Hubungan ini dinyatakan sebagai R, yang merupakan fungsi pemetaan : R(NILAI KEY)
ADDRESS
dari nilai key ke address dalam penyimpanan sekunder.
♦ PROSES Pada waktu sebuah record ditulis kedalam berkas relatif, fungsi pemetaan R digunakan untuk menerjemahkan NILAI KEY DARI RECORD menjadi ADDRESS, dimana record tersebut disimpan. Berkas relatif harus disimpan dalam media DASD, seperti magnetic disk atau drum.
Catatan : • Kita tidak perlu mengakses semua record master file, cukup mengakses langsung record yang dikehendaki.
Widiastuti, Skom./BerkasAkses.1
• Record dari berkas relatif dapat di update langsung tanpa perlu merekam kembali semua record. • Keuntungan dari berkas relatif ini adalah kemampuan mengakses record secara langsung. Sebuah record dapat di retrieve, insert, modifikasi atau di delete; tampa mempengaruhi record lain dalam berkas yang sama.
Widiastuti, Skom./BerkasAkses.1
Ada 3 teknik dasar yang digunakan untuk menyatakan fungsi pemetaan R, dimana R(NILAI KEY) ADDRESS, yaitu : 1. Teknik Pemetaan Langsung (Direct Mapping) Teknik ini merupakan teknik yang sederhana untuk menerjemahkan nilai record key menjadi address. Ada 2 cara dalam pemetaan langsung, yaitu : • Absolute Addressing (Pengalamatan Mutlak) • Relative Addressing (Pengalamatan Relatif) • Pengalamatan Mutlak R(NILAI KEY) ADDRESS NILAI KEY = ALAMAT MUTLAK Nilai key yang diberikan oleh
pemakai
program
sama
dengan ADDRESS
SEBENARNYA dari record tersebut pada penyimpanan sekunder.
KEUNTUNGAN Fungsi pemetaan R sederhana
KELEMAHAN sangat Pemakai harus mengetahui dengan pasti record-record yang disimpan secara fisik. Tidak membutuhkan waktu lama Merupakan device dependent. dalam menentukan lokasi record Perbaikan atau pengubahan device, pada penyimpanan sekunder. dimana berkas berada akan mengubah nilai key. Merupakan address space dependent. Reorganisasi berkas relatif akan menyebabkan nilai key berubah. • Pengalamatan Relatif R(NILAI KEY) ADDRESS NILAI KEY = ALAMAT RELATIF Widiastuti, Skom./BerkasAkses.1
KEUNTUNGAN KELEMAHAN Fungsi pemetaan R sangat sederhana. bukan device dependent Nilai key dari sebuah record dapat Merupakan address space dependent ditentukan lokasi recordnya dalam Terjadinya pemborosan ruangan sebuah penyimpanan sekunder tanpa memerlukan waktu proses yang berarti. 2. Teknik Pencarian Tabel (Directory Look Up) Dasar pemikiran pendekatan pencarian tabel adalah sebuah tabel atau direktori dari nilai key dan address. Keuntungan dari Pencarian Tabel : • Sebuah record dapat diakses dengan cepat, setelah nilai key dalam direktori ditentukan. • Nilai key dapat berupa field yang mudah dimengerti seperti PART NUMBER, NPM, karena nilai key tersebut akan diterjemahkan menjadi alamat. • Nilai key adalah address space independent, dimana reorganisasi berkas tak akan memepengaruhi nilai key, yang berubah adalah alamat dalam direktori.
3. Teknik Kalkulasi Alamat R (NILAI KEY)
ADDRESS
Adalah dengan melakukan kalkulasi terhadap nilai key, hasilnya adalah alamat relatif. Salah satu kelemahan dari teknik pengalamatan relatif adalah ruang harus disediakan sebanyak jangkauan nilai key, terlepas dari berapa banyak nilai key. Widiastuti, Skom./BerkasAkses.1
Salah satu masalah dari teknik ini adalah ditemukannya alamat relatif yang sama untuk nilai key yang berbeda.
Keadaan dimana : R(K1) = R(K2) K1 ≠ K2
disebut benturan atau collision
Sedangkan nilai key K1 dan K2 disebut synomin. Synonim adalah dua atau lebih nilai key yang berbeda pada hash ke home address yang sama. Teknik-teknik yang terdapat pada kalkulasi alamat : • • • • • •
Scatter storage techniques Randomizing techniques Key-to-address transformation methods Direct addressing techniques Hash table methods Hashing
7. Hashing Kalkulasi terhadap nilai key untuk mendapatkan sebuah alamat disebut fungsi hash.
Keuntungan: • 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. Kelemahan : • Membutuhkan waktu proses dalam mengimplementasikan fungsi hash. Widiastuti, Skom./BerkasAkses.1
• Membutuhkan waktu proses dan akses I/O dalam mengatasi benturan. Penampilan fungsi hash bergantung pada : • Distribusi nilai key yang dipakai • Banyaknya nilai key yang dipakai relatif terhadap ukuran dari ruang alamat. • Banyaknya record yang dapat disimpan pada alamat tertentu tanpa menyebabkan benturan. • Teknik yang dipakai untuk mengatasi benturan Beberapa fungsi hash yang umum digunakan : ♦ Division Remainder Alamat relatif dari suatu nilai key merupakan sisa dari hasil pembagian nilai key tersebut dengan suatu bilangan yang disebut sebagai bilangan pembagi. Banyak faktor yang harus dipertimbangkan dalam pemilihan pembagi : • Jangkauan dari nilai key yang dihasilkan dari opersi KEY MOD DIV adalah 0 sampai DIV-1. • Pembagi harus diseleksi untuk mengurangi benturan. • Menurut riset dari W.Buchholz, sebaiknya pembagi itu merupakan bilangan prima. • Bukan bilangan prima yang mempunyai faktor prima kurang dari 20 akan dapat memberikan jaminan penampilan yang lebih baik. • Walaupun telah ditentukan pembagi dengan baik untuk mengatasi benturan, bila ruang alamat dari berkas relatif mendekati penuh, maka peluang terjadinya benturan akan meningkat. Untuk mengukur kepenuhan berkas relatif digunakan Load Factor (Faktor Muat).
Widiastuti, Skom./BerkasAkses.1
Load Factor =
banyak record dalam berkas max. banyak record dalam berkas
Jadi jika kita ingin menyimpan sebanyak n record pada suatu berkas dan load factor adalah 0.8, maka max. banyak record pada berkas adalah 1.25 n. n 0.8 = max max = 1.25 n Contoh : Kita ingin membuat berkas yang terdiri dari 4000 record. Load Factor (Faktor muat) = 0.8 maka max. banyak record pada berkas : (1.25) n = (1.25) . 4000 = 5000
Bilangan pembagi : 5003 123456789 5003 = 24676 sisa 2761 + 1 alamat relatif 987654321 5003
= 197412 sisa 2085 + 1 alamat relatif
Jadi alamat relatif didapat dari sisa pembagian + 1 ♦ Mid Square Hashing Untuk mendapatkan alamat relatif, nilai key dikuadratkan, kemudian beberapa digit diambil dari tengah .
Widiastuti, Skom./BerkasAkses.1
Jumlah nilai key yang dikuadratkan, dari nilai key 123456789 = 17 digit. 17 1 Untuk alamat relatif = 2 = 8 2 Kita mulai dari digit ke 8 dihitung dari kiri, maka alamat relatif = 8750 (karena ditentukan 4 digit sebagai alamat relatif).
♦ Hashing by folding Untuk mendapatkan alamat relatif, nilai key dibagi
menjadi beberapa bagian,
setiap bagian (kecuali bagian terakhir) mempunyai jumlah digit yang sama dengan alamat relatif.
Bagian-bagian ini kemudian dilipat (seperti kertas) dan dijumlah. Hasilnya, digit yang tertinggi dibuang (bila diperlukan). Contoh : Nilai key 123456789 dan alamat relatif sebanyak 4 digit. 1 2345 6789
1 2345 6789
Menghasilkan : Widiastuti, Skom./BerkasAkses.1
1 2345 9876 + 1 3221 alamat relatif
♦ Perbandingan fungsi Hash • Teknik Division Remainder memberikan penampilan yang terbaik secara keseluruhan. • Teknik Mid Square dapat dipakai untuk file dengan load factor cukup rendah akan memberikan penampilan baik tetapi kadangkadang dapat menghasilkan penampilan yang buruk dengan beberapa collision. • Teknik folding adalah teknik yang paling mudah dalam perhitungan tetapi dapat memberikan hasil yang salah, kecuali panjang nilai key = panjang address.
Widiastuti, Skom./BerkasAkses.1
♦ Pendekatan terhadap masalah Collision Ada 2 pendekatan dasar untuk menetapkan dimana K2 harus disimpan, yaitu : • Open Addressing Menemukan address yang bukan home address untuk K2 dalam berkas relatif. Contoh : K1 = 1 R1
R2
K1
K2
K2 = 1
• Separate Overflow Menemukan address untuk K2 diluar dari primary area dalam berkas relatif, yaitu di overflow area yang dipakai hanya untuk menyimpan record-record yang tak dapat disimpan di home addressnya. Contoh : K1 = 1
K2 = 1
R1 K1 Overflow area K2 Widiastuti, Skom./BerkasAkses.1
Ada 2 teknik untuk mengatasi collision : • Double Hashing, yang dapat dipakai selain open addressing atau separate overflow. • Linear Probing Merupakan teknik open addresing • Double hashing Dapat dipakai selain open addressing atau separate overflow. Address dari record yang dihash kembali dapat terletak pada primary area atau di separate overflow area. • Perbandingan Linear Probing dan Double Hashing Berkas dengan load factor kurang dari 0.5 pada linear probing akan menghasilkan synonim yang mengelompok, sedangkan double hashing synonimnya berpencar. Load Factor < 0.5 : Double Hashing = Linear Probing. Load Factor > 0.8 : Double Hashing > Linear Probing. • Synonim Chaining Pendekatan pemecahan collision yang mengakses synonim dengan fasilitas link list untuk record-recordnya dalam kelas ekivalen. Adapun link list record-record dengan home address yang sama tak akan mengurangi jumlah collision, tetapi akan mengurangi waktu akses untuk me-retrieve record-record yang tak ada di home addressnya.
Contoh : Widiastuti, Skom./BerkasAkses.1
KEY
HOME ADDRESS
Adams Bates Coll Dean Evans Flint
ACTUAL ADDRESS
20 21 20 21 24 20
20 21 22 23 24 25
R20
R21
R22
R23
R24
.. Adams ..
Bates ..
Coll ..
Dean .. Evans ..
R25 Flint .. ...
gambar hashing dengan synonim chaining
HOME PRIMARY DATA ADDRESS AREA
OVERFLOW AREA
20 Adams ..
0
Coll ..
21 Bates ..
1
Dean ..
22
2
Flint ..
23
3
Widiastuti, Skom./BerkasAkses.1
24Evans .. • Bucket Addressing Pendekatan lain dalam mengatasi collision adalah hash ke dalam block atau bucket yang dapat memberikan tempat sejumlah record. Contoh : Sebuah berkas relatif mempunyai relatif address space dari 0 sampai M dan sebuah bucket berukuran B record , address space akan terdiri dari B(M+1) record. Jika file terdiri dari N record, maka : Factor Muat =
N B(M + 1)
Record-record yang disimpan dalam sebuah bucket dapat dikelola dalam : • Dapat disisipkan dalam urutan berdasarkan penempatannya di bucket. • Dapat dipertahankan urutan nilai key-nya. Contoh : KEY
HOME ADDRESS Green Hall Jenk King Land Mark Nutt
Widiastuti, Skom./BerkasAkses.1
30 30 32 33 33 33 33
BUCKET ADDRESS 30
BUCKET CONTENTS Green ..
Hall ..
31 32
Jenks ..
33
King ..
Land ..
Marks .. overflow
Widiastuti, Skom./BerkasAkses.1