const byte numera1[10]=
{
  //0 = led dalam seven segment yang tidak diberikan tegangan
  //1 = led dalam seven segment yang diberikan tegangan masukan
  B11111101, // angka 0
  B01100001, // angka 1
  B11011011, // angka 2
  B11110011, // angka 3
  B01100111, // angka 4
  B10110111, // angka 5
  B00111111, // angka 6
  B11100001, // angka 7
  B11111111, // angka 8
  B11100111, // angka 9
};

// pin dari segment dp,G,F,E,D,C,B,A
const int segmentPins[8] = {5,9,8,7,6,4,3,2};

void setup()
{
  for(int i=0; i < 8; i++)
  {
    pinMode(segmentPins[i], OUTPUT);
  }
}

void loop()
{
 //seven segment akan memulai dari 0 sampai 10
 //cara kerjanya sistem ditambah 1 dengen delay 1 detik dan ditambah 1 dengan delay 1 detik sampai batas nilai 10.
 for(int i=0; i <= 10; i++)
 {
  showDigit(i);
  delay(1000);
 }
  delay(2000);
}

void showDigit(int number)
{
  boolean isBitSet;
  for(int segment = 1; segment <8; segment++)
  {
    if(number < 0 || number > 9)
    {
isBitSet = 0; // turn off all segments
    }
    else
    {
      // isBitSet will be true if given bit is 1
      isBitSet = bitRead(numera1[number], segment);
    }
    isBitSet = !isBitSet; //
 digitalWrite( segmentPins[segment], isBitSet);
 }
}