The motor, motor driver and Arduino connections are as follows:

For powering the motors a 3-cell Li-po battery is used. Below is the Arduino code for driving the motor in forward and backward direction.
#define LEFT_MOTOR_IN1 7
#define LEFT_MOTOR_IN2 8
#define RIGHT_MOTOR_IN1 4
#define RIGHT_MOTOR_IN2 5
#define LEFT_MOTOR_EN 9
#define RIGHT_MOTOR_EN 6
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(LEFT_MOTOR_IN1, OUTPUT);
pinMode(LEFT_MOTOR_IN2, OUTPUT);
pinMode(RIGHT_MOTOR_IN1, OUTPUT);
pinMode(RIGHT_MOTOR_IN2, OUTPUT);
pinMode(LEFT_MOTOR_EN, OUTPUT);
pinMode(RIGHT_MOTOR_EN, OUTPUT);
}
void loop() {
move_robot(100, 100); //move forward
delay(5000);
move_robot(100, -100); //turn right
delay(1000);
move_robot(100, 100); //move forward
delay(5000);
move_robot(-100, 100); //turn left
delay(1000);
move_robot(-100, -100); //move backword
delay(5000);
}
void move_robot(int left_speed, int right_speed){
int left_motor_speed = abs(left_speed);
int right_motor_speed = abs(right_speed);
analogWrite(LEFT_MOTOR_EN, left_motor_speed);
analogWrite(RIGHT_MOTOR_EN, right_motor_speed);
if(left_speed>=0){
digitalWrite(LEFT_MOTOR_IN1, HIGH);
digitalWrite(LEFT_MOTOR_IN2, LOW);
}
else if(left_speed<0){
digitalWrite(LEFT_MOTOR_IN1, LOW);
digitalWrite(LEFT_MOTOR_IN2, HIGH);
}
if(right_speed>=0){
digitalWrite(RIGHT_MOTOR_IN1, HIGH);
digitalWrite(RIGHT_MOTOR_IN2, LOW);
}
else if(right_speed<0){
digitalWrite(RIGHT_MOTOR_IN1, LOW);
digitalWrite(RIGHT_MOTOR_IN2, HIGH);
}
}
A demo video: