The road network of Sumatera, Java, and Bali is pretty good, allowing you to hop onto a bus from Medan or even further north in Banda Aceh at the tip of Sumatera, travel down 8 provinces south to get to Jakarta, and cross 4 provinces east to get to Bali. It'll take about 3 days from Medan to Jakarta and one full day from Jakarta to Denpasar, including two ferry rides, one from Lampung in Sumatera to Merak in Java, and the other one from Ketapang in East Java to Gilimanuk in Bali.
Bus ride to Bali can be very comfortable in modern luxury buses.
Mercedes Benz fleet give you maximum comfort while allowing you to enjoy the scenery of the rural villages of Java. Yes, the old, reliable feet. Recommended for, among other places, along the beaches , along the gardens of Nusa Dua , or along the shops of Legian, Kuta. There are a lot of places where you can rent bicycles. Don't forget your international driver's license.