Present perfect is the most commonly used past tense in German. It consists of an auxiliary verb and the past participle of the main verb. The auxiliary verb is usually haben conjugated in the present tense but in some cases we use sein. The past participle of regular verbs is not very complicated to make. You take the 3rd person of the given verb in present tense and put the prefix ge- in front of it. Let’s see for example machen. First, you conjugate haben in the present tense and add the past participle: Ich habe gemacht. In longer sentences the past participle always goes to the very end of the sentence and the auxiliary goes where the verb would go in the present tense.
However, there are quite a few irregular verbs with unusual past participles. These you cannot describe with only one rule. You have to memorise them all one by one. Here you can find a list of the most common irregular verbs: https://www.germanveryeasy.com/irregular-verbs-in-german