#define led 3 //Fungsi define merupakan fungsi untuk mendeklarasikan atau mendefinisikan suatu varibel
#define echoPin 4
#define trigPin 5
long duration, distance; //long merupakan fungsi untuk mendeskripsikan durasi dan jarak
#include <Servo.h> //include digunakan untuk memasukkan file yang memungkinkan kamu untuk mengakses fitur tambahan

Servo myservo;

float read_srf(int pintriger, int pinecho) {
  long durasi;
  float jarak;
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);
  digitalWrite(pintriger, HIGH);
  delayMicroseconds(6);
  digitalWrite(pintriger, LOW);
  delayMicroseconds(2);

  durasi = pulseIn(pinecho, HIGH);
  jarak = durasi / 58;

  return jarak;
}

void setup() {
  Serial.begin(115200);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(led, OUTPUT);
  myservo.attach(7);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(3);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(3);
  digitalWrite(trigPin, LOW);
  delayMicroseconds(3);
 
  duration = pulseIn(echoPin, HIGH);
  distance = (duration/2)/29;
  int jarak = read_srf(trigPin, echoPin);
  if(distance<=50){
    digitalWrite(led, HIGH);
    myservo.write(90);
  }else{
    digitalWrite(led, LOW);
    myservo.write(0);
  }
Serial.print("jarak : ");
Serial.print(jarak);
Serial.println("cm");

}