It might be possible to do this by bus, but neither the Greyhound nor Burlington Trailways websites will show the itinerary as valid, since it requires literally a zero minute connection in Iowa City, and you have a very high risk of missing the connection.
This unbookable itinerary starts with BTW schedule 1205 in Chicago, leaving at 11:00 am and arriving in Iowa City at 3:50 pm. You would then be required to transfer to another bus, BTW schedule 1490, which is scheduled to depart Iowa City at exactly that time, 3:50 pm, arriving at CID at 4:30 pm. Making such a connection is a crapshoot at best, which is why the web site does not offer it.
In order to attempt this at all, you would need to buy separate tickets for each part of the itinerary, Chicago-Iowa City, and Iowa City-Cedar Rapids, and in advance. You probably won't have time at Iowa City's bus station to do it. You are also taking the chance that your bus from Chicago will be on time, which from experience I would say is unlikely. The connecting bus, coming as it is from downstate Illinois, is much more likely to be on time, and you are that much more likely to miss it.
My current advice is to take the Greyhound/Trailways/Megabus from Chicago direct to Iowa City, and then get the new 380 Express bus (currently $3.50 one way) to Cedar Rapids. Thanks to Carl from Busbud for pointing out this new service.
My advice to you would be to start and end your bus journey in Iowa City, and get a ride from your friends or a taxi (about $40 plus tip each way) to and from Cedar Rapids. You can buy the bus tickets online at greyhound.com, burlingtontrailways.com, or at the Burlington Trailways counter at the Eastern Iowa Airport (even if you start/end at Iowa City). Speaking of which, you might also consider flying; last minute deals for CID-ORD round trips can be had if you search.