Built-in LED turns on when I touch the input port
When you are reading digital data through a pin you must make sure that you are steering that input pin to a stable state when no input is present. 
You can do this by using either a pullup or a pulldown resistor which you can connect externally or you can use the in built pullup. 
You can use a 10k ohm resistor to pulldown by connecting it to the button end where your digital pin is connected and the other to ground.
By doing this your above code must work fine.
I think by touching the pin you are actually pulling the voltage state down.
Hope this helps