This question has been languishing for a couple of months without a reply or even a comment, so I'm going to take a shot at answering it.
As the "comma-splices" tag that I added to your question observes, comma splices are "commas used to join to independent clauses," which is what the phrases "I hope so" and "I have already bought a present" are. The traditional notion in English instruction was that commas were too weak a punctuation mark to satisfactorily separate independent clauses without the aid of a conjunction (such as and or or).
By that standard, both "I hope so. I have already bought a present" (independent clauses separated by a strong punctuation mark—a period) and "I hope so; I have already bought a present" (independent clauses separated by a strong punctuation mark—a semicolon) are acceptably punctuated, but "I hope so, I have already bought a present" (independent clauses separated by a weak punctuation mark—a comma) is not.
One way to avoid the comma splice while retaining the comma is to add a conjunction such as because or since after the comma:
"I hope so, since I have already bought a present."
If you spend much time at this site, you'll find that a number of the people who answer questions here don't consider questions involving comma splices or other punctuation issues to be matters of English language and usage at all. That may help explain the generally low level of interest in your question among site visitors.