You code it - its programming, If you don't know how to make one - then yes it would be very hard for you. In which case your best option is to pay someone else to do it and then yes it costs. You also need to pay for hosting and domain registration.
At the end of the day it depends on your experience.
Cost, well if you build it yourself it costs nothing but your time. If you want a domain name then you will have to pay for that, a .com domain will cost abut $20/yr. Then you need to host the site, again, there are some free hosts, but you get what you pay for.
I've recently done one with Freewebs. It was so easy and I am not really into computers (its taken me 3 years to work out how to get an avatar, lol). Worth a go.