If you don't fancy taking a ferry, Desaru is about an hour drive from Singapore on the southern coast of Johor, Malaysia. Depending on how adventurous you are, you can even drive up to Mersing and take a ferry to Tioman or nearby islands (3-4 hours drive). Desaru have resorts to cater to most budgets from cheap to Westin/Anantara or One&Only.
Or others have mentioned, Batam/Bintan is a short ferry hop from SG too.