I'd recommend
Terminal Bersepadu Selatan, which has buses leaving to JB every 15 min or so. It's the newest and shiniest of KL's bus terminals and quite well organized. Better yet, it's located right next to Bandar Tasik Selatan, one stop from KL Sentral on the KLIA Transit line, and also on the Ampang LRT, which might be more convenient depending on where you're staying.
A few companies still use the Pudu terminal in central KL, but you'd be best off checking schedules and booking ahead.