If you want to travel from KL to Langkawi Island overland, there are a few options available.
One of them is to take a boat from Kuala Kedah to Kuah on Langkawi.
To get from Kuala Lumpur to Kuala Kedah Jetty (Jeti) you will have to go via the nearby town of Alor Setar as there are no direct buses or trains to the port.
From Kuala Lumpur, your best option is to take a bus from TBS Bus Station (Terminal Bersepadu Selatan) to Alor Setar, as this terminal has the most frequent departures to Alor Setar.
It is easy to get to TBS from anywhere in the city if you take the train.
You can take a cheap KTM Komuter train from KL Sentral to Bandar Tasik Selatan Railway Station (located right next to TBS bus terminal) or you can take a non-stop (but more expensive) KLIA Transit train from KL Sentral.
Selatan station is also connected by LRT trains (on the Sri Petaling Line) so you may find it easier to take an LRT to TBS / BTS.
Other less frequent buses also leave from Hentian Duta to Alor Setar.
Buses from TBS to Alor Setar are operated by many companies including well known and popular bus operators:
Sri Maju Group, Transnasional and Nice Bus
The duration of the bus journey from TBS to Alor Setar is around 6 and a half hours (depending on traffic).
Once you arrive at Alor Setar's Shahab Perdana Bus Terminal, you have the option of taking a taxi to Kuala Kedah Jetty (around 20 - 25 RM) or a slow, but cheap bus (less than 2 RM).
Buses from Alor Setar Bus Terminal to Kuala Kedah operate during the daytime and depart from the local bus stand (just walk out of the long-distance bus terminal area and you will see the local bus area just in front of you).
To get to Kuala Kedah by train from KL, you will first have to take an ETS train from KL to Alor Setar.
From Alor Setar Railway Station you can then take a taxi (around 20 RM) to the Kuala Kedah Jetty or you can take a cheap local bus from the city centre.
If you want to take the bus, it is best to ask for directions at the station (it will take around 10 minutes to walk to the bus stop).
If you are driving, the distance from KL to Kuala Kedah Jetty is around 435 km.
Once you arrive in the port area you will find plenty of places to park (the price for parking in Kuala Kedah Jetty area is usually 10 RM per day).
If you want to take your car over to Langkawi, you will need to drive a little further north to Kuala Perlis, where there are now car ferries operating over to Langkawi.