Struktrur Direktori adalah susunan dari sebuah komponen sistem berkas yang mengandung
satu berkas atau lebih
Operasi Direktori
Silberschatz, Galvin dan Gagne mengkategorikan operasi-operasi terhadap direktori sebagai
berikut:
a. Mencari berkas.�Bila pengguna atau sebuah aplikasi ingin melakukan suatu operasi
terhadap suatu berkas, tentu berkas tersebut harus dibuka terlebih dahulu. Untuk itu,
sebuah direktori harus mencari entri yang bersesuaian dengan file tersebut dengan
menelusuri struktur dari direktori yang bersangkutan.
b. Membuat berkas.�Saat sebuah berkas baru dibuat, maka sebuah entri akan
ditambahkan ke direktori.
c. Menghapus berkas.�Ketika suatu berkas tidak dibutuhkan lagi, maka berkas
tersebut bisa dihapus dari direktori.
d. Menampilkan isi direktori.�Menampilkan seluruh atau sebagian daftar berkas-
berkas yang ada di direktori dan atribut dari berkas-berkas dalam direktori tersebut
(misalnya, information access control, type dan usage information).
e. Mengubah nama berkas.�Nama suatu berkas merepresentasikan isi berkas
terhadap pengguna. Oleh karena itu, nama berkas harus bisa diubah ketika isi dan
kegunaannya sudah tidak sesuai lagi. Mengubah nama suatu berkas memungkinkan
berpindahnya posisi berkas di dalam struktur direktori.
f. Akses sistem berkas.�Pengguna bisa mengakses setiap direktori dan setiap berkas
yang berada dalam struktur direktori.
g. Update direktori.�Karena sebagian atribut dari berkas disimpan dalam direktori,
maka perubahan yang terjadi terhadap suatu berkas akan berpengaruh terhadap atribut
dari berkas yang bersangkutan di direktori tersebut.
Sedangkan Tanenbaum juga menambahkan hal-hal berikut sebagai operasi yang dapat
dilakukan terhadap direktori tersebut:
• Membuka direktori
• Menutup direktori
• Menambah direktori
• Mengubah nama direktori
• Menghubungkan berkas-berkas di direktori berbeda
• Menghapus hubungan berkas-berkas di direktori berbeda
Direktori Bertingkat
Direktori Satu Tingkat (Single—Level Directory)
Direktori satu tingkat merupakan suatu struktur direktori yang paling sederhana karena semua
berkas yang ada disimpan dalam direktori yang sama. Direktori satu tingkat ini memiliki
keterbatasan, yaitu bila berkas bertambah banyak atau bila sistem memiliki lebih dari satu
pengguna. Jumlah berkas yang terlalu banyak dalam sebuah direktori dapat menyebabkan
ketidaknyamanan. Hal ini mungkin saja terjadi karena pengguna hanya dapat menyimpan
berbagai berkas (misal: games, video, email) dalam sebuah direktori saja.
Pada direktori satu tingkat, sering terjadi kesulitan dalam menentukan nama file dari dua
pengguna yang berbeda. Penyelesaian umumnya adalah dengan membuat direktori terpisah
untuk tiap pengguna yang dikenal dengan User File Directory (UFD). Di struktur direktori
dua tingkat, setiap pengguna mempunyai UFD masing-masing. Ketika pengguna melakukan
login, maka Master File Directory (MFD) dipanggil. Indeks yang dimiliki oleh MFD
didasarkan pada username atau account number, dan setiap entri menunjuk pada UFD
pengguna tersebut. Sehingga, pengguna bisa mempunyai nama berkas yang sama dengan
berkas lain.
Gambar Path
Misalkan kita sedang berada pada direktori bahan, maka penulisan lintasan dari berkas slide:
Permasalahan yang timbul dalam penggunaan struktur graf asiklik adalah meyakinkan apakah
tidak ada siklus. Bila kita mulai dengan struktur direktori dua tingkat dan memperbolehkan
pengguna untuk membuat subdirektori, maka kita akan mendapatkan struktur direktori
pohon. Mempertahankan sifat pohon bukan suatu hal yang sulit, tetapi bila kita
menambahkan sambungan pada direktori dengan struktur pohon, maka sifat pohon akan
hilang dan menghasilkan struktur graf sederhana (General-graph directory).
Bila siklus diperbolehkan dalam direktori, tentunya kita tidak ingin mencari sebuah berkas
dua kali. Algoritma yang tidak baik akan menghasilkan infinite loop dan tidak akan pernah
berakhir. Oleh karena itu, diperlukan skema pengumpulan sampah (garbage-collection
scheme). Skema ini berhubungan dengan pemeriksaan seluruh sistem berkas dengan
menandai tiap berkas yang dapat diakses. Kemudian mengumpulkan apapun yang tidak
ditandai pada tempat yang kosong. Hal ini tentunya dapat menghabiskan banyak waktu.
Pada direktori dengan struktur pohon, setiap pengguna dapat membuat direktori sendiri
sehingga dalam UFD akan terdapat direktori yang dibuat oleh pengguna dan di dalam
direktori tersebut dapat dibuat direktori lain (sub-direktori), begitu seterusnya. Hal ini tentu
akan memudahkan pengguna dalam pengelompokan dan pengorganisasian berkas. Masalah
yang muncul adalah ketika pengguna ingin menggunakan suatu berkas secara bersama-sama.
Hal ini timbul dikarenakan sistem tidak mengizinkan seorang pengguna mengakses direktori
pengguna lain.
Pada general-graph directory, sebuah direktori me-link pada direktori yang me-link nya.
Dengan kata lain, jika direktori A berisi/ me-link direktori B maka ketika direktori B dibuka
akan terdapat direktori A (ada siklus).