How do I determine which IP I should use for my MariaDB Galera Cluster? I have set up MariaDB Galera Cluster (let's say 3-4 nodes).

Which IP should I specify in the configuration of my application? 

Should I specify all of them or I should have some proxy in front of the Cluster so the app can see the cluster as one? 

Can I have the cluster without a proxy and still see it in my app as one node not as a cluster?
First, you should have 3 nodes in your cluster (or an odd number), not "3-4", so to always know which is the majority group and avoid the split brain problem.

You can specify any of the three node IPs as the database is replicated in all nodes.  However, to make the system resilient you should have a Virtual IP address that allows you to reach any of the nodes.

In my system, I have a S9S ClusterControl with two HAProxy load balancers associated to the same Virtual IP address.  This VIP is the address that clients use to contact the cluster.