Proyek ini adalah simulator sistem file yang dibangun menggunakan Electron dan Node.js untuk mendemonstrasikan bagaimana sistem operasi mengelola file dan direktori. Simulator ini menggabungkan antarmuka grafis dengan terminal berbasis perintah untuk operasi file.
- Kelas: C1
- Dosen Pengampu: Dr. Rasim, S.T., M.T.
- Kelompok: 10
- Anggota Kelompok:
- Daffa Faiz Restu Oktavian – 2309013
- Devia Nursa’adah – 2006363
- Hafsah Hamidah – 2311474
- Lyan Nazhabil Dzuquwwa – 2308428
Recording.2025-06-11.100557.1.mp4
Simulator Sistem File menggunakan sistem file virtual dalam memori, bukan sistem file asli komputer Anda. Hal ini memungkinkan eksperimen yang aman tanpa memengaruhi file asli. Aplikasi ini memiliki antarmuka GUI seperti penjelajah file dan antarmuka terminal berbasis perintah, sehingga edukatif untuk memahami konsep manajemen file pada sistem operasi.
- Sistem File Virtual Dalam Memori: Semua operasi dilakukan pada sistem file yang disimulasikan
- Antarmuka Ganda:
- GUI grafis dengan navigasi file/folder dan operasi
- Terminal berbasis perintah untuk menjalankan perintah sistem file
- Operasi File:
- Membuat direktori (
mkdir) - Membuat file (
touch) - Navigasi direktori (
cd) - Menampilkan isi direktori (
ls) - Menghapus file/folder (
rm) - Menampilkan isi file (
cat) - Mengganti nama file/folder (
rename) - Melihat alokasi memori (
visualizeatauvis)
- Membuat direktori (
- Strategi Alokasi Memori:
- Alokasi kontigu untuk file kecil
- Alokasi tertaut untuk penyimpanan terfragmentasi
- Alokasi terindeks untuk file besar
- Visualisasi Memori:
- Representasi grafis blok penyimpanan
- Blok berwarna berdasarkan jenis alokasi
- Statistik penggunaan memori dan fragmentasi
- Detail alokasi file dengan metrik efisiensi
- Skenario uji untuk berbagai strategi alokasi
- Representasi Visual: Ikon untuk membedakan file dan folder
file-management-system/
├── index.html # Antarmuka HTML utama
├── package.json # Konfigurasi proyek dan dependensi
├── preload.js # Mengekspos API Node.js dengan aman ke proses renderer
├── presentation.md # Dokumentasi presentasi proyek
├── README.md # Dokumentasi proyek
├── assets/
│ └── icons/ # Ikon UI
│ ├── delete.svg
│ ├── file.svg
│ └── folder.svg
├── src/
│ ├── editor.html # Editor untuk file virtual
│ ├── main.js # Proses utama (titik masuk aplikasi)
│ ├── renderer.js # Proses renderer (logika UI)
│ ├── memory_visualizer_guide.md # Panduan visualisasi memori
│ ├── memoryVisualizer_fixed.html # Versi visualisasi memori yang digunakan
│ ├── testMemoryVisualizer.js # Pengujian untuk visualisasi memori
│ ├── components/ # Komponen UI
│ │ ├── ActionBar.js # Komponen tombol aksi
│ │ ├── FileList.js # Komponen tampilan daftar file
│ │ └── FileOperations.js # Penangan operasi file
│ ├── styles/
│ │ └── main.css # Gaya aplikasi
│ └── utils/
│ ├── fileSystem.js # Abstraksi interaksi sistem file
│ └── virtualFileSystem.js # Implementasi sistem file dalam memori
- Pastikan Anda telah menginstal Node.js di sistem Anda
- Clone atau unduh repositori ini
- Buka terminal dan navigasikan ke direktori proyek
- Instal dependensi:
npm install
Untuk memulai Simulator Sistem File:
npm start
- Navigasi: Klik nama folder untuk masuk ke direktori
- Kembali: Gunakan tombol kembali untuk kembali ke direktori induk
- Refresh: Klik tombol refresh untuk memperbarui daftar file
- Hapus: Gunakan tombol hapus di sebelah file/folder untuk menghapusnya
- Toggle Terminal: Buka antarmuka terminal untuk operasi yang lebih lanjut
Terminal mendukung perintah berikut:
ls [path]- Menampilkan file dan direktoricd <path>- Berpindah direktori (gunakan..untuk naik satu level)mkdir <dirname>- Membuat direktorirm <path>- Menghapus file atau direktoritouch <filename>- Membuat file kosongnano <filename>- Membuka file untuk dieditpwd- Menampilkan path direktori saat inihelp- Menampilkan perintah yang tersediavisualizeatauvis- Melihat alokasi memori
Aplikasi dimulai dengan struktur direktori contoh yang memuat:
/documents/- File dokumen contoh/pictures/- File gambar contoh/music/- File musik contoh
Struktur ini dimuat dalam memori dan tidak memengaruhi sistem file asli Anda.
Simulator ini dirancang untuk mendemonstrasikan bagaimana sistem operasi mengelola file dan direktori. Simulator ini mengilustrasikan konsep seperti:
- Hierarki dan path sistem file
- Operasi file (pembuatan, penghapusan, navigasi)
- Parsing dan eksekusi perintah
- Interaksi antarmuka pengguna dengan sistem file
- Framework: Electron.js
- UI: HTML, CSS, dan JavaScript
- Arsitektur: Menggunakan proses utama dan proses renderer dengan komunikasi IPC
- Sistem File: Implementasi dalam memori untuk tujuan edukasi
Kontribusi sangat diterima! Silakan buka issue atau kirim pull request untuk peningkatan atau perbaikan bug.
Proyek ini dilisensikan di bawah Lisensi MIT.