Pengertian Sistem Berkas
Sistem berkas merupakan mekanisme penyimpanan on-line serta untuk akses, baik data maupun program yang berada dalam system operasi. Terdapat dua bagian penting dalam system berkas, yaitu :
• Kumpulan berkas, sebagai tempat penyimpanan data, serta
• Struktur direktori, yang mengatur dan menyediakan informasi mengenai seluruh berkas dalam system
Konsep Dasar Berkas
Komputer dapat menyimpan informasi ke beberapa media penyimpanan yang berbeda, seperti magnetic disks, magnetic tapes dan optical disks. Agar komputer dapat digunakan dengan nyaman, system operasi menyediakan system penyimpanan dengan sistematika yang seragam. Sistem operasi mengabstraksikan property fisik dari media penyimpanannya dan mendefinisikan unit penyimpanan logis yaitu berkas. Berkas dipetakan ke media fisik oleh system operasi. Media penyimpanan ini umumnya bersifat non-volatile, sehingga kandungan di dalamnya tidak akan hilang jika terjadi gagal listrik maupun system reboot.
Berkas adalah kumpulan informasi berkait yang diberi nama dan direkam pada penyimpanan sekunder. Dari sudut pandang pengguna, berkas merupakan bagian terkecil dari penyimpanan logis, artinya data tidak dapat ditulis ke penyimpanan sekunder kecuali jika berada di dalam berkas. Biasanya berkas merepresentasikan program dan data. Data dari berkas dapat bersifat numeric, alfabetik, alfanumerik atau pun biner. Format berkas juga bias bebas, misalnya berkas teks atau dapat juga diformat pasti. Secara umum, berkas adalah urutan bit, byte, baris atau catatan yang didefinisikan oleh pembuat berkas dan pengguna.
Informasi dalam berkas ditentukan oleh pembuatnya. Ada banyak beragam jenis informasi yang dapat disimpan dalam berkas. Hal ini disebabkan oleh struktur tertentu yang dimiliki oleh berkas, sesuai dengan jenisnya masing-masing. Contohnya :
• Text file; yaitu urutan karakter yang disusun ke dalam baris-baris
• Source file; yaitu urutan subroutine dan fungsi yang nantinya akan dideklarasikan
• Object file; merupakan urutan byte yang diatur ke dalam blok-blok yang dikenali oleh linker dari system
• Executable file; adalah rangkaian code section yang dapat dibawa loader ke dalam memori dan dieksekusi
Atribut Pada Berkas
Berkas diberi nama untuk kenyamanan bagi pengguna dan untuk acuan bagi data yang terkandung di dalamnya. Nama berkas biasanya berupa string atau karakter. Beberapa system membedakan penggunaan huruf besar dan kecil dalam penamaan sebuah berkas, sementara system yang lain menganggap kedua hal di atas sama. Ketika berkas diberi nama, maka berkas tersebut akan menjadi madiri terhadap proses, pengguna bahkan system yang membuatnya. Atribut berkas terdiri dari :
• Nama; merupakan satu-satunya informasi yang tetap dalam bentuk yang bias dibaca oleh manusia (human-readable form)
• Type, dibutuhkan untuk system yang mendukung beberapa type berbeda
• Lokasi; merupakan pointer ke device dan ke lokasi berkas pada device tersebut
• Ukuran (size); yaitu ukuran berkas pada saat itu, baik dalam byte, huruf atau pun blok
• Proteksi; adalah informasi mengenai kontrol akses, misalnya siapa saja yang boleh membaca, menulis dan mengeksekusi berkas
• Waktu, tanggal dan identifikasi pengguna; informasi ini biasanya disimpan untuk :
1. Pembuatan berkas
2. Modifikasi terakhir yang dilakukan pada berkas, dan
3. Penggunaan terakhir berkas
Data tersebut dapat berguna untuk proteksi, keamanan dan monitoring penggunaan dari berkas. Informasi tentang seluruh berkas disimpan dalam struktur direktori yang terdapat pada penyimpanan sekunder. Direktori, seperti berkas, harus bersifat non-volatile, sehingga keduanya harus disimpan pada sebuah device dan baru dibawa bagian per-bagian ke memori pada saat dibutuhkan.
Operasi Pada Berkas
Sebuah berkas adalah jenis data abstrak. Untuk mendefinisikan berkas secara tepat, perlu melihat operasi yang dapat dilakukan pada berkas tersebut. Sistem operasi menyediakan system calls untuk membuat, membaca, menulis, mencari, menghapus dan sebagainya. Berikut dapat kita lihat apa yang harus dilakukan system operasi pada keenam operasi dasar pada berkas.
• Membuat sebuah berkas
Ada dua cara dalam membuat berkas. Pertama, tempat baru di dalam system berkas harus di alokasikan untuk berkas yang akan dibuat. Kedua, sebuah direktori harus mempersiapkan tempat untuk berkas baru, kemudian direktori tersebut akan mencatat nama berkas dan lokasinya pada sistem berkas.
• Menulis pada sebuah berkas
Untuk menulis pada berkas, kita menggunakan system call beserta nama berkas yang akan ditulisi dan informasi apa yang akan ditulis pada berkas. Ketika diberi nama berkas, system mencari ke direktori untuk mendapatkan lokasi berkas. Sistem juga harus menyimpan penunjuk tulis pada berkas dimana penulisan berikut akan ditempatkan. Penunjuk tulis harus diperbaharui setiap terjadi penulisan pada berkas.
• Membaca sebuah berkas
Untuk dapat membaca sebuah berkas, dapat menggunakan system call beserta nama berkas di blok memori mana berkas berikutnya diletakkan. Direktori mencari berkas yang akan dibaca dan system menyimpan penunjuk baca pada berkas dimana pembacaan berikutnya akan terjadi. Ketika pembacaan dimulai, penunjuk harus diperbaharui. Sehingga secara umum, suatu berkas ketika sedang dibaca atau ditulis, kebanyakan system hanya mempunyai satu penunjuk, baca dan tulis menggunakan penunjuk yang sama, hal ini menghemat tempat dan mengurangi kompleksitas system.
• Menempatkan kembali sebuah berkas
DIrektori yang bertugas untuk mencari berkas yang bersesuaian dan mengembalikan lokasi berkas pada saat itu. Menempatkan berkas tidak perlu melibatkan proses I/O. Operasi ini sering disebut pencarian berkas.
• Menghapus sebuah berkas
Untuk menghapus berkas, perlu dicari berkas tersebut di dalam direktori. Setelah ditemukan dapat dibebaskan tempat yang dipakai berkas tersebut (sehingga dapat digunakan oleh berkas lain) dan menghapus tempatnya di direktori.

• Memendekkan berkas
Ada suatu keadaan dimana pengguna menginginkan atribut dari berkas tetap sama tetapi ingin menghapus isi dari berkas tersebut. Fungsi ini mengizinkan semua atribut tetap sama tetapi panjang berkas menjadi nol, hal ini lebih baik daripada memaksa pengguna untuk menghapus berkas dan membuatnya lagi.
Beberapa informasi yang terkait dengan pembukaan berkas, yaitu :
• Penunjuk berkas
Pada system yang tidak mengikutkan batas berkas sebagai bagian dari system call baca dan tulis, system tersebut harus mengikuti posisi dimana terakhir proses baca dan tulis sebagai penunjuk. Penunjuk ini unik untuk setiap operasi pada berkas, maka dari itu harus disimpan terpisah dari atribut berkas yang ada pada disk.
• Penghitung berkas yang terbuka
Setelah berkas ditutup, system harus mengosongkan kembali table berkas yang dibuka yang digunakan oleh berkas tadi atau tempat di table akan habis. KArena mungkin ada beberapa proses yang membuka berkas secara bersamaan dan system harus menunggu sampai berkas tersebut ditutup sebelum mengosongkan tempatnya di table. Penghitung ini mencatat banyaknya berkas yang telah dibuka dan ditutup dan menjadi nol ketika yang terakhir membaca berkas menutup berkas tersebut barulah system dapat mengosongkan tempatnya di table.
• Lokasi berkas pada disk
Kebanyakan operasi pada berkas memerlukan system untuk mengubah data yang ada pada berkas. Informasi mengenai lokasi berka spada disk disimpan di memori agar menghindari banyak pembacaan pada disk untuk setiap operasi.
Jenis Berkas
JENIS BERKAS AKHIRAN FUNGSI
Executable .exe, .com, .bat, .bin Program yang siap dijalankan
Objek .obj, .o Bahas mesin, kode terkompilasi
Source Code .c, .cc, .pas, .java, .asm Kode asal dari berbagai bahasa
Batch .bat, .sh Perintah pada shell
Text .txt, .doc Data text, document
Pengolah kata .wpd, .tex, .doc Format jenis pengolah data
Library .lib, .a, .dll Library untuk rutin program
Print, gambar .ps, .dvi, .gif Format ASCII atau biner untuk dicetak
Archive .arc, .zip, .tar Beberapa berkas yang dikumpulkan
Berkas Dan Akses
Sistem penyimpanan, pengelolaan dan penyimpanan data pada alat penyimpan eksternal. Pada berkas dan akses penyimpanan data dilakukan secara fisik.
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. Master File (Berkas Induk),2. Transaction File (Berkas Transaksi),3. Report File (Berkas Laporan),4. Work File (Berkas Kerja),5. Program File (Berkas Program),6. Text File (Berkas Teks),7. Dump File (Berkas Tampung),8. Library File (Berkas Pustaka),9. History File (Berkas Sejarah).
1. MASTER FILE;
Adalah file yang berisi data yang relatif tetap.
Ada 2 jenis Master File :
1. Reference Master File;
File yang berisi record yang tak berubah / jarang berubah.
2. Dynamic Master File;
File yang berisi record yang terus menerus berubah dalam kurun waktu tertentu atau berdasarkan suatu peristiwa transaksi.
2. TRANSACTION FILE
Adalah file yang berisi record-recod yang akan memperbaharui / meng-update record-record 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.
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.
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.

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.
2. OUTPUT FILE;
Adalah file yang hanya dapat ditulis oleh sebuah program / file yang dibuat dengan program.
3. INPUT / OUTPUT FILE;
Adalah file yang dapat dibaca dari dan ditulis ke selama eksekusi program.
Tabel di bawah ini menunjukkan model akses dari sistem flow diagram.
Program File Input File Output File I / O File
1. Sort timecard sorted timecards sort workfile
2. Pay record update sorted timecards reject timecards paycheck deetail reconciliation detail payroll master
3. Paycheck writer paycheck detail paychecks
4. Reconciliation report
writer reconciliation detail reconciliation report
5. List utility reject timecards reject report

Note :
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;
Adalah suatu cara pengaksesan record yang langsung, tanpa mengakses seluruh record yang ada.
2. Sequential Access;
Adalah suatu cara pengaksesan record, yang didahului pengaksesan record-record di depannya.
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

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 :
1.Memelihara direktori dari identifikasi file dan lokasi informasi.
2.Menetukan jalan (pathway) bagi aliran data antara main memory dan alat penyimpan sekunder.
3. Mengkoordinasi komunikasi antara CPU dan alat penyimpan sekunder dan sebaliknya.
4.Menyiapkan file penggunaan input atau output.
5.Mengatur file, bila penggunaan input atau output telah selesai.