this is the image showing partitions on my hard drive. I am reading linux from scratch and so i need to create a dedicated partition to make my machine. sda1 is alloted to root but it uses only 3.45 GB of about 15 GB. Rest ~ 11GB is free. So, I need to shrink sda1 and make a dedicated partition. This is my only option as only 1 MB is free on the disk and i need approx 3 GB. So, i searched and found this but can i shrink a partition by this method? If not, then please tell how to do that?

Note: I have backed up my files on ubuntu one cloud. So, backup shouldn't be a problem.

The link you refer to is not applicable because it's using LVM and you aren't.

Basically, you can do what you want, but you need to have booted from a LiveCD since you can't decrease the size of the root partition while Linux is using it. Tim's recommendation is probably OK as it's a custom resizing solution.