If you do a search on here you will turn up lots of previous threads regarding key cutting.
It can be DIY if you buy an AK90 coding machine and a new blank off ebay but then you have to find someine to cut your blank key, the usual suspectes won't cut supplied keys you have to find an old style Shoe and key cutter outlet who will cut the key.
Programming the transponder in the key with the AK90 involves taking the EWS module out of the car and using it to read the chip on the pcb inside the unit, in my experience its very hit and miss to get a good read let alone programme a working key.
Alternative is to use one of the key suppliers on ebay or the Web who offer a key cutting and programming service. Downside is that you have to send your only key to them in the post to get the second key cut and programmed.
2nd Alternative is use a local mobile locksmith, I did this in the end to get a 2nd key for my Z4 after I couldn't code it using the AK90, he programmed my cut key and used his 3k coding machine on the EWS eeprom chip using a cable soldered to the eeprom chip legs. Once he got the file read he was able to code the key transponder in my case he coded it to a used slot in the module that I didn't have the key for. Might help if you put your location in someone local to you may reccomend some one. My man charged £130 to sort mine, he is based in South Wales.