If you want your users to actually, you know, use the program, they need to be able to run the program. In order to be able to run the program, the CPU must be able to understand the program. CPUs are much stupider than humans, so this means that humans can understand the program, too.
If you obfuscate your program in such a way that it cannot be understood by humans, this also means that it cannot be executed.
If you don't want people to get access to your code, there is only one way: don't give it to them. Put it on a server and let your users connect to it via the network.
But all of that is completely unnecessary, since your code is automatically protected by copyright law anyway, which is much more powerful than any obfuscation.