If you have enough time to plan for your trip maybe the best way is to book a cheap flight from either KL ( Air Asia) or Penang ( firefly) .there are also flights from sigapore directly to Langkawi( silk Air) you always try to avoid school holidays in Malaysia and also chinese new year because at those occasions the hotels and motels may not be available and also the transportation will be difficult.so if no other option always keep in mind to go on a weekday ( not a holiday or weekend) and try to plan in advance.
the ferri ticket is 115 Rm two way and 65 rm return,from Penang.An alternative is to take a bus from KL or singapore or thailand to kualah kedah and then take a boat to langkawi.
the journey from penang takes about 2.5 hours and you may enjoy your self on the deck.try to take some water and your sunglasses and sunscreen with you because some times the sun can burn you so bad.
the boat ride from kualah kedah or kuala perlis takes about 1:15 to 1:45 hours.
You also can go to langkawi by train ,taking the train to Alor star ( from KL) and Arau.then take a taxi to Kualah kedah and then take a boat.( long way isn’t it) .
the best way I can advice is to go to langkawi via penang on a boat( ferri) that leaves every morning 8 and 8:15 and returns 2:30 and 5 : 15 Pm to Penang daily.