I am not a mechanic, but I do know my way around cars. This could be caused by a bunch of things. Lets start with the basic stuff. First check the air filter. As most need to be changed every 50-70k. Next check the spark plugs, cables and distributor. The plugs you can check you self. The distributor will have to be checked at a shop. Also see if you can change the fuel filter. While we are on the subject of gas. Buy your gas at a few different stations. I have had bad gas in my car. And thanks to me going to a different station. It saved me a lot of money.
Now for the not so easy stuff. There could be a sensor, camshaft, valves, injector, or other things. That could be causing this to happen. My best advise if let them hook it up to a computer. They will be able to tell if its your injectors, bad fuel to air, timing, etc. Around here its about 60-100 bucks for places to test it. In my eyes it is worth it. Better then buying stuff and finding out you didn't need it, or its still doing it.