He is in the building next to the ship, near Petalburg. After you get HM03 (Surf), he's not there anymore, after you beat the game, if you're lucky, he is on the other ship that takes you to the...
first travel to dewford town then surf east until u see it but be carefull theres lots of trainers on the way there ,, or travel to slateport city and surf south and then west until u see it. "but...