You can use ${i%%.*}. It will remove everything after first occurrence of dot including dot.
e.g.
i=absdfsfd.b.c.dddd
echo "${i%%.*}"
will give output
absdfsfd
In your case:
for i in *;do echo "${i%%.*}";done
Well do not use for i in ls. See Why *not* parse `ls` (and what to do instead)?