「私は彼女にプレゼントをあげました」は
I gave her a birthday present.
となります。
または
I gave her a dozen roses for her birthday.
「彼女の誕生日にバラを12本あげた」
のようにも言えます。
ここでは、現在完了形は使えません。通常、現在完了形は経験や継続を言うときに使うことが多いので、この場合は経験ではなく単純過去ですよね。
現在完了形で give を使うことはできますよ。
例:
I have given my son clothes for his birthday in the past, but he would rather have sporting goods.
「過去に息子の誕生日に洋服をあげたことがあるが、彼はスポーツ用品をもらう方が良い」
昔息子の誕生日に洋服をあげたけが、息子は洋服よりスポーツ用品の方が欲しかった、というこの人の経験を話しているので、ここでは現在完了形が使えるわけです。
ご参考まで!