This should work for creating a ringtone for both iPhone 4, iPhone 4S, and iPhone 5. There are special programs and such out there for this, but they are pretty unnecessary as it is a fairly easy process.
Open up iTunes and browse to your music section. Select the song that you want to turn into a ringtone, and right-click on it.
Select Get Info and navigate to the Options Tab. Select the Stop Time checkmark and enter 0:30 for a 30 second ringtone. Click OK
Now right click that same song again, and select the “Create AAC Version”. This will create the 30 second version of the song that you need to continue.
Make sure there are no windows behind your iTunes library, and drag and drop the 30 second version of the song to your desktop. Rename the file to have a .m4r extension.
Now drag and drop the file into iTunes, and if there isn’t already a Tones section under your Library, there now should be now.
The last step is to connect your iPhone to your iTunes library and sync your phone. The ringtone should then appear under your ringtone settings.