South Africa produced an outstanding all-round performance to beat Australia by 80 runs in the second One-Day International in Port Elizabeth.