fork download
  1. package main
  2.  
  3. import (
  4. "errors"
  5. "fmt"
  6. )
  7.  
  8. // batas untuk atur berapa batas
  9. func tekaTekiTeko(batas uint) error {
  10. // parameter ini di validasi agar kurnag 20 akan error.
  11. if batas < 20 {
  12. return errors.New("parameter 'batas' harus memiliki tipe data unsigned integer dan memiliki nilai paling sedikit 20")
  13. }
  14.  
  15. // melakukan perulangan
  16. for i := 1; i <= int(batas); i++ {
  17. output := ""
  18.  
  19.  
  20. if i%2 == 0 {
  21. output += "Teka"
  22. }
  23. if i%3 == 0 {
  24. output += "Teki"
  25. }
  26. if i%5 == 0 {
  27. output += "Teko"
  28. }
  29.  
  30. if output == "" {
  31. fmt.Println(i)
  32. } else {
  33.  
  34. fmt.Println(output)
  35. }
  36. }
  37.  
  38. return nil
  39. }
  40.  
  41. func main() {
  42. fmt.Println("HAsil untuk batas 30 sesuai dengan pertanyaan")
  43. err := tekaTekiTeko(30)
  44. if err != nil {
  45. fmt.Println("Error:", err)
  46. }
  47.  
  48. fmt.Println("Hasil untuk batas kurang dari 20")
  49. err = tekaTekiTeko(15)
  50. if err != nil {
  51. fmt.Println("Error:", err)
  52. }
  53.  
  54. fmt.Println("Hasil Untuk sama dengan batas")
  55. err = tekaTekiTeko(20)
  56. if err != nil {
  57. fmt.Println("Error:", err)
  58. }
  59.  
  60. fmt.Println("hasil untuk batas = 0")
  61. err = tekaTekiTeko(0)
  62. if err != nil {
  63. fmt.Println("Error:", err)
  64. }
  65. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
HAsil untuk batas 30 sesuai dengan pertanyaan
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
Hasil untuk batas kurang dari 20
Error: parameter 'batas' harus memiliki tipe data unsigned integer dan memiliki nilai paling sedikit 20
Hasil Untuk sama dengan batas
1
Teka
Teki
Teka
Teko
TekaTeki
7
Teka
Teki
TekaTeko
11
TekaTeki
13
Teka
TekiTeko
Teka
17
TekaTeki
19
TekaTeko
hasil untuk batas = 0
Error: parameter 'batas' harus memiliki tipe data unsigned integer dan memiliki nilai paling sedikit 20