I think this question is not quite so trivial as Qiaochu suggests. Devising practical algorithms for problems of this type is certainly an active area of research within the computational group theory community.
The first problem is that the group may be too large for it to be feasible to compute its conjugacy classes and character table. It might be one of the large sporadic simple groups for example. Over finite fields, the so-called Meataxe methods, which are actually just based on linear algebra, have been used to find the composition factors of some modules of dimensions in the hundreds of thousands. There are ongoing efforts to extend these methods to characteristic zero.
If your representation is in characteristic zero, and you can compute the classes and character table, then the straightforward character theoretic methods will tell you what the absolutely irreducible constituents of the module are, but that does not immediately enable you to decompose the module explicitly.
Another problem that arises in practice is that your representation may be over the rationals, for example, but its absolutely irreducible constituents might not be realizable over the rationals. In that case, the reducibility of the module will depend on the Schur Index of representation',s constituents, which can be calcualated from the character table. But again, if you find out, for example, that a rational representation is the direct sum of two isomorphic irreducibles, then it can be very difficult to find the basis change that exhibits the direct sum.