In Emerald you have to beat Flannery in Lavaridge But to get Strength you have to smash the rocks in the tunnel between Rustboro and Verdanturf.
Good Luck!
You will be able to use HM04 Strength outside of battle after you defeat the 6th gym which is in Canalave City.
trade in a Pokemon that has it, but it wont be able to use it outside of battke
Gym no#6 allowz u 2 uz strength outside.Da gym iz in CANALAVE CT.Hiz name iz Byron.
You teach an able Pokemon to use it, and when they do, if you see a boulder that is outlined darker than the other boulders, and is in more of an oval shape, if you click A, you should be able to move it if the Pokemon that you taught strength to is in your party
In ecruteak city. beat the gym leader to be able to use surf outside of battle. then go to the house of the five kimono girls each with a different evolution of evee
you have to beat the gym leader (Gardenia) and you will be able to use cut outside of battle. I don't remember how to get the hm cut ( check youtube ) but after that you use cut in front of there building and on the side you can use cut again and get an item
After you go see Rayquaza on Sky Tower (near Pacifidlog City), and stop the battle of Groudon and Kyogre you may be able ^^
The first HM that you are able to use outside of battle is the Cut HM. You get it from talking to the captain in the S.S. Anne.
Once you get the 7th badge you will be able to use rock smash outside of battle.
To be able to use cut outside of battle you have to get the second gym badge in eterna city
you have to battle all the people in the battle ground then fight barry outside then wait till the next day and you will be able to fight her
I believe that is after you've beaten the 4th Gym in Volcanoridge Town.