How can I make my cipher show the avalanche effect?
Don't bother with changing the actual cipher algorithm.  Read about Kerckhoffs's principle: you should only change things like the key and the IV, not the actual algorithm.

In order to test your avalanche, flip one bit in your key.  That should change about half the bits in your output.

For cipher design, Applied Cryptography has already been suggested.  As well as that you need to look at introducing Diffusion and Confusion into your algorithm.  Also it is well worth while studying existing algorithms to see how they go about things.  I started by designing my own simple Feistel cipher, that way a lot of the surrounding structure is already done for you.  It also simplifies the design, in that the F function does not have to be invertible.  That allows you a lot more flexibility in that area.

The warning about not using your own design for anything other than a learning exercise is a good one.