Latihan 1: Worker Threads — Node.js

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

Simulasikan cara membagi kerja berat ke beberapa worker: jumlahkan 1 sampai 1.000 dalam 4 bagian, lalu gabungkan hasilnya. Simulator latihan gak punya worker_threads, jadi keempat bagian jalan bergantian.

Kode awal sudah punya totalIterations = 1000, workerCount = 4, chunkSize (250), let totalResult = 0;, dan dua baris terakhir yang mencetak Total result dan Verifikasi. Semuanya biarkan.

  1. Di TODO pertama, tulis function computeSum(start, end) yang menjumlahkan semua angka dari start sampai end (end ikut dihitung) dengan perulangan dan sum += i, lalu mengembalikan hasilnya.
  2. Di TODO kedua, buat perulangan for (let w = 0; w < workerCount; w++). Di dalamnya: start = w * chunkSize + 1, end = (w + 1) * chunkSize, hitung computeSum(start, end), cetak "Worker " + (w + 1) + ": sum(" + start + ".." + end + ") = " + hasil, lalu tambahkan ke totalResult dengan +=.

Output yang diharapkan:

Worker 1: sum(1..250) = 31375
Worker 2: sum(251..500) = 93875
Worker 3: sum(501..750) = 156375
Worker 4: sum(751..1000) = 218875
Total result: 500500
Verifikasi (n*(n+1)/2): 500500

Yang dinilai: output memuat Total result: 500500 dan Worker 1; kodenya memakai perulangan (for (, while (, Array.from atau .map() dan menjumlahkan dengan += atau reduce(; dan computeSum dicoba dengan rentang lain: computeSum(1,10) = 55, computeSum(5,5) = 5, computeSum(1,100) = 5050.

Hint