We solve the three-component rate equations for semiconductor lasers with a saturable absorber or for multi-section semiconductor lasers by using a singular perturbation method. The effects of nonlinear gain and spontaneous emission are included in the rate equations. By transforming the rate equations to the generalized coordinates, we eliminate the most rapidly varying term adiabatically for the fast saturable absorber. Then, we solve the two-component nonlinear equations to obtain analytic expressions for parametric dependence of self-pulsing amplitude and self-pulsing frequency. The self-pulsing frequency shifts from the small-signal oscillation frequency to the lower-frequency side as we increase the self-pulsing amplitude. The square of the self-pulsing frequency does not linearly depend on the injection current, in agreement with experimental observations. We also derive an optimum saturable absorber recovery time for the shortest optical pulse generation.