Always use TO_DATE and an explicit format mask when comparing a date with a character string - and please use 4 digits for years!:
SELECT * FROM tb_aduan
WHERE x = TO_DATE('01-jan-2003','DD-MON-YYYY');
(It is not safe to assume that the default format mask is what you expect.)
Now, if the date column x could contain a time component and you want all x values for that date then you can either use TRUNC:
SELECT * FROM tb_aduan
WHERE TRUNC(x) = TO_DATE('01-jan-2003','DD-MON-YYYY');
or you can check by range:
SELECT * FROM tb_aduan
WHERE x >= TO_DATE('01-jan-2003','DD-MON-YYYY')
AND x < TO_DATE('01-jan-2003','DD-MON-YYYY')+1;
If you use TRUNC then be aware that Oracle cannot use an index on (tb_aduan.x) to answer the query. However, you could create an index on (TRUNC(tb_aduan.x)).