You can catch one using the pokeRadar at route 201. Other people say it takes a chain of 41, but it only took me a chain of 6 or 7. A chain is when you meet the same Pokemon again and again
You can find shiny Pokemon randomly through out the game.
To get a shiny Pokemon try using the poke radar
In the underground.
You can find rare Pokemon from other games and even shiny Pokemon! I found a Shiny Hippopotus once :P
You can find a Shiny Stone in Route 228 in Pokemon Diamond and Pearl. In Pokemon Platinum, you can also find a Shiny Stone on Iron Island.
you don't need a ar code to catch and keep shiny Pokemon in Pokemon pearl all you need to do is find the shiny Pokemon you want and catch it and unless you release it you keep it.
Chain 40 of the same Pokemon
To get a Staravia you have to evolve starly or trade
you sometimes find them in the wild
anywhere where you find a normal shiny. shinies are exacty the same but rarer.
Try using the pokeradar, its not perfect but it could lead you to a find.
The easiest way is to use the Poke'Radar.