Which of these alternatives is grammatically correct?
I have finished
Like I’m done sounds very American, but is it grammatically correct?
'I am done (with my work)' is a straggler from older English.
In Old English, the present perfect was formed somewhat differently. Whereas Modern English uses to have in almost every construction, be it transitive or intransitive, older English used to have with transitive verbs and to be with intransitive verbs. Here are some intransitive examples:
'He is risen.' (ModE 'he has risen.')
'I was come to his house.' (ModE 'I had come to his house.')
'We are fallen from riches.' (ModE 'We have fallen from riches.')
There is no change, however, with transitive verbs:
'I have hit him.' (But never 'I am hit him.')
'I have eaten dinner.' (But never 'I am eaten dinner.')
'He has never liked them.' (But never 'He is never liked them.')
Often, the Modern English verb to do still follows the old paradigm, whence we get the following intransitive construction:
'I am done (with my work).'
And the following transitive construction:
'I have done my work.'
I’m done is grammatical but informal. It is found mainly in American English rather than British English.
These short sentences perhaps disguise the fact that there are two questions here.
At Motivated Grammar is an article claiming that 'done' and 'finished' are interchangeable here. There are also comments that 'I'm done' for a person as subject (agent) is more acceptable in general in American English, and others that it is not acceptable at all or in formal speech. Personally, I'd use it in conversation (though more often 'I've done') but usually switch to 'I've finished' if I considered a more formal register preferable.
Looking at the choice of verb/auxiliary, have is obviously an auxiliary forming the perfect in 'I have finished' (and 'I have done'). However, it is arguable that be is the copula followed by a (participial) adjective in 'I am done' (cf 'I am exhausted / I am tired / I am cold). But there are still lingering examples of be used as an alternative auxiliary to have ('I am come' cannot be other, though it is archaic). The question hinges upon whether the -ed form is principally describing a state (participial adjective) or the attaining of that state (past participle), and isn't, I'd say, always easy to resolve.
I'm more likely to say "I'm done" or "I'm through", though I don't see anything wrong with "I've finished".
"I'm done" sounds to me like you've been cooked. I don't like that usage at all.