Let's list what we know:
(1) The only abelian group of order 30 is C_30.
(2) G always has a normal subgroup N of order 15. It's not too hard to prove that N must be cyclic.
(3) By Cauchy, G also has a subgroup K of order 2. Obviously K is cyclic.
Now let's use (2) & (3) to get the nonabelian groups. Since N\cap K=\{1\} (by Lagrange), we see that |NK|=30, and G is thus isomorphic to N \rtimes_\varphi K, where \varphi is a nontrivial homomorphism from K=~C_2 to Aut(N)=~Aut(C_15). It should be straightforward to get all these homomorphisms, and consequently all the nonabelian groups of order 30.
If you're not familiar with semidirect products (i.e. if you don't know what N \rtimes_\varphi K means), then you can 'avoid' them by doing the computations directly. To this end, let x be a generator for N and let y be a generator for K (so x^15=y^2=1). Since G=NK and N\cap K=\{1\}, then every element of G is of the form xiyj (1<=i<=15 and 1<=j<=2). Now you have to play around to see what kind of relations these things will satisfy. For instance, since N=<x> is normal, we have that yxy=yxy-1=xk for some k (1<=k<=15), and hence (after applying this repeatedly) x^(k^2) = x. What does this tell us?