const int trigPin = 9;    // Pin trigger sensor ultrasonik
const int echoPin = 10;   // Pin echo sensor ultrasonik
const int buzzerPin = 8;  // Pin buzzer

void setup() {
  Serial.begin(9600);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
}

void loop() {
  // Mengirim pulse ultrasonik
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Menerima waktu pantulan ultrasonik
  long duration = pulseIn(echoPin, HIGH);

  // Menghitung jarak berdasarkan waktu pantulan
  int distance = duration * 0.034 / 2;

  // Mengecek apakah jarak kurang dari 10 cm
  if (distance < 10) {
    // Mengaktifkan suara buzzer
    tone(buzzerPin, 1000); // Frekuensi bunyi buzzer
    delay(1000);           // Buzzer aktif selama 1 detik
    noTone(buzzerPin);      // Mematikan buzzer
  }

  // Menampilkan jarak pada Serial Monitor
  Serial.print("Jarak: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(1000); // Tahan selama 1 detik sebelum melakukan pengukuran berikutnya
}