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.
Once you get to Bali, there are various ways you can explore the island:
Walk. 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.
Bicycles. There are a lot of places where you can rent bicycles.
Motorcycles. Some hard-to-reach beach corners, hidden surfing sites, may not be reachable by car - motorcycles may be your best bet. Don't forget your international driver's license.
Car Rentals/Hires. You can cover all of Bali comfortably with complete privacy and you set your own schedules. Rates start from around US$ 25 a day. Toyota Rent-A-Car can provide anything from a subcompact car to a luxurious Japanese sedan, with or without a driver. Don't forget your international driver's license if you want to drive.
Public Buses. Public transporation in Bali is provided by bemos (three-wheeled, Vespa-derivative, funny-looking creatures crawling on the roads - you wouldn't miss it) and mini buses. They typically have their set routes, but you can always charter one on the spot, if it's empty, of course, to go wherever you wish. Recommended for mixing with the locals.