Draw half empty rectangle
Graphics[{EdgeForm[Thick], White, Rectangle[], Black, Rectangle[{0, 0}, {1, 0.5}]}]
Or indeed, if you want to be able to change the filling dynamically, you can wrap a manipulate around it.
Manipulate[
Graphics[{EdgeForm[Thick], White, Rectangle[], Black,
Rectangle[{0, 0}, {1, a}]}], {a, 0, 1, 0.05}]
For fun
Example
DynamicModule[
{fill},
fill = .5;
Panel @ Column[{
Slider[Dynamic @ fill, {0, 1}],
Graphics[{
{FaceForm @ White, EdgeForm @ {Thick, Black}, Rectangle[{0, 0}]},
{FaceForm @ Black, Rectangle[{0, 0}, {1, Dynamic @ fill}]}
}]
},
Alignment -> Center]
]
Output