#include <Wire.h> 
#include <LiquidCrystal_I2C.h> // Library untuk LCD I2C
#include <DHT.h> // Library untuk sensor DHT

#define DHTPIN 2     // Pin data sensor DHT22 terhubung ke pin digital 2
#define DHTTYPE DHT22   // Jenis sensor DHT (DHT11 atau DHT22)
DHT dht(DHTPIN, DHTTYPE);

LiquidCrystal_I2C lcd(0x27, 16, 2); // Inisialisasi objek LCD I2C dengan alamat 0x27, 16 kolom, dan 2 baris

void setup() {
  Serial.begin(9600); // Inisialisasi komunikasi serial dengan baud rate 9600
    lcd.init(); // Inisialisasi LCD
      lcd.backlight(); // Nyalakan backlight LCD
        dht.begin(); // Inisialisasi sensor DHT
        }

        void loop() {
          delay(2000); // Tunggu 2 detik untuk membaca data sensor
            float humidity = dht.readHumidity(); // Baca kelembaban udara
              float temperature = dht.readTemperature(); // Baca suhu dalam derajat Celsius
                
                  if (isnan(humidity) || isnan(temperature)) { // Jika bacaan tidak valid
                      Serial.println("Failed to read from DHT sensor!");
                          return;
                            }
                              
                                lcd.clear(); // Bersihkan layar LCD
                                  lcd.setCursor(0, 0); // Set kursor ke baris pertama, kolom pertama
                                    lcd.print("Temp: "); // Tampilkan teks "Temp: "
                                      lcd.print(temperature); // Tampilkan nilai suhu
                                        lcd.print(" C"); // Tampilkan satuan Celsius
                                          
                                            lcd.setCursor(0, 1); // Set kursor ke baris kedua, kolom pertama
                                              lcd.print("Humidity: "); // Tampilkan teks "Humidity: "
                                                lcd.print(humidity); // Tampilkan nilai kelembaban
                                                  lcd.print(" %"); // Tampilkan satuan persen
                                                    
                                                      Serial.print("Humidity: ");
                                                        Serial.print(humidity);
                                                          Serial.print(" %\t");
                                                            Serial.print("Temperature: ");
                                                              Serial.print(temperature);
                                                                Serial.println(" *C");
                                                                }