Latihan buat 20 Node.js. Dijalankan dengan Node (node file.js), bukan di browser/playground. Konsep: process.argv, modul fs dan http. Jawaban di 20 Kunci Jawaban Node.

20.1 Tool Pencari

Tulis tool command line yang mencari kata di beberapa file: node cari.js kata file1.txt file2.txt, mencetak nama file yang isinya mengandung kata itu.

Petunjuk: ambil argumen dari process.argv.slice(2) (indeks 0 = kata, sisanya nama file). Loop file, readFile(nama, "utf8"), dan kalau isinya mengandung kata itu (includes), cetak namanya. Konsep di 20 Node.js > Modul Inti dan 20 Node.js > Modul fs (File System).

→ Jawaban: 20 Kunci Jawaban Node > 20.1 Tool Pencari

20.2 Pembuatan Direktori

Tambahkan penanganan method MKCOL (buat direktori) ke file server dari babnya.

Petunjuk: cek request.method == "MKCOL", panggil fs.mkdir pada path yang di-resolve, dan balas status sukses atau error yang sesuai (tangani kasus direktori sudah ada). Konsep di 20 Node.js > Server HTTP.

→ Jawaban: 20 Kunci Jawaban Node > 20.2 Pembuatan Direktori

20.3 Ruang Web Publik

Buat file server yang juga melayani halaman HTML berisi form/JavaScript yang bisa mengedit file di server (lewat PUT), jadi ruang publik yang bisa diubah pengunjung.

Petunjuk: server melayani file statis (GET) + menerima PUT untuk menyimpan. Halaman HTML-nya pakai fetch dengan method: "PUT" untuk mengirim perubahan. Ini menggabungkan seluruh bab: fetch (18 HTTP dan Form), form, dan server Node. Konsep di 20 Node.js > File Server Sederhana.

→ Jawaban: 20 Kunci Jawaban Node > 20.3 Ruang Web Publik