Not sure about Singapore but since you are doing a adventure road trip and here is the suggestion: -
1) Go to JB terminal/Larkin to get a bus to Muar.
2) Muar to Melaka is very near (approx 46km). Not sure if there is bus direct but local taxi may be the option if local bus not available.
3) Melaka to Penang is pretty easy as there are direct bus or transit at KL.
Good Luck and enjoy your trip :-))
Just in case there's someone else looking for information, I've taken the Singapore- Melaka bus (only problem is I cannot remember which company as relatives bought the bus ticket) and it passes Muar town and the driver will stop for you almost anywhere besides the main bus station. I stopped at Muar Hospital. Not all the buses go into Muar. You can also request a stop near Pagoh. Hope that helps.