Belajar Node.js : Cara Menggunakan Modul File System untuk Baca & Tulis File
Belajar Node.js : Cara Menggunakan Modul File System untuk Baca & Tulis File

Topik: Node.js · JavaScript
Level: Pemula – Menengah
Saat pertama kali belajar Node.js, banyak pemula menulis HTML langsung di dalam kode JavaScript menggunakan response.write(). Cara ini memang cepat untuk percobaan sederhana seperti menampilkan “Hello World”, tapi jelas nggak efisien kalau proyeknya makin besar. Bayangkan kalau lo punya halaman web lengkap dengaan CSS, JavaScript, dan elemen form — semua ditulis dalam satu file .js. Kacau banget, bro. Di sinilah peran modul File System (fs) jadi krusial. Dengan fs, lo bisa membaca file HTML, CSS, atau data dari sistem komputer lalu menampilkannya melalui server Node.js.
Table of Contents
Apa Itu Modul File System (fs) ?
Modul File System, disingkat fs, adalah salah satu modul bawaan Node.js yang memungkinkan program lo berinteraksi langsung dengan sistem berkas di komputer. Lo nggak perlu install tambahan apa pun melalui NPM, karena modul ini otomatis tersedia begitu Node.js terpasang. Cukup tulis:
var fs = require('fs');
Dengan fs, lo bisa melakukan banyak hal — mulai dari membaca file, menulis file baru, mengganti nama file, sampai menghapusnya. Modul ini bekerja seperti jembatan antara aplikasi Node.js dan penyimpanan komputer, sehingga lo bisa memanipulasi data secara langsung tanpa bantuan library eksternal.
Membaca File HTML dengan Node.js
Langkah pertama yang paling sering dilakukan adalah membaca file HTML dan mengirimkannya ke browser. Misalnya, lo punya file index.html seperti ini:
<!DOCTYPE html>
<html>
<head>
<title>Tutorial Node.js</title>
</head>
<body>
<h1>Tutorial Node.js Petani Kode</h1>
<p>Belajar Baca Tulis File di Node.js</p>
</body>
</html> Lalu lo buat file baru bernama baca_file.js:
var fs = require('fs');
var http = require('http');
http.createServer(function (request, response) {
fs.readFile('index.html', (err, data) => {
if (err) throw err;
response.writeHead(200, {'Content-Type': 'text/html'});
response.write(data);
response.end();
});
}).listen(8000);
console.log("server running on http://localhost:8000"); Jalankan dengan perintah node baca_file.js, lalu buka browser di http://localhost:8000.
Hasilnya, halaman HTML yang lo buat tadi langsung tampil dari server Node.js.
Metode fs.readFile() di sini berfungsi untuk membaca isi file secara asynchronous. Ia menerima dua parameter utama, yaitu nama file yang akan dibaca dan callback function yang akan dieksekusi setelah proses membaca selesai. Jika berhasil, data dari file akan dikirimkan ke client menggunakan response.write(). Sementara itu, parameter err akan berisi informasi error kalau terjadi kegagalan, misalnya file nggak ditemukan.
Menulis File di Node.js
Selain membaca file, fs juga bisa digunakan untuk menulis atau membuat file baru. Ada tiga metode populer untuk hal ini, yaitu fs.appendFile(), fs.open(), dan fs.writeFile(). Masing-masing punya karakteristik dan fungsi yang sedikit berbeda.
1. Membuat File Baru dengan fs.appendFile()
Metode fs.appendFile() digunakan untuk menambah isi ke file. Jika file belum ada, Node.js akan otomatis membuatnya. Contohnya:
var fs = require('fs');
fs.appendFile('mynewfile1.txt', 'Hello dari FrozWorker!', function (err) {
if (err) throw err;
console.log('File berhasil disimpan!');
}); Setiap kali kode di atas dijalankan, teks baru akan ditambahkan di bagian akhir file. Jadi kalau lo mengeksekusinya tiga kali, isi file mynewfile1.txt akan berisi tiga kali tulisan “Hello dari FrozWorker!”. Fungsi ini cocok digunakan ketika lo ingin menambahkan catatan log atau menyimpan data baru tanpa menghapus data sebelumnya.
2. Membuat File dengan fs.open()
Selanjutnya ada fs.open(), yang sedikit lebih fleksibel karena mendukung banyak mode operasi. Fungsi ini bisa digunakan untuk membuka, membaca, menulis, atau bahkan membuat file baru tergantung flag yang lo berikan. Contoh penggunaan dasarnya:
var fs = require('fs');
fs.open('mynewfile2.txt', 'w', function (err, file) {
if (err) throw err;
console.log('File berhasil dibuat!');
}); Parameter pertama adalah nama file, parameter kedua adalah flag (mode), dan parameter ketiga adalah fungsi callback. Flag 'w' berarti mode tulis — artinya Node.js akan membuat file baru kalau belum ada, dan menimpa isinya kalau sudah ada.
Ada juga flag lain yang bisa digunakan. Misalnya 'r' untuk hanya membaca file, 'r+' untuk membaca sekaligus menulis tanpa menimpa file, 'a' untuk menambah isi file di bagian akhir, dan 'w+' untuk menulis sekaligus membaca dari file baru. Perbedaan utama antar flag ini terletak pada apakah file dibuat baru, ditimpa, atau hanya dibaca.
Jadi ketika lo ingin menulis isi file baru dan langsung membacanya kembali dalam satu proses, flag 'w+' adalah pilihan yang tepat.
3. Menulis dan Membaca File Sekaligus
Berikut contoh kombinasi penggunaan fs.open(), fs.writeFile(), dan fs.readFile() dalam satu program:
var fs = require('fs');
fs.open('mynewfile2.txt', 'w+', function (err, file) {
if (err) throw err;
let content = "Hello Programmer Kode x FrozWorker!";
fs.writeFile(file, content, (err) => {
if (err) throw err;
console.log('File berhasil ditulis!');
});
fs.readFile(file, (err, data) => {
if (err) throw err;
console.log(data.toString('utf8'));
});
}); Kode ini akan membuat file baru bernama mynewfile2.txt, menulis teks ke dalamnya, lalu membaca isi file dan menampilkannya di console. Fungsi toString('utf8') digunakan untuk mengubah data dalam bentuk buffer menjadi teks yang bisa dibaca manusia.
Konsep dasar dari operasi ini menggambarkan bagaimana Node.js bekerja secara asynchronous. Walaupun terlihat berurutan, setiap operasi (baca, tulis, buka file) dijalankan melalui callback yang akan dipanggil ketika proses sebelumnya selesai. Karena itu, fs sangat efisien digunakan pada aplikasi server yang menangani banyak permintaan secara bersamaan.
Mengubah Nama File
Kadang, setelah membuat file, lo ingin mengganti namanya. Misalnya untuk menyesuaikan struktur folder, atau mengatur file log berdasarkan tanggal. Untuk itu, Node.js menyediakan metode fs.rename():
var fs = require('fs');
fs.rename('mynewfile1.txt', 'myrenamedfile.txt', function (err) {
if (err) throw err;
console.log('Nama file berhasil diubah!');
}); Metode ini menerima tiga parameter: nama file lama, nama file baru, dan callback function yang dijalankan setelah proses rename selesai. Jika file lama tidak ditemukan, maka akan muncul error. Tapi kalau berhasil, nama file langsung berubah tanpa mengubah isi file sedikit pun.
Menghapus File
Ketika file sudah nggak dibutuhkan lagi, lo bisa menghapusnya menggunakan metode fs.unlink():
var fs = require('fs');
fs.unlink('mynewfile2.txt', function (err) {
if (err) throw err;
console.log('File berhasil dihapus!');
}); Cukup satu baris ini, dan file akan lenyap dari direktori tempat program dijalankan. Namun tetap hati-hati — fs.unlink() akan langsung menghapus file tanpa konfirmasi. Jadi pastikan nama file dan path-nya benar sebelum dijalankan, terutama kalau lo sedang bekerja di direktori penting.
Tips & Best Practice
- Pertama, selalu tangani error dengan baik. Setiap fungsi di modul fs memiliki parameter err yang akan berisi pesan kesalahan bila terjadi sesuatu, seperti file tidak ditemukan atau akses ditolak. Menangani error dengan if (err) akan membuat program lo lebih aman dan tidak mudah crash.
- Kedua, gunakan path absolut atau gunakan variabel __dirname agar Node.js tahu lokasi file yang ingin diakses. Ini penting terutama jika lo menjalankan file dari direktori yang berbeda. Misalnya:
fs.readFile(__dirname + '/index.html', ...)
- Ketiga, hindari penggunaan versi synchronous seperti fs.readFileSync() pada server yang melayani banyak request. Versi synchronous akan menghentikan eksekusi kode lain sampai proses selesai, yang bisa bikin server jadi lambat. Gunakan versi asynchronous seperti fs.readFile() atau gunakan promise dengan fs.promises.
- Keempat, eksperimenlah dengan data JSON. Modul fs juga bisa digunakan untuk menyimpan data dalam format JSON, yang nantinya bisa lo gunakan sebagai mini-database. Misalnya:
const data = { name: "FrozWorker", skill: "Node.js" };
fs.writeFile('data.json', JSON.stringify(data), () => {}); File data.json kemudian bisa dibaca kembali dan diubah menjadi objek JavaScript dengan JSON.parse().
Kesimpulan
Modul fs di Node.js memberikan kemampuan luar biasa untuk mengelola file secara langsung dari kode JavaScript. Dengan memahami cara kerjanya, lo bisa membuat server web sederhana, sistem logging otomatis, pengelolaan data lokal, hingga aplikasi yang menyimpan konfigurasi pengguna.
Melalui fs.readFile() lo bisa membaca file, fs.writeFile() untuk menulis atau mengganti isi file, fs.appendFile() untuk menambah data tanpa menghapus yang lama, fs.rename() untuk mengubah nama file, dan fs.unlink() untuk menghapus file yang sudah tidak dibutuhkan. Semua ini bekerja secara asynchronous sehingga performanya tetap cepat dan efisien.
Intinya, fs adalah pondasi penting dalam dunia Node.js. Ia memperlihatkan bagaimana JavaScript, yang dulu hanya dikenal sebagai bahasa browser, kini bisa berinteraksi langsung dengan sistem komputer seperti bahasa pemrograman tingkat tinggi lainnya. Dengan sedikit eksperimen, lo bisa memanfaatkan fs untuk membuat berbagai aplikasi cerdas yang mengatur data, menyimpan laporan otomatis, atau bahkan membangun sistem file-based CMS sederhana.
Dan satu pesan terakhir: jangan takut bereksperimen. Karena setiap error yang muncul dari fs justru adalah guru terbaik untuk memahami bagaimana Node.js benar-benar bekerja di balik layar.
- Belajar Nodejs #01: Pengenalan Dasar Nodejs
- Belajar Nodejs #02: Mengenal NPM Untuk Manajemen Project Javascript
- Pengenalan Mendalam Node.js: Mengubah Dunia Pemrograman
- 6 Cara Node.js Mengubah Cara Pengembangan Backend dengan JavaScript
- Cara Nodemon Mengubah Proses Pengembangan Node.js Menjadi Lebih Efisien
- 6 Proyek Sederhana untuk Belajar Node.js dari Nol
- 6 Trik Node.js yang Jarang Diketahui Developer
- 6 Kesalahan Pemula dalam Coding Node.js dan Cara Mengatasinya
- Mengapa Node.js Cocok untuk Startup dengan Tim Kecil
- Cara Upload File di Node.js: Tutorial Lengkap untuk Pemula
- Belajar Node.js : Cara Menggunakan Modul File System untuk Baca & Tulis File
- Bagaimana Cara Mengirim Email di Node.js ?
- Tutorial Membuat Middleware Validasi Request API Menggunakan Joi dan Lodash di Node.js
Last updated on June 04, 2026