"Andi has a lack of sleep because he had a nightmare yesterday."
Translation:Andi kurang tidur karena dia mimpi buruk kemarin.
What does sentence also be correct? "Andi punya kurang tidur karena dia punya mimpi buruk kemarin".
No, that's not how it's said in Indonesian.
In English the verb "to have" is used.
In Indonesian, there is no need for a verb ('sakit' is an adjective).
More or less the same as in the following sentences :
I 'have' a headache. = Saya sakit kepala.
I 'have' a stomach ache. = Saya sakit perut.
I 'have' a tootchache. = Saya sakit gigi.
Another way to say it in Indonesian is like this :
'Andi kekurangan tidur.' = Andi is lacking sleep.
kurang (adj) + [ke-an] affix ==> 'kekurangan' (verb).