BesselJ[1, x]

dBesselJ1 = D[BesselJ[1, x], x]

(D[BesselJ[1, x], {x, 2}] //. x -> 1 // N) + (D[BesselJ[1, x], {x, 1}] //. x -> 1 // N)

Table[
{x, BesselJ[1, x], dBesselJ1},
{x, 1, 2, 0.05}
] // TableForm

Plot[
{BesselJ[1, x], dBesselJ1},
{x, 1, 2},
PlotStyle -> {Blue, Red}
]

Solve[
{
z2next == z2curr + h (-z2next / x - (1 - 1/x^2) z1next),
z1next == z1curr + h z2next
},
{z1next, z2next}
]

next[{z1curr_, z2curr_}, myx_, h_] := Block[{z1next, z2next, x = myx + h},
z1next = ((x (h z1curr+x z1curr+h x z2curr))/(-(h^2)+h x+(x^2)+(h^2) (x^2)));
z2next = -((-h z1curr+h (x^2) z1curr-(x^2) z2curr)/(-(h^2)+h x+(x^2)+(h^2) (x^2)));
{z1next, z2next}
]

x = {1};
z = {{0.44005058574493355`,0.32514710081303305`}};

h = 0.05;

Do[
AppendTo[z, Evaluate[next[z[[-1]], x[[-1]], h]]];
AppendTo[x, x[[-1]] + h],
20
]

Show[
Plot[
{BesselJ[1, x], dBesselJ1},
{x, 1, 2},
PlotStyle -> {Blue, Red}
],
ListPlot[
Table[{x[[i]], z[[i, 1]]}, {i, 1, 20}],
PlotStyle -> Blue
],
ListPlot[
Table[{x[[i]], z[[i, 2]]}, {i, 1, 20}],
PlotStyle -> Red
]
]

Table[
{x[[i]], z[[i, 1]], z[[i, 2]]},
{i, 1, 20}
] // TableForm