Given bash, this might be easiest as
$ comm <(ls -a dir1) <(ls -a dir2)
The <(command) expression runs command over a pipe and substitutes a /dev/fd reference:
mress:10018 Z$ echo <(ls)
/dev/fd/11
So the command above runs ls -a on each directory and feeds their outputs as file arguments to comm, which outputs up to 3 columns, tab-indented: entries only in the first, entries in both, entries in the second. (That is, if it's in both then it is indented by a tab, if it's only in the second it's indented by 2 tabs.) You can also suppress columns by number: comm -1 foo bar displays only the lines in both and lines in the second file, the latter indented by one tab. (This is most commonly used by suppressing all but the column you want: comm -13 foo bar shows only the lines in common.)
Given that you want those in the first directory, that translates to
$ comm -23 <(ls -a dir1) <(ls -a dir2)
If you need more than just whether it is present, use diff -r, which will output diffs for the files in common and a one-line message for files found only in one or the other.