From Singapore and Johor Bahru
There are several travel agencies in Singapore offering direct packages including bus, ferry and accommodation. Many dive operators in Singapore operate their own trips to Tioman, and this would usually include taking a bus from Singapore to Mersing or Gemuk, then boarding the ferry for Tioman. While it might be more expensive, this would probably be one of the most hassle-free ways to visit Tioman. These operators also know the Ferry time tables and schedule the busses accordingly. There are fairly comfortable coaches leaving from the Singapore Flyer bus terminal run by WTS Travel. Tickets can booked easily online. These also drop you directly at the ferry and carry a courier to explain matters.
The cheaper way is to cross the Singapore border at Woodlands checkpoint and head for Larkin Bus Terminal in Johor Bahru (JB) via one of the singapore bus services 170, CL1 or CL2. The ride can be paid via ezlink-card and will be suspended at the singapore and Malaysian checkpoints. Don’t forget to tap your ezlink-card each time you leave the bus and take the same service to continue your travel to Larkin.
Bus tickets from JB to Mersing cost around RM 13 one way and there are 3-4 connections a day. Bus tickets can be bought online or at the bus terminal in JB. The ride takes 1.5 to 2 hours. One possible bus operator is Transnasional, but there are more available. For the return trip from Mersing to JB you can book tickets at Counter 33 near the ferry terminal. At time of writing Zainal Hamid was running this service (+6019-753 4250)
If you are coming from Johor Bahru too late, there is the chance to have no more ferry when you arrive and you will be forced to stay a night at Mersing. Enjoy it and take time for shopping as it will be more expensive on islands. Please note, most shops will be closed in the early morning (before 10am).