Fly from Perth or Melbourne to Europe (Venice, Milan) and from Europe from both these cites, as well as Barcelona, to Johannesburg with Etihad from 845 AUD; return back to Perth or Melbourne from 585 with Cathay Pacific. If you would like to stay in Asia for few day fly with Emirates from 745 AUD. So the cheapest option: Perth – Venice – Johannesburg – Perth starts from 1430 AUD. Other options are only little bit more expensive. These prices are for flying from October – November. For booking go to expedia, directflights and travelstart.
Example of bookings: