There's no fixed schedule, but Pelni has services to Makassar in Sulawesi roughly twice a week (economy/1st class from 272,000/846,000Rp), Pontianak in Kalimantan roughly every 10 days (economy 326,000Rp), and Jakar…
Surabaya Juanda International Airport is Indonesia’s third busiest and is used by more than 20 airlines. There are international connections to cities in Asia and numerous domestic flights.
Abimanyu Travel has minibuses to Surabaya (100,000Rp) that will drop you off at hotels in Surabaya or at the airport (thus saving the long haul from Surabaya’s bus terminal).
Gubeng train station is central and sells tickets for all trains.
Ferry between Kalianget and Jangkar (on Java).
Ferry terminal for boats to and from Bali.
Air-con, metered, call-up taxis.
Daily flights to Surabaya.
Reliable taxi company.
Buses to Yogyakarta.