Both dot-net and Java StringBuilder libraries, and probably comparable things in other libraries, have an "insert" function that allows you to insert a new string at an arbitrary place in a target string. Location zero would be at the beginning, location 1 is after the first character, etc.
Thus, my practical answer to your question in a programming context is that the opposite of "append" is "insert(0)".
Note that insert is useful to insert at any known offset into a string. It is not so useful for inserting at the end of the string because we then need an extra step to find just where the end is. As this is an extremely common thing to want to do, it makes sense to have a separate append function.
In general English, we say "prepend", as others have noted. But I don't think most string-builder-type objects have a prepend function, as it would be rather redundant with insert.