You need a spirit level, you may have one already in a set square or separately, but if not, buy a cheap one from a DIY or tool shop. If you haven't got one, also get an extending rule with centimetres on it. Then get a strip of straight metal or wood and cut it to exactly 50 centimetres long. Tape an expanding rule on one end so that the tape extends down against the end of the 50 cm strip. Tape the spirit level next to it on the top surface of your straight strip and secure it firmly with tape or rubber bands.
That's your measuring apparatus complete. If the hill you want to measure isn't at home, you can tie that strip to your crossbar to ride to your destination.
Now on a representative sloping part of the hill, rest one end of your strip on the road surface with the spirit level above and the bubble kept centralised. With the other hand, extend the rule extended vertically down to the road directly below the other end of the strip and note the number of half centimetres measured between where it meets the underside of the strip right at the end and the road surface. Thats the percentage measure of your hill, it's as easy as that, just the distance from the road surface vertically to the 50 cm point on the underside of your strip. If it's 5.5 cm, there's 11 half centimetres so it's an 11% hill. Just make sure the bubble is central as you read the measurement.
View attachment 51225
I understand that there is disagreement in the mapmaking and surveying world, surveying I believe using the hypotenuse as the linear element for calculation.
To give some idea of the size of the difference using "stick and rule", a 12% will actually be an 11.91457%, a 7% will actually be 6.98291%, so you can see why I don't think the difference is worth bothering with. Even a 20% will only vary slightly, the correct gradient being 19.611688%.
.