The most accurate way to measure body fat is through hydrostatic weighing, but this isn't an option for everyone as it can be expensive, time consuming and inconvenient!
First of all, BMI is a load of rubbish! You can calculate your BMI by taking your weight (in kg) and dividing by your height (in meters) squared.
So for example lets say Ronnie Coleman (left) weighs around 135kg (contest weight) and has a height of about 1.8m... So his BMI must be around 42% ... hahahaha!
Even though Ronnie is abnormal compared to us, BMI is still a bad indicator of composition for anyone. Ronnie is around 4-5% body fat.
Skinfold calipers are a common way to measure body fat. In this procedure, skinfold thickness measurements are taken at 7 sites around your body. Usually the chest, armpit, hip, abs, thigh, upper back and triceps. Some people may use more or less skin folds. These measurements are then put into an equation. This is a reliable way to measure body fat, but it does take practice to get accurate and consistent results. Help may be needed to get good measurements. This is the way to go if you have anyone willing to help.
http://www.gain-weight-muscle-fast.com/skinfold-measurements.html
Bioelectrical Impedance scales are one of the latest methods. A very small current is passed through your body to get a total resistance value. Fat free mass (like muscle) will conduct electricity better than fatty tissue, because of the higher water content. Along with your height, weight, age and gender a body fat percentage is calculated. The result you get from this can be affected by your hydration level, last time you ate etc. So it's best with these scales to measure at the same time of the day, every time you measure yourself. I use a set of scales to measure myself at home. They may not be the most accurate way to measure, but they give a good indication of fat percentage and are perfectly fine to measure "changes" from week to week. They are also very convenient!