Prepare local currency for small expenses. As others had said, for Singapore, you might get by with Credit Card. An alternative is their "Ezylink" card that they use for public transport, some stores accept take inplace for cash. However, I'd been to SG for almost 10yrs, not sure if you can recharge the Ezlink card with foreign credit card now. (I can not back then)
For Indonesia, I'd been to Bali several times. some earlier trip I'd exchange from my currency (Thai Baht) to USD in Thailand, and exchange those USD to Indonesian Rupiah (IDR) when in Bali. Be mindful when you make the cash exchange though, exchange rate are not the same among various exchange booth and some dubious operator have several tricks to short-change you. Count them before leaving the exchange booth. At major establishment, such as hotels, up-scale restaurant there's no problem with credit card. However, at more 'local' places they might not accept it at all. Also, be mindful of the small notes and coins, you might not be able to change those back to USD. Try to use up your coins.
A caution as a side note, if you plan to pass through Malaysia, be careful with your credit card. Last year I'd used my credit card at 3 places on a trip in KL-Tawao-Mabul. About a month after, that card had fraudulent transactions came up and had to be replaced. Many friends of mind also had the same problem.