Juventus reach the semi-finals of the Champions League after stopping Barcelona from scoring at the Nou Camp.