Djokovic conquers Federer to reach final