'Yet' is an adverb of time which is used to show that something has not happened by a particular time. Both the options A and B are correct but the option B is considered as more formal thus, not used usually in spoken English. So the option D is the correct answer.