Why do you want to avoid Cantor's diagonal argument? This is a case where it would be the most natural way to do it. I assume you understand how to use it, just assume an enumeration of the set and construct a string by for each string in the enumeration append $1$ if the n:th digit of the n:th string is not $1$ (including the case where the n:th string is to short to have an n:th element). This string is not present in the enumeration.
Alternatively you can use the fact that the power set is always a larger set, but to prove that you'd use Cantor's diagonal argument.
A third option is to realize that your set has the cardinality of $\mathbb R$ which is known to be non-countable, but again you'd probably rely on Cantor's argument to prove that $\mathbb R$ is not countable.
A more elaborate method would be to for each sequence $d\in D$ map (by $f$) a real number $x$, by writing $0.$ followed by the digits of the sequence. Note that this mapping is not injective which is not a problem. This maps $D$ to a set $E$ (namely ${0}\cup(0.1,1]$). Now consider the set $X$ of single-element subsets of $E$. We have $|D|\ge |E| = |X|$. Now we assume that $X$ is countable, but then we have since $m(\xi) = 0$ for all $\xi\in X$ (where $m$ is the Lebesgue measure). If $X$ were countable we would have $m(E) = m(\bigcup_X \xi) = 0$, but we know that $m(E)=0.9$ which contradicts that $X$ is countable and since $D$ is no smaller it can't be countable. (I'm not sure if this relies on Cantor's argument, but I can't see any obvious such dependencies right now)