function tekaTekiTeko(batas) {
// untuk ngevalidasi bahwa batas yang dimasukkan harus number, integer, bukan angka negatif, juga minimal 20
if (
typeof batas !== 'number' ||
!Number.isInteger(batas) ||
batas < 20
) {
throw new Error('Parameter harus angka positif (unsigned integer) dengan nilai minimal 20'); //ketika parameter nya gak sesuai
}
for (let i = 1; i <= batas; i++) {
let output = '';
if (i % 2 === 0) output += 'Teka';
if (i % 3 === 0) output += 'Teki';
if (i % 5 === 0) output += 'Teko';
// cetak hasil
console.log(output || i);
}
}
// testing
try {
tekaTekiTeko(10);
} catch (error) {
print('Terjadi error:', error.message);
}
ZnVuY3Rpb24gdGVrYVRla2lUZWtvKGJhdGFzKSB7CiAgICAvLyB1bnR1ayBuZ2V2YWxpZGFzaSBiYWh3YSBiYXRhcyB5YW5nIGRpbWFzdWtrYW4gaGFydXMgbnVtYmVyLCBpbnRlZ2VyLCBidWthbiBhbmdrYSBuZWdhdGlmLCBqdWdhIG1pbmltYWwgMjAKICAgIGlmICgKICAgICAgdHlwZW9mIGJhdGFzICE9PSAnbnVtYmVyJyB8fAogICAgICAhTnVtYmVyLmlzSW50ZWdlcihiYXRhcykgfHwKICAgICAgYmF0YXMgPCAyMAogICAgKSB7CiAgICAgIHRocm93IG5ldyBFcnJvcignUGFyYW1ldGVyIGhhcnVzIGFuZ2thIHBvc2l0aWYgKHVuc2lnbmVkIGludGVnZXIpIGRlbmdhbiBuaWxhaSBtaW5pbWFsIDIwJyk7IC8va2V0aWthIHBhcmFtZXRlciBueWEgZ2FrIHNlc3VhaQogICAgfQogIAogICAgZm9yIChsZXQgaSA9IDE7IGkgPD0gYmF0YXM7IGkrKykgewogICAgICBsZXQgb3V0cHV0ID0gJyc7CiAgCiAgICAgIGlmIChpICUgMiA9PT0gMCkgb3V0cHV0ICs9ICdUZWthJzsKICAgICAgaWYgKGkgJSAzID09PSAwKSBvdXRwdXQgKz0gJ1Rla2knOwogICAgICBpZiAoaSAlIDUgPT09IDApIG91dHB1dCArPSAnVGVrbyc7CiAgCiAgICAgIC8vIGNldGFrIGhhc2lsCiAgICAgIGNvbnNvbGUubG9nKG91dHB1dCB8fCBpKTsKICAgIH0KICB9CiAgCiAgLy8gdGVzdGluZwogIHRyeSB7CiAgICB0ZWthVGVraVRla28oMTApOwogIH0gY2F0Y2ggKGVycm9yKSB7CiAgICBwcmludCgnVGVyamFkaSBlcnJvcjonLCBlcnJvci5tZXNzYWdlKTsKICB9CiAg