L297 + L298 circuit not working
Try this code, and change pin number to your like.
if this code work, likely the problem is in the delayMicroseconds number, some Stepper motor only work on higher than 300 and some on more higher number. 
when delayMicroseconds number too low, it will stall and sometime only humming. 

when powerup, motor will spin clockwise, and if you push button, it's will delay 1 second, and start spin counterclockwise. 

int val = 0; // push value from buttons pin
int jalan = 0;//moving status
int ditekan = 0;//push status
void setup() 
{
  pinMode(12, OUTPUT); //Enable
  pinMode(11, OUTPUT); //Step
  pinMode(10, OUTPUT); //Direction
  pinMode(4, INPUT); //push button

  digitalWrite(12,LOW);

}

void loop() 
{
  val = digitalRead(4);// read the push button value
  if(val == HIGH){
    ditekan = 1-ditekan;
    delay(1000);
  }
jalan = val;
if(ditekan == HIGH) {

    digitalWrite(10,HIGH);
    digitalWrite(11,HIGH);
    delayMicroseconds(500);
    digitalWrite(11,LOW);
    delayMicroseconds(500);
    } else {
    digitalWrite(10,LOW);
    digitalWrite(11,HIGH);
    delayMicroseconds(500);
    digitalWrite(11,LOW);
    delayMicroseconds(500);
    }
    //delay(1);
}