Kunci jawaban 02 Latihan Struktur Program. Pastikan kamu udah nyoba sendiri dulu. Solusi di sini ditulis sesederhana mungkin; punyamu boleh beda asal hasilnya benar.
2.1 Segitiga Berulang
for (let n = 1; n <= 7; n++) {
console.log("#".repeat(n));
}Kenapa: n berjalan dari 1 sampai 7, dan "#".repeat(n) membuat string berisi n buah pagar. Jadi baris pertama satu pagar, baris ketujuh tujuh pagar. Cara lain tanpa repeat: mulai dari string "#" dan tambahkan satu # tiap putaran:
let baris = "#";
while (baris.length <= 7) {
console.log(baris);
baris += "#";
}→ Soal: 02 Latihan Struktur Program > 2.1 Segitiga Berulang
2.2 FizzBuzz
for (let n = 1; n <= 100; n++) {
let keluaran = "";
if (n % 3 == 0) keluaran += "Fizz";
if (n % 5 == 0) keluaran += "Buzz";
console.log(keluaran || n);
}Kenapa: dua if terpisah (bukan else if) itu kuncinya. Angka 15 habis dibagi 3 dan 5, jadi kedua if jalan dan keluaran otomatis jadi "FizzBuzz" tanpa cabang khusus. Lalu keluaran || n: kalau keluaran masih "" (falsy), operator || mengembalikan n (angkanya); kalau ada isinya, isi itu yang dicetak.
→ Soal: 02 Latihan Struktur Program > 2.2 FizzBuzz
2.3 Papan Catur
let size = 8;
let papan = "";
for (let y = 0; y < size; y++) {
for (let x = 0; x < size; x++) {
if ((x + y) % 2 == 0) {
papan += " ";
} else {
papan += "#";
}
}
papan += "\n";
}
console.log(papan);Kenapa: y nomor baris, x nomor kolom. Di posisi (0,0) jumlahnya 0 (genap) → spasi; (1,0) jumlahnya 1 (ganjil) → #; begitu bergantian. Waktu pindah baris, y naik satu sehingga paritas x + y bergeser dan polanya terbalik — persis papan catur. papan += "\n" ada di luar loop x tapi dalam loop y, jadi satu baris baru per baris papan. Karena batasnya size, mengganti size ke 4 atau 12 langsung jalan.