Two factors to consider:
1. Where am I arriving at..
2. What time is my arrival.
Airport: Bali is definitely NO while Jakarta is fine.
If arriving at Bali I will change a small amount at home or already have some left over from previous trip. The exchange rate in Denpasar is very good.
If I need to change flight at Jakarta and the exchange facilities could be closed on arrival then I will exchange the money at home. The last time I had spent any time in Jakarta was 30yrs ago and the traffic was horrendous.
The largest denomination of Indonesian Rupiah is only 100,000.00 and US$100.00 will exchange for a pile of them(US$1.00 will get you about IDR15,600.00).
You might find some establishments will incur extra few % if using credit card!!!! Quite common in SE Asia.
@Joneill has made it very clear on the quality of the Greenback.