It makes a lot of sense. Jalan means "road/course", while tinggal means "to stay/live". That's why you say selamat tinggal when you leave, and selamat jalan when the other person leaves.
If I'm remembering correctly, bukan has a very specific use, with a noun to show what something is not. For example, it is not a cat: "itu bukan kucing"
To hopefully help a little more
Tidak negates a verb (ie "itu tidak pergi" meaning "it does not go")
Bukan negates a noun (ie "itu bukan kue" meaning "that is not cake")
It is tricky at first but you catch one fast.
Also to add on to what @nlpettersen said, from what others have said, tidak is usually paired with verbs, so overall both tidak and bukan serve as a negative word thingy