Most visitors arrive at Jakarta, Bandung, Semarang, Surabaya, Solo and Yogyakarta. There are several domestic airlines such as Garuda, Merpati, Lion Air, Mandala, Sriwijaya Air. International airlines: AirAsia, Singapore, Qantas, MAS, Cathay Pacific, KLM, PAL, Thai International, JAL, KAL, Eva Air, Air India, etc.
PT Angkutan Sungai Danau dan Penyeberangan/ASDP ferry services:
- Gianyar(Bali) from/to Gilimanuk (East Java)
- Bakauheni (Lampung/Southern Sumatra) from/to Merak (Banten). Rp 12,000 for a 2-3 hour journey.
- Kamal (Madura) from/to Tanjung Perak (Surabaya)
PT Pelayaran Nasional Indonesia/PELNI passenger ship routes include:
- Medan (North Sumatra) from/to Tanjung Priok (Jakarta)
- Pontianak (West Kalimantan) from/to Tanjung Priok (Jakarta)
- Makassar (South Sulawesi) from/to Tanjung Perak (Surabaya)
Java's infrastructure is by far the best in Indonesia, and it's possible to cross the entire island by land in a single (long) day. However, the sheer density of population means that roads can get overcrowded if you're moving at the same time as everyone else.
The main form of long-distance transport, vast armadas of buses cross the island and connect every city and mountain hamlet. Watch out though, as many drivers have near-suicidal driving habits that emphasize speed above all else. The Eksekutif Bus is comfortable enough, provided with AC, reclining seats, and toilet in some Eksekutif Bus. Some big cities have several terminals.
The point to point travel uses various minibuses with 6 to 11 passengers. Some cities have many points, you should go from one point, but can stop before the arrival point, so please check the points and the routes. You can book about 2 weeks in advance by telephone without any payment first. It is faster than bus, but bus is more comfortable for the long legs.
Java has the best railway network in Indonesia, with trains connecting the capital city of Jakarta with most other cities and towns in the island. The executive class is the best class, and consequently the most expensive.
Ticket reservations can be made starting 90 days in advance. On-line ticket reservation is available on PT Kereta Api's ticketing site. You can pay in the website or just get booking code and pay at thousands of Indomaret and Alfamart stores around Indonesia without any additional fee. You can also make reservation and pay directly without booking at the stores. The system is similar with plane ticket reservation, so different date or time and when you're booking will give different (but slight different) price tickets, moreover you can choose your seat when reservation.
Java's toll roads are built nearly to Western standards, with dual grade-separated lanes in both directions and elevated interchanges. Tolls are quite affordable, usually Rp 1,000-5,000 every 10 km or so. However, signage is often lacking and driving habits are atrocious, so it's very wise to pay a little extra and get a car with driver instead of attempting to drive yourself.
Low cost carriers make some destinations inexpensive. Please check the price and compare to bus, travel and train ticket prices and also the time consume. Airplanes ticket for peak season (Lebaran, Christmas and Holiday) ussually is double than low season price, but ticket price for bus, travel and train is relatively stable (only low increase in peak season).