fork download
  1. function tekaTekiTeko(batas) {
  2. if (!Number.isInteger(batas) || batas < 20) {
  3. throw new Error("Parameter batas harus berupa bilangan bulat positif (unsigned integer) dan minimal 20");
  4. }
  5.  
  6. for (let i = 1; i <= batas; i++) {
  7. if (i % 2 === 0 && i % 3 === 0 && i % 5 === 0) {
  8. console.log("TekaTekiTeko");
  9. } else if (i % 2 === 0 && i % 3 === 0) {
  10. console.log("TekaTeki");
  11. } else if (i % 2 === 0 && i % 5 === 0) {
  12. console.log("TekaTeko");
  13. } else if (i % 3 === 0 && i % 5 === 0) {
  14. console.log("TekiTeko");
  15. } else if (i % 2 === 0) {
  16. console.log("Teka");
  17. } else if (i % 3 === 0) {
  18. console.log("Teki");
  19. } else if (i % 5 === 0) {
  20. console.log("Teko");
  21. } else {
  22. console.log(i);
  23. }
  24. }
  25. }
  26.  
  27. console.log("\n===== Test parameter valid =====\n");
  28.  
  29. try {
  30. tekaTekiTeko(30);
  31. } catch (error) {
  32. console.log(`Error: ${error.message}`);
  33. }
  34.  
  35. console.log("\n===== Test parameter tidak valid =====\n");
  36.  
  37. try {
  38. tekaTekiTeko(19);
  39. } catch (error) {
  40. console.log(`Error: ${error.message}`);
  41. }
  42.  
  43. try {
  44. tekaTekiTeko("abc");
  45. } catch (error) {
  46. console.log(`Error: ${error.message}`);
  47. }
  48.  
  49. try {
  50. tekaTekiTeko(15.5);
  51. } catch (error) {
  52. console.log(`Error: ${error.message}`);
  53. }
Success #stdin #stdout 0.04s 16664KB
stdin
Standard input is empty
stdout
===== Test parameter valid =====

1
Teka
Teki
Teka
Teko
TekaTeki
7
Teka
Teki
TekaTeko
11
TekaTeki
13
Teka
TekiTeko
Teka
17
TekaTeki
19
TekaTeko
Teki
Teka
23
TekaTeki
Teko
Teka
Teki
Teka
29
TekaTekiTeko

===== Test parameter tidak valid =====

Error: Parameter batas harus berupa bilangan bulat positif (unsigned integer) dan minimal 20
Error: Parameter batas harus berupa bilangan bulat positif (unsigned integer) dan minimal 20
Error: Parameter batas harus berupa bilangan bulat positif (unsigned integer) dan minimal 20