Hi Ed,
The first question I would be asking (prior to considering whether this was a contractual penalty) is whether you were contractually bound to pay the $18 at all.
Were you given notice that this fee would be payable before you missed your appointment? If not, then I would be telling your dentist that you are not bound to pay that amount.
If you were given notice that this fee was payable, then I agree with both Sophea's and Rod's comments above. That is, if missing the appointment was your fault, $18 does seem to be reasonable (and not a penalty) on the face of it.
However, I would suggest that if you turned up at 10am and still paid for your appointment (albeit a later appointment) and the dentist did not have to turn any customers away (or serviced another customer in your 9am slot) then you would not be liable to pay the $18 fee.
Generally, an amount will only be a "penalty" in this circumstance if it is not a "genuine pre-estimate" of the dentist's loss or is "unconscionable / extravagant" in the circumstances.