Let's say you go to a very popular restaurant where it is difficult to get a seat, and you must make a reservation weeks in advance.
To eat there, you have to make a reservation.
Now, let's say a tourist is visiting the city, and does not know that the restaurant is always full. He enters, expecting to be seated. The greeter can say:
Sorry, you have to make a reservation beforehand.
Sorry, you have to have made a reservation.
The first version, "have to make", describes the general state of affairs. People who wish to eat there must reserve a place in advance. This is probably what the greeter would say, or even "You need a reservation". Present tense, to describe what is customary.
The second version describes the very specific situation in respect to time. The person is standing now in the restaurant. The person should have made a reservation already, in the past: When you come here, expecting to be seated, you must have made a reservation.
The tense have made contains the idea "beforehand", that is, "before now". The reservation should exist already.