Minimize power consumption on GPS tracker module sim 808

Currently, I'm working on a project to create a tracker device which composed of Arduino R3 and Module shield Sim808. At the moment, this device works well, it can send GPS data to remote server through GPRS. Now, I want to improve my device such as enhance power consumption. My program is something like this: Whenever I want to send GPS data to remote server, I called function to receive GPS data.

So I need some suggestions in order to make my tracker can consume less power ? (I'm very happy if you guys give me detail plan, as I'm a quite newbie in embedded and electronic programming)