In Hanoi, many roads are congested during rush hour. When going through congested roads, the movement of vehicles is very slow. As a result, traveling over a short and congested road may take more time than traveling over a longer and uncongested road. Therefore, in this paper, we study the problem of finding optimal bus routes that take less time, considering the traffic jams. We extend Dijkstra's algorithm to compute waiting time at bus stations and traveling time of buses. The experimental results show that our algorithm is suitable.