В первом констатация факта наличия проблемы на данный момент, потому Present Simple.
Present Perfect во 2 предложении возможен только при указании длительности, то есть КАК ДОЛГО у меня некая проблема, другими словами, должен быть указан либо весь период с предлогом for, либо стартовый момент с предлогом since. Причём since может быть не только предлогом, но и союзом, и наречием. При этом вовсе не обязательно, что этот период указан в самом этом предложении (хотя чаще всего именно так) , период может быть оговорен ранее или же просто быть понятным для собеседников.
Сравните:
Why are you so upset? - I have a problem.
Why are you so upset and rundown? - I've had a problem for the past 2 weeks. - What's the matter? - I've had trouble sleeping at night. - I guess you've had insomnia. You'd better go to the doctor.
Посмотрите, в предложении со словом проблема указан периол, потому и Present Perfect, в предложении же с бессонницей период напрямую уже не указан, но тем не менее Present Perfect, поскольку ранее уже оговаривался период, и собеседник уже в курсе, что данная проблема бессонницы у его друга уже 2 недели.
1) у меня проблема (в настоящее время или момент)
2) у меня была проблема (к какому-то времени в прошлом )
1. У меня пробема. 2 я поимел проблему (была)
I have a problem ---Present Indefinite
I've had a problem --- Present Perfect