As others have said, you need to register the domain name with a registrar first. When you do that, you'll have to give them your name servers. You can host that yourself, but if the IP address you want to point to is coming from a dynamic IP address (from a typical cable modem or DSL connection) that is a bad idea because you'll end up changing it too often.
The other important piece is that if you want a domain.com to point to a dynamically assigned IP address, it is best if the DNS host handles dynamic updates somehow. Personally, I use everydns.com as my name servers. They have scripts available which allow you to automatically update your IP address and also work with the tomato firmware I am using on my wireless router. There are other providers that will provide that functionality as well.