The gym leader in the normal gym, your character's father will give it to you after you beat him.
Chat with our AI personalities
The most easiest way to get a Pokemon that can surf is get a Zizagoon,it can learn surf.
Any water Pokemon besides magikarp and also linoone can learn surf as well.
Try to surf you may find it
to get surf in sapphire you have to go and beat your dad.then go next door to the left.that is wallys house witch you will need to get surf,but you will need to talk to the old man i belive it is.
The gym in Petalburg.