// inialisasi pin sensor dan alarm/buzzer
const int pinApi = 8;
const int pinAlarm = 9;
const int redLED = 10;
const int smokeA0 = A5;
// inialisasi variabel data
int data;
int dataAsap;
//Nilai threshold
int sensorThres = 100;


void setup()
{
 // inialisasi status I/O pin
 pinMode(pinApi, INPUT); // pin sebagai input
 pinMode(smokeA0, INPUT); // pin sebagai input
 pinMode(pinAlarm, OUTPUT); // pin sebagai output
 pinMode(redLED, OUTPUT);
 Serial.begin(1000);
}

void loop()
{
 // variabel data adalah hasil dari pembacaan sensor
 // berupa logic LOW/HIGH
 data = digitalRead(pinApi);
 int analogSensor = analogRead(smokeA0);
 
 Serial.print("Api Terdeteksi: ");
 Serial.println(analogSensor);


 // jika data pada sensor API bernilai logic LOW
 if (data == LOW)
 {
 // alarm dinyalakan
 digitalWrite(pinAlarm, HIGH);
 tone(pinAlarm, 2050);
 digitalWrite(redLED, HIGH);
 delay(100);
 }

// jika data Analog pada sensor Asap lebih besar dari batas
 else if (analogSensor > sensorThres)
  {
    digitalWrite(redLED, HIGH);
    tone(pinAlarm, 2050);
    delay(100);
     
  }

 // jika data tidak bernilai logic LOW
 else
 {
  //Lampu Dimatikan
  digitalWrite(redLED, LOW);
 // alarm dimatikan
 digitalWrite(pinAlarm, LOW);
 delay(100);
 }
}
$abcdeabcde151015202530354045505560fghijfghij