#define STEPS 48
Stepper stepper(STEPS, 2, 3, 4, 5);
Your stepper probably has more than 48 steps per revolution. 200 would be more common.
Not your fault. The reference doesn't describe the functions well enough.
Check this example to see how the library is used:
http://arduino.cc/en/Tutorial/MotorKnobIt says:
// change this to the number of steps on your motor
#define STEPS 100
// create an instance of the stepper class, specifying
// the number of steps of the motor and the pins it's
// attached to
Stepper stepper(STEPS, 8, 9, 10, 11);
When you told the library that your motor had 48 steps per revolution and you wanted it to move at 30 revolutions per minute, that's 1440 steps per minute (24 steps per second). If your motor is a 200-step motor your program will make it turn just short of 1/4 turn each time through loop() and it will take two seconds to get there. Does it take just over 8 seconds to do one complete turn?
If it takes 8 seconds, change STEPS to 200
If it takes 4 seconds, change STEPS to 100