If you want to travel from Penang to Tioman Island, this long journey can be done via Kuala Lumpur if you want to travel by bus/train or you can fly to Johor Bahru (JB), then onto Mersing for the boat over to Tioman.
There are no direct bus services from Penang to either of the ferry ports that serve Tioman (Mersing and Tanjung Gemok).
If you do want to travel by bus from Penang to Tioman (a distance of around 715 km), you will first have to take a bus from Penang to TBS Bus Terminal in Kuala Lumpur (around 5 hours), then change buses there for a service to Mersing or Tanjung Gemok (4 1/2 to 5 hours).
Some buses will stop off at Tanjung Gemok on route to Mersing from TBS.
If you want to take the train for part of the journey, you can catch an ETS train from Butterworth to KL Sentral, then take a short KTM Komuter train to Bandar Tasik Selatan (TBS Bus Terminals train station).
There is also one direct ETS train a day from Butterworth to Bandar Tasik Selatan.
From TBS you can then continue your journey by bus to the ferry ports for Tioman.
There are no direct flights from Penang to Tioman Airport (PEN to TOD).
You used to be able to fly from KL to TOD with Berjaya Air, but these flights are now cancelled.
If you do want to fly, your best option is to take a flight from Penang to Johor Bahru's Senai Airport (PEN to JHB).
The distance from Senai Airport to Mersing is approximately 140 km.
The quickest way to get from JHB to Mersing Jetty is to take a taxi or a Grab car.
If you are on a tight budget, you will have to take a bus from JHB Airport to Larkin Bus Terminal.
From Larking to Mersing there are regular bus services that take around two hours to get to Mersing Bus Terminal.
From the bus terminal it is around 10 minutes walk to get to the jetty.