Banking giant Barclays has revealed half-year profits jumped by more than a fifth despite setting aside over £1 billion for bad debts.