First create a curve, i have done this just with a straight line and changed height for every second vertics.
Then convert the line into curve and set a bevel value.
Change the radius for every second vertics.
You can smooth this quick with subdiv modifier, or you make a more detailed curve in the first step.
The rest are just array modifiers.
You have to use the empty to bend it correctly, here is an tutorial about this modifier.
But for the chair this wont work well, cause it is not rounded. For this you have to create the curve in the desired shape already.
Make a straight line of your chair shape, then use the previous steps to make the waves.
If you like to try, you may actually do it procedurally as well, say, with a stretched smooth voronoi maybe. Used as displacement. The fabric detail can be bump. It may not be as precise, just thought to mention. I like to try stuff like that