FILE SYSTEM: Pengertian, Struktur, Jenis, Metode Akses, dan Alokasi Ruang Penyimpanan

Pendahuluan

File System atau sistem berkas merupakan salah satu komponen penting dalam sistem operasi. Sistem berkas memungkinkan komputer menyimpan, mengorganisasi, menemukan, membaca, mengubah, dan menghapus data pada media penyimpanan seperti hard disk (HDD), solid-state drive (SSD), USB flash drive, dan media penyimpanan lainnya.

Setiap kali pengguna menyimpan dokumen, menginstal aplikasi, mengunduh gambar, atau membuat basis data, sistem operasi perlu mengelola informasi tersebut agar dapat ditemukan dan digunakan kembali.

Sebagai contoh, ketika seorang mahasiswa membuat tugas kuliah dengan Microsoft Word dan menyimpannya sebagai Tugas_Sistem_Operasi.docx, sistem operasi tidak hanya menyimpan nama dokumen. Sistem juga mengelola informasi tentang lokasi penyimpanan, ukuran file, waktu perubahan, hak akses, dan informasi lain yang diperlukan untuk mengelola file.

Pemahaman mengenai file system penting bagi mahasiswa Informatika karena menjadi dasar untuk mempelajari sistem operasi, administrasi server, pengelolaan basis data, keamanan informasi, dan pengembangan perangkat lunak.

1. Pengertian File

File atau berkas adalah kumpulan informasi terkait yang disimpan dengan sebuah nama pada media penyimpanan sekunder. Media tersebut dapat berupa disk magnetik, pita magnetik, disk optik, SSD, maupun media penyimpanan lainnya.

Secara umum, file dapat dipandang sebagai urutan bit, byte, karakter, baris, atau catatan. Makna dan cara menafsirkan isi file bergantung pada formatnya serta aplikasi atau sistem yang menggunakannya.

Contoh file yang sering dijumpai dalam kehidupan sehari-hari antara lain:

  • Laporan_Praktikum.docx — dokumen laporan praktikum.

  • Foto_Kegiatan.jpg — gambar kegiatan.

  • Data_Mahasiswa.xlsx — lembar kerja berisi data mahasiswa.

  • Program.java — kode sumber program Java.

  • Database.db — file basis data.

  • Setup.exe — file program yang dapat dijalankan pada lingkungan Windows yang sesuai.

Contoh nyata

Seorang guru menyimpan dokumen nilai siswa dalam file Nilai_Kelas_X.xlsx. Ketika dokumen dibuka, aplikasi spreadsheet membaca struktur file dan menampilkan data dalam bentuk tabel.

Jika file tersebut diubah dan disimpan kembali, sistem operasi membantu mengelola operasi penyimpanan sehingga perubahan dapat dipertahankan pada media penyimpanan.

Perlu dipahami bahwa nama file dan ekstensi seperti .xlsx, .jpg, atau .java membantu pengguna serta aplikasi mengenali format file, tetapi ekstensi saja tidak menjamin isi file benar-benar sesuai dengan format tersebut.

2. Struktur File

Struktur file adalah cara informasi disusun di dalam sebuah file agar dapat disimpan, dibaca, dan ditafsirkan oleh aplikasi atau sistem yang menggunakannya.

Dalam materi sistem operasi, struktur file dapat berbeda sesuai dengan jenis dan tujuan file.

2.1 File teks

File teks berisi karakter yang dapat ditafsirkan sebagai teks. Karakter tersebut dapat disusun dalam baris-baris yang dipisahkan oleh penanda akhir baris.

Contoh:

Nama: Ahmad
NIM: 2401001
Program Studi: Informatika
Mata Kuliah: Sistem Operasi

Contoh ekstensi file teks antara lain .txt, .csv, dan .md.

Contoh nyata: Seorang mahasiswa membuat file catatan_praktikum.txt untuk mencatat perintah Linux yang digunakan selama praktikum.

File teks relatif mudah dibaca menggunakan editor teks karena isinya disimpan sebagai karakter, meskipun pengkodean karakter dan format baris dapat berbeda.

2.2 File sumber (source file)

File sumber berisi kode program yang ditulis menggunakan bahasa pemrograman tertentu.

Contoh file sumber:

public class Halo {
    public static void main(String[] args) {
        System.out.println("Halo, mahasiswa Informatika!");
    }
}

Kode tersebut dapat disimpan sebagai Halo.java.

Contoh nyata: Mahasiswa menulis program Java untuk menghitung nilai rata-rata. File sumber disimpan, kemudian dikompilasi atau dijalankan melalui lingkungan pengembangan yang sesuai.

File sumber biasanya ditujukan untuk dibaca dan diproses oleh compiler, interpreter, atau alat pengembangan perangkat lunak.

2.3 File objek (object file)

File objek merupakan hasil proses kompilasi yang berisi representasi kode mesin atau informasi biner lain yang digunakan dalam proses pembangunan program.

Contoh ekstensi file objek meliputi .o pada banyak lingkungan Unix/Linux dan .obj pada lingkungan pengembangan tertentu di Windows.

File objek umumnya belum tentu dapat dijalankan secara langsung. Dalam banyak proses pembangunan perangkat lunak, file objek masih perlu dihubungkan dengan file objek atau pustaka lain menggunakan linker untuk menghasilkan program akhir.

Contoh nyata: Saat program C dikompilasi, compiler dapat menghasilkan main.o. File ini kemudian dihubungkan dengan komponen lain untuk membentuk program yang dapat dijalankan.

2.4 File biner

File biner menyimpan informasi dalam bentuk byte yang ditafsirkan berdasarkan format tertentu. File gambar, audio, video, arsip terkompresi, dan banyak file program termasuk dalam kategori ini.

Contohnya adalah foto.jpg, lagu.mp3, dan video.mp4.

File biner tidak selalu dapat dibaca secara bermakna apabila dibuka menggunakan editor teks biasa karena byte di dalamnya mengikuti struktur format tertentu.

Ringkasan struktur file

JenisIsi utamaContoh
File teksKarakter dan baris teks.txt, .csv
File sumberInstruksi dalam bahasa pemrograman.java, .c, .py
File objekKode hasil kompilasi dan informasi terkait.o, .obj
File binerData yang ditafsirkan berdasarkan format tertentu.jpg, .mp3, .zip

Sistem operasi dapat mendukung beragam jenis file. Namun, pada banyak sistem modern, sistem operasi tidak perlu memahami seluruh struktur internal setiap format. Aplikasi yang sesuai biasanya bertanggung jawab menafsirkan isi file, sedangkan sistem operasi menyediakan layanan untuk membaca, menulis, dan mengelola penyimpanannya.

3. Jenis File

Dalam materi sistem operasi, file dibedakan menjadi tiga kelompok utama, yaitu file biasa, file direktori, dan file khusus atau file perangkat.

3.1 File biasa (regular file)

File biasa adalah file yang menyimpan informasi pengguna atau data yang digunakan oleh program.

Isinya dapat berupa teks, gambar, dokumen, basis data, kode sumber, maupun program yang dapat dijalankan.

Operasi yang umum dilakukan terhadap file biasa meliputi:

  • Membuat file baru.

  • Membaca isi file.

  • Menambahkan atau mengubah data.

  • Mengganti nama file.

  • Menyalin atau memindahkan file.

  • Menghapus file.

Contoh nyata: File Laporan_PKL.docx dibuat oleh siswa, diedit beberapa kali, disalin ke flash drive, kemudian dikirim kepada guru.

Contoh lain adalah file data_mahasiswa.csv yang digunakan sebagai sumber data dalam aplikasi pengolahan data.

3.2 File direktori (directory file)

Direktori adalah struktur yang digunakan untuk mengorganisasi file dan direktori lain. Direktori membantu sistem dan pengguna menemukan file berdasarkan nama serta informasi yang terkait.

Contoh struktur direktori:

Dokumen/
├── Kuliah/
│   ├── Sistem_Operasi.docx
│   ├── Jaringan_Komputer.pdf
│   └── Nilai_Praktikum.xlsx
├── Foto/
│   ├── Kegiatan.jpg
│   └── Laboratorium.png
└── Program/
    └── Halo.java

Dalam contoh tersebut, direktori Dokumen berisi tiga direktori atau kelompok data, yaitu Kuliah, Foto, dan Program.

Contoh nyata: Mahasiswa menyimpan seluruh tugas mata kuliah Sistem Operasi dalam folder khusus agar tidak tercampur dengan dokumen lain.

Struktur direktori yang rapi membantu mempercepat pencarian file, memudahkan pencadangan, dan mengurangi risiko kesalahan saat mengelola data.

3.3 File khusus (special file)

Pada sistem Unix/Linux, file khusus dapat digunakan untuk merepresentasikan perangkat atau antarmuka perangkat. Hal ini memungkinkan program berinteraksi dengan perangkat melalui mekanisme yang disediakan sistem operasi.

Dalam klasifikasi Unix/Linux, terdapat dua kelompok perangkat yang sering diperkenalkan dalam materi sistem operasi.

A. Character special file

File perangkat karakter digunakan untuk perangkat atau antarmuka yang menyediakan aliran data karakter atau operasi I/O dengan karakteristik serupa.

Contoh yang umum pada Linux adalah /dev/tty, yang berhubungan dengan terminal.

B. Block special file

File perangkat blok digunakan untuk mengakses perangkat yang menyediakan data dalam bentuk blok.

Contoh pada Linux adalah perangkat disk seperti /dev/sda pada sistem yang menggunakan penamaan perangkat tersebut. Nama aktual dapat berbeda, misalnya sistem dapat menggunakan nama perangkat berbasis NVMe.

Perlu dicatat bahwa tidak semua perangkat modern direpresentasikan dengan cara yang sama. Perangkat jaringan, misalnya, umumnya diakses melalui antarmuka jaringan dan API sistem, bukan sebagai file perangkat karakter atau blok biasa.

Perbandingan jenis file

JenisFungsiContoh
File biasaMenyimpan data atau programlaporan.pdf
DirektoriMengorganisasi nama file dan direktori/home/mahasiswa/Dokumen
File khusus karakterMengakses perangkat atau antarmuka berbasis karakter/dev/tty
File khusus blokMengakses perangkat penyimpanan berbasis blok/dev/sda pada sistem yang sesuai

4. Mekanisme Akses File

Mekanisme akses file adalah cara data atau catatan di dalam file ditemukan, dibaca, atau diperbarui.

Materi ini membahas tiga mekanisme utama: akses berurutan, akses langsung atau acak, dan akses berurutan yang diindeks.

4.1 Akses berurutan (sequential access)

Pada akses berurutan, data diproses mengikuti urutan yang telah ditetapkan, dari bagian awal menuju bagian berikutnya.

Pengguna atau program biasanya membaca catatan satu per satu. Untuk mencapai catatan berikutnya, program melanjutkan proses pembacaan dari posisi saat ini.

Contoh nyata: Compiler membaca file kode sumber secara berurutan untuk menganalisis token, pernyataan, dan struktur program.

Contoh lainnya adalah membaca file log server dari awal hingga akhir untuk menelusuri urutan kejadian.

Ilustrasi:

Data 1 → Data 2 → Data 3 → Data 4 → Data 5

Kelebihan:

  • Sederhana untuk diterapkan.

  • Cocok untuk pemrosesan data yang dilakukan secara berurutan.

  • Memudahkan pembacaan seluruh isi file dari awal sampai akhir.

Kekurangan:

  • Menemukan data tertentu yang berada jauh di bagian akhir dapat memerlukan pembacaan banyak data sebelumnya.

  • Kurang efisien apabila aplikasi sering membutuhkan catatan tertentu secara langsung.

4.2 Akses langsung atau acak (direct/random access)

Pada akses langsung, program dapat menuju posisi atau catatan tertentu tanpa harus membaca seluruh catatan sebelumnya.

Kemampuan ini sangat berguna ketika aplikasi mengetahui lokasi, nomor catatan, atau kunci yang digunakan untuk menemukan data.

Ilustrasi:

Data 1    Data 2    Data 3    Data 4    Data 5
                      ↑
              Data yang diminta

Contoh nyata: Sebuah aplikasi mengakses catatan mahasiswa tertentu berdasarkan nomor indeks atau alamat data yang telah diketahui.

Dalam basis data, pengambilan data berdasarkan kunci sering dibantu oleh struktur indeks. Mekanisme internalnya dapat lebih kompleks daripada sekadar menuju nomor byte tertentu.

Kelebihan:

  • Memudahkan akses ke bagian data tertentu.

  • Cocok untuk aplikasi yang sering membaca atau memperbarui catatan tertentu.

  • Tidak selalu perlu membaca seluruh file terlebih dahulu.

Kekurangan:

  • Memerlukan organisasi data atau informasi lokasi yang sesuai.

  • Efisiensinya bergantung pada media penyimpanan, format file, dan metode pencarian yang digunakan.

4.3 Akses berurutan berindeks (indexed sequential access)

Akses berurutan berindeks menggabungkan pembacaan berurutan dengan penggunaan indeks. Indeks menyimpan informasi yang membantu program menemukan lokasi catatan atau blok data tertentu.

Secara sederhana, prosesnya adalah:

  1. Program mencari informasi pada indeks.

  2. Indeks menunjukkan lokasi data atau blok yang diperlukan.

  3. Program menuju lokasi tersebut.

  4. Data dibaca, baik untuk catatan tertentu maupun untuk pemrosesan berurutan.

Ilustrasi:

INDEKS
A → Blok 1
B → Blok 3
C → Blok 5
       │
       ▼
Blok data yang sesuai

Contoh nyata: Sebuah sistem administrasi mahasiswa menyimpan data secara terorganisasi berdasarkan nomor induk. Indeks membantu menemukan kelompok data yang relevan, kemudian data dapat diproses sesuai urutan yang diperlukan.

Kelebihan:

  • Mempercepat pencarian data tertentu dibandingkan pemindaian berurutan penuh dalam banyak situasi.

  • Tetap mendukung pemrosesan berurutan.

  • Cocok untuk data yang membutuhkan pencarian dan pembacaan berurutan.

Kekurangan:

  • Membutuhkan ruang tambahan untuk menyimpan indeks.

  • Indeks harus diperbarui ketika struktur atau lokasi data berubah.

  • Kinerja bergantung pada desain indeks dan pola akses.

Perbandingan mekanisme akses

MekanismeCara kerjaContoh penggunaan
BerurutanMembaca data satu per satu sesuai urutanPemrosesan file log
Langsung/acakMenuju data atau posisi tertentuMengakses catatan berdasarkan posisi
Berurutan berindeksMenggunakan indeks untuk menemukan data, lalu mengaksesnyaArsip data yang membutuhkan pencarian dan pemrosesan berurutan

5. Alokasi Ruang Penyimpanan File

Alokasi ruang penyimpanan adalah mekanisme untuk menentukan blok-blok penyimpanan yang digunakan oleh sebuah file pada media penyimpanan.

Media penyimpanan biasanya dibagi menjadi unit-unit pengelolaan, seperti blok. Sistem berkas mengatur bagaimana blok tersebut diberikan kepada file dan bagaimana lokasi data ditemukan kembali saat file dibuka.

Materi sistem operasi memperkenalkan tiga metode utama: alokasi berdekatan, alokasi tertaut, dan alokasi terindeks.

5.1 Alokasi berdekatan (contiguous allocation)

Pada alokasi berdekatan, blok-blok sebuah file ditempatkan secara berurutan pada ruang penyimpanan.

Contoh, sebuah file memerlukan empat blok dan memperoleh blok nomor 10 sampai 13.

Nomor blok:
[ 8 ][ 9 ][10][11][12][13][14][15]
          └──── FILE A ────┘

Sistem cukup mengetahui lokasi awal dan panjang file untuk menentukan blok-blok yang digunakan, dengan asumsi representasi alokasi tersebut berlaku.

Contoh nyata: Sebuah file video menempati empat blok berurutan pada ilustrasi disk. Sistem dapat menghitung lokasi blok berdasarkan blok awal dan urutan bloknya.

Kelebihan:

  • Sederhana untuk dikelola.

  • Mendukung pembacaan berurutan dengan baik.

  • Memudahkan penghitungan lokasi blok berdasarkan posisi relatif file.

Kekurangan:

  • Dapat mengalami fragmentasi eksternal, yaitu ruang kosong tersedia tetapi tersebar sehingga sulit memperoleh satu rentang berdekatan yang cukup besar.

  • Memperbesar file dapat menjadi sulit apabila ruang setelah blok terakhir sudah ditempati file lain.

  • Mungkin memerlukan pemindahan data atau strategi tambahan untuk memperluas file.

5.2 Alokasi tertaut (linked allocation)

Pada alokasi tertaut, blok-blok file dapat berada di lokasi yang berbeda. Setiap blok menyimpan atau terkait dengan informasi yang menunjukkan blok berikutnya dalam urutan file.

Direktori menyimpan penunjuk ke blok awal file, lalu sistem mengikuti rantai penunjuk untuk menemukan blok berikutnya.

Ilustrasi:

Direktori
    │
    ▼
[Blok 7] → [Blok 2] → [Blok 15] → [Blok 4] → Selesai

Nomor blok pada ilustrasi tidak berurutan, tetapi penunjuk menjaga urutan logis isi file.

Contoh nyata: Sebuah file memerlukan empat blok. Sistem berkas menempatkan blok-bloknya pada lokasi berbeda dan menyimpan informasi hubungan antarblok agar isi file dapat dibaca sesuai urutan.

Kelebihan:

  • Tidak memerlukan ruang kosong berdekatan untuk menampung seluruh file.

  • Dapat menghindari fragmentasi eksternal dalam model alokasi blok tertaut.

  • File dapat diperluas dengan menambahkan blok dan memperbarui tautannya.

Kekurangan:

  • Akses langsung ke bagian tertentu dapat kurang efisien karena sistem mungkin harus mengikuti penunjuk dari blok sebelumnya.

  • Sebagian ruang blok digunakan untuk menyimpan penunjuk.

  • Kerusakan pada penunjuk dapat mengganggu penelusuran rantai blok.

Salah satu pendekatan yang berkaitan dengan alokasi tertaut adalah File Allocation Table (FAT), yang menyimpan informasi hubungan blok pada tabel alokasi, bukan harus menempatkan penunjuk berikutnya langsung di dalam setiap blok data.

5.3 Alokasi terindeks (indexed allocation)

Pada alokasi terindeks, setiap file memiliki blok indeks atau struktur indeks yang menyimpan alamat blok-blok data file tersebut.

Direktori menyimpan informasi yang membantu sistem menemukan indeks file. Sistem kemudian membaca indeks untuk menentukan lokasi blok data yang diperlukan.

Ilustrasi:

Direktori
    │
    ▼
Blok Indeks
  ├──► Blok 7
  ├──► Blok 2
  ├──► Blok 15
  └──► Blok 4

Walaupun blok data tersebar pada media penyimpanan, indeks membantu sistem menemukan blok yang menyusun file.

Contoh nyata: File berukuran besar menempati beberapa blok yang tidak berdekatan. Sistem membaca informasi indeks untuk menemukan blok-blok yang diperlukan ketika file dibuka.

Kelebihan:

  • Mendukung akses langsung karena alamat blok dicatat dalam indeks.

  • Tidak mensyaratkan seluruh blok file berada berdekatan.

  • Memisahkan informasi lokasi blok dari isi data file.

Kekurangan:

  • Memerlukan ruang tambahan untuk menyimpan indeks.

  • Pengelolaan indeks dapat menjadi lebih kompleks untuk file yang sangat besar.

  • Sistem perlu menyediakan mekanisme untuk menangani jumlah blok yang melebihi kapasitas indeks sederhana.

Sistem berkas modern dapat menggunakan struktur yang lebih kompleks daripada satu blok indeks tunggal, misalnya pohon atau struktur pemetaan blok lainnya.

Perbandingan tiga metode alokasi

AspekBerdekatanTertautTerindeks
Lokasi blokBerurutanDapat tersebarDapat tersebar
Informasi lokasiBlok awal dan panjangPenunjuk antarblokStruktur indeks
Akses berurutanBaikBaikBaik
Akses langsungMudah dihitungUmumnya kurang efisienDidukung melalui indeks
Fragmentasi eksternalDapat terjadiDihindari pada model tertautDihindari pada model terindeks
OverheadRendahPenunjuk atau tabel tautanRuang indeks

6. Hubungan File System dengan Sistem Operasi

File system bekerja bersama sistem operasi untuk menyediakan layanan pengelolaan data. Ketika pengguna menyimpan atau membuka file, beberapa aktivitas berlangsung di balik layar.

Sebagai contoh, ketika seorang mahasiswa membuka Laporan_Praktikum.pdf:

  1. Pengguna memilih file melalui aplikasi atau pengelola file.

  2. Sistem operasi memeriksa lokasi file dan hak akses yang berlaku.

  3. Sistem berkas menemukan informasi tentang blok data file.

  4. Sistem operasi meminta pembacaan data dari media penyimpanan melalui lapisan perangkat dan driver yang sesuai.

  5. Data diteruskan kepada aplikasi untuk ditafsirkan dan ditampilkan.

Ketika file disimpan kembali, sistem mengelola operasi penulisan dan pembaruan metadata sesuai dengan mekanisme sistem berkas yang digunakan.

Sistem berkas modern juga dapat menyediakan fitur tambahan seperti izin akses, jurnal perubahan (journaling), pemeriksaan konsistensi, serta dukungan pemulihan setelah gangguan. Ketersediaan fitur tersebut bergantung pada sistem berkas yang digunakan.

7. Contoh Penerapan dalam Kehidupan Sehari-hari

A. Pengelolaan dokumen kuliah

Mahasiswa menyimpan dokumen dalam folder berdasarkan mata kuliah. File biasa digunakan untuk menyimpan isi dokumen, sedangkan direktori membantu mengelompokkan berkas agar mudah ditemukan.

B. Pengelolaan data mahasiswa

Sistem akademik menyimpan data mahasiswa dan menyediakan mekanisme pencarian. Aplikasi dapat menggunakan indeks atau struktur data lain agar catatan tertentu ditemukan tanpa harus memindai seluruh data.

C. Penyimpanan file multimedia

Foto, audio, dan video disimpan sebagai file dengan format tertentu. Sistem berkas mengelola lokasi data pada media penyimpanan, sementara aplikasi multimedia menafsirkan format isi file.

D. Administrasi server

Administrator Linux mengelola file konfigurasi, log sistem, direktori pengguna, serta file layanan. Hak akses dan struktur direktori membantu membatasi akses serta menjaga keteraturan sistem.

8. Kesimpulan

File system merupakan mekanisme penting dalam sistem operasi untuk mengelola penyimpanan dan akses data. File menyimpan informasi dengan format tertentu, sedangkan struktur file menentukan bagaimana informasi tersebut disusun dan ditafsirkan.

Dalam materi dasar sistem operasi, jenis file mencakup file biasa, direktori, dan file khusus. Mekanisme akses file meliputi akses berurutan, akses langsung atau acak, serta akses berurutan berindeks. Adapun metode alokasi ruang penyimpanan yang dipelajari meliputi alokasi berdekatan, tertaut, dan terindeks.

Setiap metode memiliki kelebihan dan keterbatasan. Alokasi berdekatan sederhana dan mendukung akses berurutan, alokasi tertaut memudahkan penggunaan blok yang tersebar, sedangkan alokasi terindeks membantu menemukan blok file secara langsung melalui informasi indeks.

Bagi mahasiswa Informatika, pemahaman mengenai file system menjadi dasar penting untuk mempelajari sistem operasi, pengelolaan data, administrasi Linux, pengembangan aplikasi, serta keamanan sistem informasi.

Referensi

  1. Silberschatz, A., Galvin, P. B., dan Gagne, G. Operating System Concepts. Wiley.

  2. Tanenbaum, A. S., dan Bos, H. Modern Operating Systems. Pearson.

  3. Stallings, W. Operating Systems: Internals and Design Principles. Pearson.

  4. Maulana, Muhammad Sony. Modul Sistem Operasi. Pontianak, 17 September 2019.

0 Komentar