How to check how much battery each application uses?
This is pretty much impossible. Each program doesn't directly use battery power - they all use the CPU, which uses battery power. But every other hardware component uses power as well - the screen, GPU, hard drive/SSD, etc. And of course you're not just running one program at a time, you're typically running several, plus all the background processes for the OS and other services. This is further complicated by how the OS and CPU allocate resources - despite how it appears, everything isn't running simultaneously, the CPU just switches between tasks every quickly, giving the appearance of everything running concurrently. On top of that, modern CPUs can change the amount of power they draw depending on the tasks going on.

So the effect that each program has on battery life depends on a lot of factors, most of which aren't easily measurable. The closest you could get might be tracking the CPU utilization of each program over time, and making an estimate based on the battery drain over that period. However that would be a very rough estimate, and not very accurate for any useful purpose I can think of.