Snorkelling trips are easily arranged on both islands, with prices coming in around the 30 to 50 ringgit per person mark, including snorkelling gear.
Trips come in three main varieties: a half-day trip (out at 08:00 or 09:00 and back by midday), a full-day trip (out at 08:00 or 09:00 and back by 16:00) and an outlying island trip (out at 10:00 and back by 16:00). The beaches and islands you'll visit will depend on where you are staying. Sometimes the trip includes lunch at the village on Perhentian Kecil, other times it might be a barbecue on the beach. Shop around and talk to other travellers.
Most nearly any guesthouse or hotel will be able to arrange you a trip, else there are plenty of operations on any of the main beaches on both islands that can sort it out for you. Another option is to join a dive trip but go only as a snorkeller. Bear in mind that in this case depending on conditions, not everywhere the divers go will necessarily be great for snorkelling -- ask beforehand.
All trips should include snorkelling gear (mask, snorkel and fins), but if you have specific needs, bring your own gear or hire it elsewhere. If possible avoid weekends when the snorkelling sites, especially D'Lagoon, may be absolutely swamped with weekenders.
The Travelfish newsletter is sent out every Monday and is jammed full of free advice for travel in Southeast Asia. You can see past issues here.