Croatia reached the EuroBasket semi-finals for the first-time in 18 years after recording an 84-72 victory over Ukraine in Ljubljana.