The International Steam Pages

Java, Indonesia – Getting to the sugar mills the local way

Jan Willem van Dorp (with a little bit of assistance from me, RD) has written the following guide for independent (budget) travellers which those few of you heading for Java will find invaluable... You are unlikely to meet anyone else doing the same thing. If you don't want your day spoiled, then check on the internet that no tour groups are scheduled to visit the mills at the same time as you plan. For more general travel information you should consult one of the appropriate guides produced by the Lonely Planet and Rough Guides publishers - Lonely Planet do a Java only guide which saves a lot of weight.... Only those mills with likely active steam locomotives in 2006 are included, see elsewhere on this site for more information

On arrival at any sugar mill, assuming you need to go inside, report to the security guards at the main entrance who will ensure you are taken to the right office to complete formalities, which will mean paying a small fee (the equivalent of U$5 - U$10 according to area). By and large you should not need a letter of permission but at least at PG Tersana Baru according to who is on duty you may first need (this is Catch 22!) to obtain a permit from the area HQ in Jalan Dr. Wahidin in Cirebon (Office of PTP Rajawali II). Please do NOT try to go in the back door anywhere to avoid paying, it has taken many, many years to build up the wealth of goodwill that exists in the mills now, we have the kind of freedom to roam inside both yards and the mills themselves which would be unthinkable in most of Europe, North America or Australasia. Similarly, remember what has happened in Cuba and China and allow the activity (or inactivity in some cases) to unfold naturally in front of you, do NOT try to commandeer locomotives/trains. Photographs and cigarettes for helpful members of staff are appropriate, cash hand outs are NOT.

Get yourself a map of Java, the best available is probably the Nelles/Periplus Java/Bali map. At all times remember that many places in Java have duplicate names and sometimes towns with the same names as some sugar mills are nowhere near where you are trying to get to.... (Jatibarang and Purwodadi being important examples which have confused unfortunate visitors in the past.)

Undoubtedly trains are more civilised and slightly easier to use than buses in Java although they are nothing like as frequent. Their use requires careful planning, but once you have more experience of travelling, like many others before, you will probably find it more convenient to stick to buses. Only for leaving Jakarta initially does the train offer the best alternative.

Cirebon/Tegal/Pekalongan Area (PG Tersana Baru/Jatibarang/Pangkah/Sumberharjo/Sragi):

Tegal is a good base to visit these 5 mills although Tersana Baru is closer to Cirebon, Sumberharjo to Pemalang and Sragi to Pekalongan.

Coming from Jakarta, even if you intend to base yourself in Tegal, it might still be convenient to catch one of the Cirebon Express trains (several daily) from Gambir station (where the DAMRI airport bus terminates and less than a km north of the Jalan Jaksa accommodation area) to Cirebon. Exiting Cirebon main station, walk 100 m straight ahead to the plinthed B13 and the Hotel Famili next to it on the corner of Jalan Siliwangi. Though quite basic this is my choice of accommodation in rather expensive Cirebon. Several more upmarket hotels can be found on Jalan Siliwangi and in the evenings a small night market sets up on the Alun-alun (main square) a bit further east.

For PG Tersana Baru you need to get to the 'terminal bis' (bus station), so catch a westbound D5 angkot (minivan) on Jln. Siliwangi, right in front of the Hotel Famili. It will drop you near the bemo terminal. Walk past that and the adjoining main bus station and catch a bemo (van) heading for Ciledug via Babakan (not via Sindanglaut, unless you want to check out now steamless PG Sindanglaut) from the corner near the bus station exit.

To continue from PG Tersana Baru to Tegal initially hop on a bemo back towards Cirebon, but change at Gebang, the junction with the main north Coast road (Jln. Pos), to a big bus for Tegal.

Arriving at the Tegal terminal which is some way west of the city, catch any angkot or a Bumi Ayu/Pemalang midibus to “Terminal Lama” (which means old bus station but is now no more than a busy intersection). When set down walk some 500 m. on towards and past the “Susana Baru” sign into Jalan Jendral Sudirman which is home to several hotels. My choice is the Hotel Alexander which looks (and is) quite posh and modern, but has good 'ekonomi' rooms at the back.

Alternatively catch a train from Jakarta straight to Tegal (for instance the “Tegal Arum” DMU, 14.50 from Jakarta Kota station, which is convenient as it does not require reservations, but is consequently always packed). Arriving at Tegal station walk about 700 m. straight ahead to the Alun-alun, pass left of the mosque, turn left and at the next major junction, just before the Bank BCA, right into Jalan Jendral Sudirman with its hotels as above.

To visit the other 4 remaining steam mills around Tegal, first return to “Terminal Lama”.

For PG Jatibarang then catch a Bumi Ayu midibus and change to a westbound angkot at Adiwerna.

For PG Pangkah also start out with a Bumi Ayu midibus, but continue to Slawi and change there to an eastbound angkot [Slawi and Adiwerna can also be reached by angkot, but not from Terminal Lama, unless you want a sightseeing tour of Tegal; if you insist on taking an angkot walk down Jln. Jendral Sudirman to Bank BCA, turn right and hop on an angkot (only the yellow ones continue to Slawi) at the next intersection].

For PG Sumberharjo catch – again at “Terminal Lama”- a big Semarang bus and get down at the Pemalang terminal (avoid the Pemalang midibuses, they take ages). Then hop on a bemo or becak or walk about 1 km towards town to the angkot terminal just beyond the level crossing, which sends angkots to Sumberharjo. Take your time to enjoy the field lines here, there are perfectly adequate hotels in Pemalang although eating out is not a great experience.

For PG Sragi also start out with a big Semarang bus, but continue beyond Pemalang to Comal. After being dropped on the main road there walk about 1 km. south into town (or take a bemo or becak) to the terminal where angkots for Sragi start. Alternatively, there is a junction on the main road between Comal and Pekalongan (just west of a big bridge) from where there are also angkots for Sragi. There is nowhere to stay in Comal, but plenty of hotels in Pekalongan.

To eat out in Tegal I recommend the night market which sets up on the alun-alun and the road thence to the railway station every evening for dinner. For breakfast try the warung just outside Hotel Alexander for an excellent nasi kuning, but come early, by 7.30 they run out.

Solo/Tawangmanggu (PG Tasik Madu), Ambarawa, Pati (PG Trangkil) and Cepu:

Heading east the “Kaligung” DMU leaves Tegal station at 5.00 a.m. for Semarang Poncol and connects there with the “Pandanwangi” DMU for Solo Balapan (and Jogja).

For those wishing to stay in Solo, I would suggest the Hotel Yayakarta, some 200 m. to the left when exiting Solo Balapan station, but personally I prefer to stay at the nearby mountain resort of Tawangmanggu; to get there from Solo Balapan station walk about 200 m. east off the platform along the railway tracks to the level crossing (!), turn left (north) for about 500 m. and left again at the main intersection which quickly brings you to the main Solo bus terminal. There are 2 bus routes to Tawangmanggu and both pass PG Tasik Madu; the buses on the slower route actually go via the back of the mill and those on the (relatively) faster route pass about 1 km south of it, just west of Karanganyar. The best hotels in Tawangmanggu are up on the hill, but there are also plenty of places to stay closer to the terminal (and the warungs which close quite early). Avoid Tawangmanggu at weekends when it gets very crowded.

Alternatively at Semarang Poncol catch a bus to the terminal on the east side of the city and change there to a Jogja bound bus for Ambarawa, where the railway station/museum is about 1 km south of the terminal. There are several losmen in Ambarawa, but the choice and quality of accommodation is much better in the nearby mountain resort of Bandungan. Bemos for Bandungan leave Ambarawa from a junction with the main road a few hundred metres east of the terminal. (There are also direct midi-buses from Semarang terminal to Bandungan.)  Avoid Bandungan at weekends when it gets very crowded. Continuing from Ambarawa there are plenty of buses to Jogja via Magelang-Muntilan (change for Borobudur) and a very few to Solo as well (otherwise take a Semarang bus and change at nearby Bawen).

Or indeed return to Semarang, get on a bus to Pati (which passes steamless PG Rendeng at Kudus) and once there get down in front of Hotel Merdeka. To get to PG Trangkil turn left (north) at the next junction after Hotel Merdeka into a quiet street and follow that until it ends about 1 km further on. Wait there for an angkot to Trangkil which will drop you at the mill's approach road. To continue from Pati first take any bus in front of the Hotel Merdeka to the terminal; from there either take a bus to Purwodadi (the town, not the mill, that is at Glodok near Madiun!) and change there for Solo, or to Cepu (forestry railway) and get to Madiun with a further change at Ngawi. In that latter case PG Tasik Madu could be visited by taking a bus to Solo from Madiun (see directions for PG Purwodadi below) and changing at Kebaksambi, just before Solo - the main road to Tawangmanggu is off a roundabout next to a level crossing east of Solo..

From Tawangmanggu infrequent (start in the morning) bemos tackle the highly spectacular mountain road over the slopes of Gunung Lawu to Sarangan, from where further bemos go to Magetan, where one has to change once more (at the terminal) for Madiun (or Gorang Gareng for PG Rejosari).

Madiun (PG Purwodadi/Rejosari/Kanigoro/Pagottan):

Travelling towards Madiun by bus from Solo (or Ngawi if coming from Cepu) you will go past PG Purwodadi on the right hand side at Glodok. Continuing or coming from Magetan then SMALL buses will turn left after crossing the river bridge on the west of the city. After a sharp right hand bend get down at the church (gereja, ask) where the bus turns left on Jln. Pahlawan, the main drag. Walk down Jln. Pahlawan the other way (south) for about 500 m. and turn right into Jln. Merapi, just after the landmark Hotel Merdeka (no more cheap rooms) and opposite the Sri Ratu supermarket (cold beers), for my choice of accommodation in Madiun, Hotel Pondok Indah, which has very nice ekonomi rooms with a porch and a garden, but also a very loud TV in the hall – ask for a room at the back. Note that by 2008 the new west to north by-pass was open and was being used by the larger Solo - Madiun buses. Coming from Solo, this means either continuing to the terminal on the north side of town and asking for an appropriate angkot or getting off at the start of the by-pass and transferring to an angkot or becak.

Madiun has a complicated system of one-way traffic for public transport which sees all buses skirting the town centre with sometimes long detours.

To get to the west mills PG Rejosari and PG Purwodadi walk to the other (western) end of Jln. Merapi, turn left past several recommended warungs, to the Alun-alun, cross that diagonally and continue some 400 m. west on the main road to the main (old) bridge. 

For PG Rejosari then follow the river south till the next (new) bridge less than a km away and catch a bemo for Gorang Gareng there (you may have to cross over the bridge to find them as they tend to prefer not to use the terminal). The mill is just a few hundred metres from the Gorang Gareng terminal, turn left at the mini-roundabout in the village centre.

For PG Purwodadi cross the first (main) bridge and walk about 500 m. straight ahead to the junction where the buses pop up at a T junction with traffic lights. Catch a small Ngawi bus to Glodok for the mill, which is roadside. Now steamless PG Sudhono is a further 5 km or so towards Ngawi down a side road to the left - there is a preserved steam locomotive at the junction so it is easy to spot from a bus.

For the south mills PG Kanigoro and PG Pagottan, first catch a southbound angkot on Jalan Pahlawan to PG Kanigoro (or rather the approach road, which runs from an angled crosssroads, from where the angkot drops you it is still about one kilometers’ walk or take a becak or take anither local Angkot T). For PG Pagottan start in the same way and change at the Kanigoro approach road to a Ponorogo midibus. Returning from there hop on a Madiun bus and get down either at the main (old) bridge.

Continuing to Kediri first get to the terminal (opposite steamless PG Rejoagung); most angkots heading north on Jln. Pahlawan go there. For places further east consider going by train.

Kediri (PG Merican):

When arriving in Kediri by bus from Madiun (you can get a better service by taking a Surabaya bound bus and changing at Nganjuk) you pass PG Merican a few kilometres before Kediri. Visit and continue into town preferably by Pesantren angkot. From that get down at the level crossing and walk to the railway station. Besides Kediri station is the fairly scruffy old Hotel RIS. Walk through it and find a much better new Hotel RIS. at the back (and another Hotel Pondok Indah across the road). Alternatively (and less desirably) from PG Merican catch a bus on to Kediri, change at the terminal to a Blitar or Trenggalek bus and get down at the Alun-alun. The signposted station approach road is about a kilometer north of the Alun-alun (where a good night market sets up in the evening; try the sate Ponorogo).

There are three more now steamless mills in the area; PG Pesantren 4 km east of Kediri (but NOT on the Pare road) , PG Ngadirejo 10 km. south on the Tulungagung road and PG Mojopanggung about 4 km. west of Tulungagung.

From Kediri catch a Surabaya train to Mojokerto via Kertosono. Or take a bus.

Mojokerto (PG Gempolkerep) and Bromo:

In Mojokerto there is a good losmen close to the station; when exiting that walk about 100 m. east and then turn left (north) for a few hundred metres. If that is full retrace your steps to the railway, follow that east to the level crossing (some 500 m.), turn right (south) crossing the railway and find another good losmen after about a kilometer on the left-hand side. There is a nice hotel south of the level on the crossing on the west side of the road between the town centre and the bus station (on the by-pass). 

To get to PG Gempolkerep catch an angkot (either A or B: check) north to the Brantas river bridge (jembatan). Cross the bridge, turn left (west) and find bemos to PG Gempolkerep about 1 km. further on past the stretched-out S-turn on the roadside (i.e. not in the small terminal opposite; that does have F angkots to the main terminal though).

Several more long steamless mills can be found in this area.

Continuing further east first hop on a southbound angkot (both A and B will do) to the main terminal. From there either catch a midibus to Pasuruan (better) or a big bus to Surabaya (Bungurasih terminal) and in both cases then change to a Probolinggo bus, passing steamless PG Kedawung just east of Pasuruan. Always plan to change at Probolinggo as most through buses pause a while there. If you want to make a side trip to Mount Bromo (check the current fare; that is a tourist route) you have to change for Cemoro Lawang at Probolinggo anyway.

Situbondo (PG Olean/Asembagus):

On the bus from Probolinggo to Situbondo you pass 5 more steamless mills: PG Wonolangan, PG Gending, PG Pajarakan, PG De Maas (closed) and - just before Situbondo - PG Wringinanom as well as Pasir Putih, a roadside beach resort with several hotels some 20 km. west of Situbondo. Nice as that is I find it more practical to stay in Situbondo where the Hotel Ramayana in the same block as the bus terminal offers nice ekonomi rooms with a porch and a small garden (you don’t need an alarm clock though; the nearby mosque takes care of that) and a night market sets up around the terminal in the evening. As at Sumberharjo take your time here to get the most of the remaining field line activity (as long as it lasts).

To get to PG Olean, north of the town, board a Kalbut angkot at the terminal. It may take a while to fill up, but once on its way it first passes the mill and further on, from Trebungan, follows the northernmost part of the Semiring line. See this page for a system map. For PG Asembagus, get on a Ketapang (Banyuwangi) bus, the mill is next to the road at the east end of town. On the way you pass PG Panji with a lot of diesel activity.

Jember (PG Semboro) and Malang (PG Kebonagung):

From Situbondo first take a bus to Jember which passes steamless PG Prajekan and will drop you at the Jember north terminal. Now transfer to the west terminal on a DAMRI bus and hop on a Probolinggo bus there to Tanggul from where there are angkots from south of the level crossing  for the remaining 5 km to PG Semboro. The adjoining estate PG Jatiroto has long been steamless. If you need to stay in the area then it will have to be in Jember.

From Jember you can catch a train to Ketapang for Bali or return to Jakarta by train (long-distance bus travel is not recommended) changing at Surabaya, Jogja or Malang. The Surabaya-Jakarta service is most frequent of course but accomodationwise I would prefer Jogja (lots of losmen immediately south of the main railway station) or Malang where I would recommend the Hotel Helios on Jln. Pattimura (turn left about 500 m. north of the railway station). If by now you are short of time, then consider getting a discount air-ticket from Surabaya Airport (Juanda) - there are some amazing bargains if you have some flexibility with your travel times. This is especially useful if you are flying home and your 30 day visa is expiring (note that your day of arrival counts as Day 1 here).

PG Kebonagung is on the Blitar road in the southern outskirts of Malang, about 1.5 km. southwest of the Gadang terminal (get an angkot) but probably doesn’t use steam anymore.

General travel links:

For the Indonesian railway timetable check (Link broken by May 2023). Many local services (including several mentioned above) are not included though and a local check for changes/additions is advisable.

Budget airlines offering internal flights in Indonesia include Air Asia ( and Lion Air ( Both also fly to Kuala Lumpur from several Indonesian airports and from that hub Air Asia also serves many other airports in the region, including for instance Kota Kinabalu, Macau and Xiamen.

P.T. Pelni, Indonesia’s national shipping company ( sends modern German-built linerships on mostly fortnightly loops around the archipelago. For great cruises, try the routes through Nusa Tenggara and along the east coast of Sulawesi.

The services Batam (Sekupang port) – Tanjung Priok (the port of Jakarta; city bus P14 to Jln. Jaksa/Gambir station) and Kijiang (near Tanjung Pinang on Pulau Bintan) – Tanjung Priok cover the Singapore – Jakarta route together with connecting frequent fast ferries from Singapore to Sekupang and Tanjung Pinang (see for instance (link is dead) and whereas the Surabaya – Nunukan service brings you (with connections via Tawau) to Kota Kinabalu for the North Borneo Railway (see and

Personally, I usually fly into and out of Bangkok, taking in the train ride from Bangkok to Sungai Kolok ( Link broken by December 2023. RD) and Pasir Mas to Singapore ( with the 20 km. “missing (passenger) link” between the Sungai Kolok/Rantau Panjang border and Pasir Mas covered by Kota Baru bus nr. 29. See also for details and more great travel ideas.

Information about the new (2004) Indonesian visa rules can be found on The Indonesian embassy in The Hague ( now issues 60-day tourist visas, but still normally takes 10 working days to process them.

Selamat Jalan! You will not regret your decision to visit Java.

Rob and Yuehong Dickinson