You probably want to use inotify(7) facilities (assuming a native, non-networked, file system like ext4 etc...)
You probably want incron. See e.g. this. I guess that using
IN_MOVED events should often be enough. See incrond(8) and incrontab(5)
But you should explain your motivations and high-level goals (your question smells badly like some XYproblem). It seems you want some version control system (or perhaps some backup?). I recommend git
Read more about inodes. Remember that a file (in fact, an inode in a filesytem) can have several paths (or none of them) and appear in several directories (e.g. using hard links, thru the link(2) system call and ln(1) command).
I need an .sh shell/bash script that will automatically tar a directory with the same name of the directory when I move the target directory into another directory (destination directory),
This goal is ambiguous (because a file -which is really an anonymous inode- can have several names and appear in several directories; also a file can be written, created, deleted, truncated and/or read simultaneously by several processes).
Perhaps you might run some other script periodically (e.g. with crontab(5), maytbe some cron job running some make or ninja command which takes into account the modification time of inodes ....)
BTW, this site is not a "write my script" service. You should expect hints (like above), not other people to code your own script.
I recommend reading Advanced Linux Programming to understand more your Linux system (from the inside point of view).
P.S. Characters like
( in filenames are not an issue (use appropriately double quotes and braces around variable names in your shell scripts). But files and file systems on Linux don't behave like e.g. on Windows. Understanding the notion of inode is essential.