There are many shark diving operators in Gansbaai - a short distance from Hermanus. I was originally going to stay in Hermanus but decided to stay in Gansbaai for the first leg of my trip so I didn't have to travel.
All the shark dive companies come to pick you up. Normally part of the cost is for them to come and pick people up from cape town, take you back to their place for brekkie, a de briefing and then onto the trip out to shark alley and diving with the sharks.
For whale watching, Hermanus is THE place to be. Apparently they come right up close to shore in Walkers Bay to breed and calf. They are seasonal and come in between the months of July - Sep/Oct.
You are in the right place to be for both activities. Have a great time !