You can't use '@' in varible names in Oracle. Use something like "p_book_id".

Also the VARCHAR2 variable needs a length constraint, e.g. VARCHAR2(100). Or better still, books.judul%TYPE. A useful convention is to prefix variables with "v_", so I would use:

v_judul books.judul%TYPE;