float Vmod1 = 0.0; 
float V = 0.0;
float R1 = 30000.0;               //R sensor voltage 30k
float R2 = 7500.0;                //R sensor voltage 7k5
int val1 = 0;
int sens = 4;                   //tegantung sensor arus yang digunakan, yang ini 5A
int val2= 0;
int Voffset = 0;               //nilai pembacaan offset saat tidak ada arus yang lewat
float Vmod2 = 0.0;
float I = 0.0;
float P = 0.0;

void setup()
{
  Serial.begin(9600); 
  pinMode(A0, INPUT);            // input voltage sensor
  pinMode(A1, INPUT);            // input current sensor
}

void sensor()
{
  val1 = analogRead(A0);         // nilai input voltage
  Vmod1 = (val1 * 5.0) / 1024.0;
  V = Vmod1 / (R2/(R1+R2));  

  val2 = analogRead(A1);         // nilai input current
  Vmod2 = (val2 / 1024.0) * 5;
  I = ((Vmod2 - Voffset) * sens);
}

void loop()
{
  sensor();
  P=V*I;
  Serial.print(("V adc: "));
  Serial.print(val1);
  Serial.print(("  V modul: "));
  Serial.print(Vmod1);
  Serial.print(("  Voltage: "));
  Serial.print(V);
  Serial.print("V");
  Serial.print(("    I adc: "));
  Serial.print(val2);
  Serial.print(("  V modul (I): "));
  Serial.print(Vmod2);
  Serial.print(("  Current: "));
  Serial.print(I);
  Serial.print("A");
  Serial.print(("    Power: "));
  Serial.print(P);
  Serial.println("W");
  delay(15);
}