Let $(X,\mathcal{M},\mu)$ be a measure space and $\{f\}$ be a sequence of functions on $X$, each of which is integrable over $X$. Show that $\{f_n\}$ is uniformly integrable if and only if for each $\varepsilon \gt 0$, there is a $\delta \gt 0$ such that for any natural number $n$ and measurable subset $E$ of $X$, if $\mu(E) \lt \delta$, $ \left|\int_E f_n~d\mu\right| \lt \epsilon.$
I think one direction $(\Rightarrow)$ is clear. Since $f_n$ being uniformly integrable imply that for every $\varepsilon\gt 0,~\exists \delta \gt 0$ such that for any $E\in \mathcal{M},~\mu(E)\lt \delta$, $\int_E |f_n|~d\mu$ for every natural $n$. But then
$ \left|\int_E f_n~d\mu\right|\le \int_E|f_n|~d\mu \lt \varepsilon.$
Any suggestions for the other direction?
Edit:
Following Davide's suggestions, I have
$ \begin{align*} \int_E |f_n|~d\mu & \le \int_{E\cap [f_n \ge 0]} f_n~d\mu + \int_{E\cap [f_n \lt 0]} (-f_n)~d\mu\\ & = \left| \int_{E\cap [f_n \ge 0]} f_n~d\mu \right| + \left| \int_{E\cap [f_n \lt 0]}f_n~d\mu \right| \\ & \lt \varepsilon + \varepsilon = 2\varepsilon. \end{align*} $