В данном предложении говорится, что Джона нет на месте, потому что он ушел на день рождения к другу. Значит, нужно использовать have/has gone, чтобы показать, что он ушел и еще не вернулся. Так как John - это единственное число, то используется has.
John is not here. He has gone to his friend's birthday party. - Джона здесь нет. Он ушел на день рождения к своему другу.
Ответ: has gone