Apa itu FUSE? FUSE merupakan singkatan dari Filesystem in Userspace. Pertama, arti dari filesystem adalah sebuah metode pemberian nama pada file dan merupakan cara untuk menempatkannya ke dalam sebuah media penyimpan, termasuk juga penempatan file pada struktur direktori. Singkatnya FUSE adalah modul yang mengijinkan pengguna untuk membuat file system tanpa perlu memodifikasi kode pada kernel. Mungkin dari penjelasannya kurang jelas apa sih FUSE itu dan implementasinya seperti apa sih, biar lebih jelas kita masuk ke kodingannya
Kodingan FUSE seperti program lainnya pertama dimulai dengan library - library. Lalu kita menginisialisasi direktori path yang akan jadi rujukan oleh filesystem yang kita buat. Jadi, filesystem yang nanti akan dibuat oleh program FUSE merupakan sebuah folder yang isinya adalah isi dari folder lain yang ada di memori komputer kita. Maka dari itu dibutuh kan direktori acuan dari FUSE yang akan kita buat nantinya.
Lalu, untuk sisanya, FUSE berisi fungsi - fungsi untuk menjalankan perintah filesystem seperti open, chmod, rename, read, write, dan lain - lain. Dan tidak perlu bingung tentang fungsi - fungsinya, karena bisa dicari sendiri di internet. Namun yang dari internet merupakan fungsi sederhana, bila ingin melakukan yang lebih maka harus dimodifikasi lagi fungsi yang ada. Contoh fungsi - fungsi yang dijalankan di program FUSE adalah:
Gambar diatas ini merupakan beberapa fungsi yang ada di dalam FUSE. Ada fungsi yang di beri tanda command dan ada yang tidak. Kenapa? Karena tidak semua fungsi akan kita pakai, tergantung kebutuhan kita. Jadi fungsi - fungsi yang tidak mesti kita pakai, bisa kita beri command saja. Namun jika kita membutuhkan, kita bisa mencari fungsinya di internat dan menghilangkan command untuk fungsi yang ingin kita gunakan.
Fungsi mainnya sangatlah singkat, yaitu:
Contoh salah satu fungsi FUSE seperti:
Fungsi readdir ini adalah untuk melihat folder apa saja yang ada di FUSE yang telah kita buat atau bila diterminal adalah perintah ls. Fungsi diatas masih murni dan belum dimodifikasi untuk situasi tertentu.
Untuk fungsi open ini, telah saya modifikasi terlebih dahulu. Jadi fungsi ini berfung si untuk membuat file backup dengan format <namafile> <ekstensi> .bak setiap kali kita membuka file yang ada di folder FUSE yang telah kita buat. Nah coba kita lihat alur kerja kodingannya. Pertama nama file dan ekstensi dari file yang akan di buat backup filenya disimpan dan di read isinya, setelah itu nama backup filenya juga dibuat, itu terjadi pada kodingan dari baris pertama sampai sebelum if. Lalu setelah itu fungsi akan mengecek apakah sudah ada file backup dengan nama yang sama, jika sama maka akan di remove. Jika tidak ada nama yang sama, maka fungsi akan menulis kembali apa yang telah diread sebelumnya dan menaruhnya ke file backup tersebut. Setelah file backup terbentuk, fungsi akan mengubah hak akses file backup menjadi hanya bisa dibuka tanpa bisa merubah isinya, itu terjadi di kodingan dimana ada chmod 444. Setelah selesai, file yang dibaca dan dibuat diclose. Nah yang menarik adalah sebenarnya, fungsi murni dari fungsi open adalah di 6 baris terakhir.
Mungkin sekian dulu aja yang bisa saya sampaikan dan berikan disini, mungkin cuma sedikit tapi semoga bermanfaat buat kalian. Jangan lupa berikan komentar kalian dibawah. Terima kasih, dan sampai jumpa ^^









