Vous trouverez facilement un aller-retour pour Jakarta ou Denpasar (Bali), mais un peu plus difficilement et surtout plus cher un aller Jakarta et retour par Denpasar, ou l'inverse.
Une solution : Prendre séparement un aller-retour pour Singapour par un site ou une agence européenne ; et un Singapour-Jakarta puis Denpasar-Singapour par exemple par Air Asia (
www.airasia.com).
De Jakarta, vous pouvez prendre le train pour Bandung, y passer une nuit, puis reprendre un train pour Yogyakarta. C'est peu confortable et long, mais vous traverserez des paysages magnifiques et spectaculaires.
De Yogyakarta à Bali, les agences et guesthouses proposent des bus (jamais fait), directs ou s'arrêtant pour visiter le "Bromo" (en fait la caldeira Tengger, près de la ville de Probolinggo, le royaume des escrocs). La caldeira Tengger, et surtout le lever de soleil depuis le promontoire de Penanjakan, sont éminemment touristiques mais magnifiques et inoubliables.
Cela dit, les vols intérieurs sont quand même une bonne solution en Indonésie, vue l'étendue du pays, et le survol de Java offre de belles vues sur les sommets volcaniques.
Le bateau est lent, sur 3 semaines ce sera juste.