"pukul" = to hit (literal meaning).
In this sentence you can replace "pukul" with "jam" ("pukul" is the formal style).
These are words to indicate time.
pukul sepuluh = jam sepuluh = ten o'clock
So wait, we say it's one-middle ten to say it's 9:30?
setengah means half
Yes, I know. It breaks down to 'a middle'. But anyway my point is, do we call 9:30 setengah sepuluh, not setengah sembilan? And is it always like that?
Well in German 9:30 can be said as "halb zehn" which means half ten, this is also the case in a few other european languages. I hate how people say the time in unnecessarily complicated ways, would be cool if people just said /.