Yogyakarta is a popular destination, hence it is quite easy to reach Yogyakarta by air or land.  However, there is no sea connection to Yogyakarta as Yogyakarta has no seaport.

AIR

Adisucipto International Airport (IATA: JOG) is located east of Yogyakarta. International flights to/from Kuala Lumpur (served by Air Asia and Malaysia Airlines) and Singapore (Indonesia AirAsia), while domestic flights are served by local carriers to/from Jakarta (by Garuda Indonesia, Indonesia AirAsia, Batavia Air, Lion Air, and Sriwijaya Air), Denpasar (Garuda Indonesia, Lion Air), Surabaya (Lion Air and Batavia Air), Balikpapan (Batavia Air, Sriwijaya Air), Batam (Batavia Air), Medan (via Batam by Batavia Air), Pontianak (Batavia Air), Makassar (Merpati Nusantara Airlines), and Bandung (Wings Air*). Departure tax for domestic flight is IDR 30,000 and for international flight is IDR 100,000 (paid at the entrance to the immigration lounge). *Wings Air is subsidiary of Lion Air, tickets are purchaseable from any Lion Air office. 

To reach the city from the airport, there are several transport options. The most convenient one is by airport taxi. To get a taxi, buy a ticket at the taxi counter near the domestic arrival hall. The taxi is not metered because the price is fixed depending on the distance. If you bring light luggage, a cheaper alternative would be Trans Jogja bus network. The bus stop is different from your normal bus stop.  Pay a flat rate of IDR 3,000 to a seller and be given a machine readable card.  Then insert the card into the machine and pass through a turnstile to enter into the bus stop.  The bus stop itself is elevated about 1m. To reach the bus stop, walk towards the domestic taxi queue and go through the air-con underpass below the railroad track. The bus stop is located after the underpass. Wait for the next bus if it is crowded, frequency is about 10-20 mins.  There is a faded map of the bus route.  The bus route runs in a loop.  You can ask the directions from the ticket seller (in Indonesian).  You can also reach the city by train. Just walk to the Maguwo train station across the road, from there you can purchase a ticket to Yogyakarta or to Solo. However, the train schedule is much less frequent compared to bus schedule, normally 1 hour per train. The schedule is available at the train station.

To go to the airport from the city, the most convenient option is by taxi.  The going rate is IDR 50,000 per taxi from the town area.  Additional IDR 2,000 for the taxi airport entrance is paid by the passenger.   There is no surcharge for late night or early morning hours.  The taxi driver will not use the meter for obvious reasons.  Alternatively, you can take the Trans Jogja bus (route 1A) at the flat rate of IDR 3,600 per person.  Bus service starts at about 5.30am. and runs in a loop.  Schedule is available at the elevated bus stops or ask the ticket seller (in Indonesian).

There is only a TV and toilet at the airport's international departure lounge.  No water cooler, shop or cafe.  As such, ensure that you have a drink before entering the immigration, but do not take your drink with you - it will be confiscated by the officials. 

LAND

TRAIN

Yogyakarta has 2 train stations: Lempuyangan Station and Tugu Station. Executive and business trains arrive and depart at Tugu Station while Economy trains arrive and depart at Lempuyangan Station. Major cities that have train connection to Yogyakarta are Jakarta, Bandung, Purwokerto, Surabaya and Malang.Tugu Station is located right at the end of Malioboro Street.

For short route, there are frequent trains from Yogya to Solo called Prambanan Express train. More detail about train schedule can be found at http://kereta-api.co.id/

BUS

Yogyakarta has 2 main bus terminals: Giwangan and Jombor. Giwangan is located on the south while Jombor is located on the northern part of the city. Jombor serves destinations such as Jakarta, Bandung, and Semarang, while  Giwangan serves destinations such as Solo, Surabaya, Malang, and Denpasar. For long distance destinations such as Jakarta, Bandung, Surabaya, Malang, and Denpasar, comfortable executive coaches are available. Some of the popular bus company that operates executive coaches are Safari Dharma Raya (to Jakarta, Surabaya, Malang and Denpasar), Ramayana (to Jakarta), and Gunung Harta (to Denpasar). The tickets can be booked and purchased in advance to avoid ticket touts at the bus terminal.

However, travelling by bus is less prefered for safety reason, either it is because of the bus driver's recklesness or because of the pickpockets that sometimes operating inside the bus. Always take extra caution when traveling by bus.