It probably depends on how realistic you want it.
I'm assuming you want a super metroid or super castlevainia like grapling hook, and not just a simple ladder creator.
Going for a realistic look, where the player swings a semi circle around a fixed point (where the hook is attached) you are talking some pretty complicated scripting.
Once the grapling hook sprite contacts the attach tile or sprite, I would switch the player sprite template to inert and start controling everything through script, including gravity. You would have to store variables for rotational velocity that is effected only by the left right keys and gravity. Just to display the rope you would need a 36 state rope sprite who's state and location are both controled by player location in script. When the player lets go of the button that holds the player to the hook, the sprite could switch back to SGDK control after the appropriate velocity is set (which is determined by rotational velocity and relative position or angle to the center point of the semi circle)
The things that can complicate it are numberous. keeping collisions with sprites and solidity with tiles. A varying sized rope controled by player (up and down keys) Even the interaction between the grapling hook and the hook-to tile could be tricky. Another issue I noticed is the inability to us some keys when holding down 2 arrow keys at the same time, so the good ol computer keyboards as in input device might stop us here.
I might try to tackle it someday when i start my side scroller, but i could see it taking me weeks to implement.
Going the simple route:
If you are going for no player control or eye candy, it would be pretty staight forward to just have a tile interaction between the hook sprite and the hook-to tile that starts a series of special functions that have the player swing through the air in 2 or more graphic frames and land safely on the other side every time, but that wouldnt be too much fun:)