To get to Yogyakarta, you have to reach Yogyakarta Adisucipto International Airport. This can be done by boarding direct flights from Kuala Lumpur, Singapore, Bali and Jakarta. You can choose carriers like Lion Air, Garuda, Air Asia, Silk Air, NAM Air to name a few. The airport is on the outskirts of the city. So, you need to take a cab to reach the city. You can prebook it or catch one from outside the airport which is relatively cheap. Alternatively, you can opt for Transjogja bus stop that will drop you at a central point in the city. You can also choose to board a train from Maguwo train station which is connected to the airport by a tunnel and then drops you in the centre of the city.
The Yogyakarta train station is located at Jalan Malioboro. The economy class trains connect Yogyakarta to Lempuyangan Station while the business class, executive class and air con economy class connect the city of Yogyakarta to almost all the major cities of Java. It is recommended to make the most of the journey by making a morning time reservation as the view from the train is just so beautiful which you will miss if you board the train in the wee hours of the night. Also, book the tickets in advance especially in the month of Ramadan and this can be done online but only in Indonesia. Note that international credit cards are not accepted for making the bookings. Bookings can be done at the station itself too, at Indomaret and Alphamart convenience stores. The trains will connect you to Jakarta, Bandung, Solo, Surabaya, Malang, Probolingo and Banyuwangi.
Taxi with meters is the best way to commute within the city. They are cheap and cost a minimum of IDR 20000.
Download and register at the GoJek app to use motorbikes to explore the city.
Becaks or pedicabs is another option you can consider. However, take this option only if you are in no hurry.
Andong is a horse driven cart which is used for commuting around the city.
Public buses can also be considered for locomotion.