fork download
  1. function tekaTekiTeko(batas) {
  2. // Validasi tipe data dan rentang nilai dari parameter 'batas'.
  3. if (typeof batas !== 'number' || !Number.isInteger(batas) || batas < 20) {
  4. throw new Error("Parameter 'batas' harus merupakan bilangan bulat dengan nilai minimal 20.");
  5. }
  6.  
  7. // Iterasi utama dari 1 hingga nilai batas.
  8. for (let i = 1; i <= batas; i++) {
  9. // Inisialisasi string output untuk setiap iterasi.
  10. let output = '';
  11.  
  12. // Bangun string output berdasarkan aturan pembagian habis.
  13. if (i % 2 === 0) {
  14. output += 'Teka';
  15. }
  16. if (i % 3 === 0) {
  17. output += 'Teki';
  18. }
  19. if (i % 5 === 0) {
  20. output += 'Teko';
  21. }
  22.  
  23. // Cetak string 'output' jika memiliki isi. Jika tidak, cetak angka iterasi saat ini.
  24. // Operator OR (||) akan mengembalikan nilai pertama yang 'truthy'.
  25. console.log(output || i);
  26. }
  27. }
  28.  
  29. // Contoh eksekusi fungsi dengan penanganan error yang sesuai.
  30. try {
  31. console.log("--- Eksekusi program dimulai ---");
  32. tekaTekiTeko(30);
  33. } catch (error) {
  34. // Menangkap dan menampilkan pesan error jika validasi gagal.
  35. console.error("Terjadi kesalahan:", error.message);
  36. }
Success #stdin #stdout 0.04s 40260KB
stdin
Standard input is empty
stdout
--- Eksekusi program dimulai ---
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