Barcelona are through to the final of the Copa del Rey and will meet Real Madrid in the ultimate clash later this month.