<?php
function tekaTekiTeko( int $batas ) {
if ( $batas < 20 || $batas < 0 ) {
throw new Exception( "Parameter harus bertipe unsigned integer dan minimal 20" ) ;
}
for ( $i = 1 ; $i <= $batas ; $i ++ ) {
$output = '' ;
if ( $i % 2 == 0 ) $output .= 'Teka' ;
if ( $i % 3 == 0 ) $output .= 'Teki' ;
if ( $i % 5 == 0 ) $output .= 'Teko' ;
echo ( $output === '' ) ? $i : $output ;
echo "\n " ;
}
}
// Contoh pemanggilan fungsi
try {
tekaTekiTeko( 30 ) ;
} catch ( Exception $e ) {
echo 'Error: ' . $e -> getMessage ( ) ;
}
?>
PD9waHAKZnVuY3Rpb24gdGVrYVRla2lUZWtvKGludCAkYmF0YXMpIHsKICAgIGlmICgkYmF0YXMgPCAyMCB8fCAkYmF0YXMgPCAwKSB7CiAgICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbigiUGFyYW1ldGVyIGhhcnVzIGJlcnRpcGUgdW5zaWduZWQgaW50ZWdlciBkYW4gbWluaW1hbCAyMCIpOwogICAgfQoKICAgIGZvciAoJGkgPSAxOyAkaSA8PSAkYmF0YXM7ICRpKyspIHsKICAgICAgICAkb3V0cHV0ID0gJyc7CgogICAgICAgIGlmICgkaSAlIDIgPT0gMCkgJG91dHB1dCAuPSAnVGVrYSc7CiAgICAgICAgaWYgKCRpICUgMyA9PSAwKSAkb3V0cHV0IC49ICdUZWtpJzsKICAgICAgICBpZiAoJGkgJSA1ID09IDApICRvdXRwdXQgLj0gJ1Rla28nOwoKICAgICAgICBlY2hvICgkb3V0cHV0ID09PSAnJykgPyAkaSA6ICRvdXRwdXQ7CiAgICAgICAgZWNobyAiXG4iOwogICAgfQp9CgovLyBDb250b2ggcGVtYW5nZ2lsYW4gZnVuZ3NpCnRyeSB7CiAgICB0ZWthVGVraVRla28oMzApOwp9IGNhdGNoIChFeGNlcHRpb24gJGUpIHsKICAgIGVjaG8gJ0Vycm9yOiAnIC4gJGUtPmdldE1lc3NhZ2UoKTsKfQo/Pgo=