I want over few proofs here, but I wanted to be sure I got it right.
We will look at $2$ cases: case 1: $a\in H$ case 2: $a\notin H$
Case 1: $a\in H$ therefore $aH=H=Ha$
a. We can say that $aH=H$ because $H$ is a subgroup and is closed, why can we conclude that $H=Ha$? again because $H$ is closed? So the trial coset is always normal?
b. We have shown that $H$ is normal, but did not use the fact that the index is $2$
case 2: if $a\notin H$ then the cosets of $H$ in $G$ are $\{H,aH\}$ or $\{H,Ha\}$ but because there are only $2$ cosets is must be that $aH=Ha$
Consider that, if we denote by $f$ group's operation, it is:
$$[G:H]=2 \Longrightarrow f(G\setminus H \times G\setminus H)=H \tag 1$$
Then, $[G:H]=2⇒H⊴G$; in fact, take $h∈H$; if $g∈H$, then trivially $g^{−1}hg∈H$; if $g∈G\setminus H$, then $g^{−1}h∈G\setminus H$ and finally, by $(1)$, $g^{-1}hg=(g^{−1}h)g∈H$.