There is actually a lot of art involved. The most simplistic framework is as follows:
The first step is to obtain a list of FOMC meeting dates. These are available currently for 2015 and 2016 here. If you're interested for rate expectations beyond 2016, you'd need to "guess" the meeting dates in the future based on past patterns.
The next step is to calculate the implied target rate coming out of each meeting. This is best explained with an example. Let's assume that the current Fed funds target rate is 0.125% (it's actually a range of 0%-0.25%) and that the next FOMC meeting is on September 17th, 2015 (actually July, but let's stay simple). The September 2015 Fed Funds future price is 99.835, implying a rate of $100-99.835 = 0.165\%$. Recall that Fed funds futures price is based on the arithmetic average of the daily Fed Funds effective rate, so we must have
$$ 0.165\% = \frac{0.125\% \times 17 + r \times 13}{30},$$
where $r$ is the target rate coming out of the September meeting. (The first 17 days are based on rate coming out of the previous meeting, and the remaining 13 days based on the rate after the September meeting.) This gets us $r = 0.217307692\%$.
Finally, we can compute the probability of a rate hike. The assumption we'll use is that the Fed will either raise rate by 25bp or keep it unchanged. Assuming the probability of a 25bp hike is $p$, then we must have
$$0.217307692\% = p\times 0.375\% + (1-p) \times 0.125\%.$$
(probability-weighted average of keeping rates at 0.125% or raising rates 25bp to 0.375%). This allows you to solve for $p$.
The example above is a gross simplification. More sophisticated models would adjust for term premium (since observed interest rate is not equal to rate expectations), allow for more scenarios coming out of each meeting, etc. If you're interested in longer-dated rate expectations, Eurodollar futures must be used as well.
Here are some useful references: