For example,
gap> R := CompleteGraphScheme(3);; gap> gens := [(1,2,3)];; gap> H := Group(gens);; gap> G := Group(gens);; gap> hom := GroupHomomorphismByImages(G, H, gens, gens);; gap> R2 := SemidirectProductScheme(R, G, hom);; gap> Display(R2); [ [ 0, 1, 1, 3, 2, 3, 5, 5, 4 ], [ 1, 0, 1, 3, 3, 2, 4, 5, 5 ], [ 1, 1, 0, 2, 3, 3, 5, 4, 5 ], [ 5, 5, 4, 0, 1, 1, 3, 2, 3 ], [ 4, 5, 5, 1, 0, 1, 3, 3, 2 ], [ 5, 4, 5, 1, 1, 0, 2, 3, 3 ], [ 3, 2, 3, 5, 5, 4, 0, 1, 1 ], [ 3, 3, 2, 4, 5, 5, 1, 0, 1 ], [ 2, 3, 3, 5, 4, 5, 1, 1, 0 ] ] gap> IsAssociationScheme(R2); true