I think this is what you are trying to achieve. Just check if the output is correct. One problem is that as you keep on clicking the button the results gets accumulated below the previous one. Note that I changed the argument of Cos function to u (you have defined it but not used it).
h := Block[{u, t, r = 1, a, b},
a = Sort[Table[
u = Random[] + Random[]; t = Random[] 2 Pi;
{r Cos[u], r Sin[t]}, {5}]];
b = a[[Last[FindShortestTour[a]]]]
];
Button["Click to Create", Print@h]
Update
[m_goldbeg]: perhaps this small modification will serve the OP needs a little better.
h :=
Block[{u, t, r = 1, a},
a =
Sort @
Table[
u = Random[] + Random[];
t = Random[] 2 Pi;
{r Cos[u], r Sin[t]},
{5}];
b = a[[Last[FindShortestTour[a]]]];]
Button["Click to Create", h, Method -> "Queued"]

Dynamic @ b
{{-0.173037, 0.902559}, {0.300649, 0.188876}, {0.894028, 0.581573},
{0.856143, 0.922075}, {0.64084, 0.997153}, {-0.173037, 0.902559}}
f[] := Block[{u, t, r}, u = Random[] + Random[]; t = Random[] 2 Pi; r = 1; {r Cos[t], r Sin[t]}] a = Sort[Table[f[], {5}]] b = a[[Last[FindShortestTour[a]]]]
– tsin Dec 19 '15 at 18:04g[] := Block[{u, t, r}, u = Random[] + Random[]; t = Random[] 2 Pi; r = 1; {r Cos[t], r Sin[t]}] ; a = Sort[Table[g[], {5}]] ; b = a[[Last[FindShortestTour[a]]]]– Hubble07 Dec 19 '15 at 18:19