Latihan 1: Streams & Buffers — Node.js

Latihan 1 dari materi Streams & Buffers di Node.js — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.

Ukur teks dalam byte dengan Buffer.from, lalu potong teks jadi chunk seperti stream memotong file.

Kode awal sudah punya Buffer.from("Halo Dunia", "utf-8") dan baris yang mencetak panjangnya, fungsi processInChunks(data, chunkSize) yang sudah jalan, lalu data berisi alfabet, forEach yang mencetak tiap chunk, dan baris Total: .... Baris Buffer dan fungsinya biarkan.

  1. Ganti isi data jadi "Ini adalah contoh data yang akan diproses secara chunk" (54 karakter). processInChunks(data, 10) tetap dipakai.
  2. Setelah const chunks = ..., cetak "Data: \"" + data + "\"", lalu "Chunk size: 10", lalu "Jumlah chunks: " + chunks.length.
  3. Di forEach, bungkus tiap potongan dengan tanda kutip: "Chunk " + (i + 1) + ": \"" + chunk + "\"". Hapus baris Total: ....
  4. Di baris paling akhir, ukur kata café: const cafe = Buffer.from("café", "utf-8");, lalu cetak 'Buffer: "café" = ' + cafe.length + " bytes". Huruf é makan 2 byte dalam UTF-8, jadi hasilnya 5, padahal "café".length 4.

Output yang diharapkan:

Buffer: "Halo Dunia" = 10 bytes
Data: "Ini adalah contoh data yang akan diproses secara chunk"
Chunk size: 10
Jumlah chunks: 6
Chunk 1: "Ini adalah"
Chunk 2: " contoh da"
Chunk 3: "ta yang ak"
Chunk 4: "an diprose"
Chunk 5: "s secara c"
Chunk 6: "hunk"
Buffer: "café" = 5 bytes

Yang dinilai: kesebelas baris output persis seperti di atas, berurutan; kodenya memakai Buffer.from, dan angka 5 datang dari Buffer.from("café", ...); dan processInChunks("abcdefghij", 3) harus menghasilkan 4 potongan dengan potongan terakhir j.

Hint