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.
- Ganti isi
data jadi "Ini adalah contoh data yang akan diproses secara chunk" (54 karakter). processInChunks(data, 10) tetap dipakai.
- Setelah
const chunks = ..., cetak "Data: \"" + data + "\"", lalu "Chunk size: 10", lalu "Jumlah chunks: " + chunks.length.
- Di
forEach, bungkus tiap potongan dengan tanda kutip: "Chunk " + (i + 1) + ": \"" + chunk + "\"". Hapus baris Total: ....
- 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.