#include <RTClib.h> // memasukkan library dari komponen RTC untuk menentukan waktu dunia saat ini
#include <Wire.h> // memasukkan library dari komponen LCD
#include <LiquidCrystal_I2C.h> // memasukkan library dari komponen LCD yang digunakan untuk menampilkan data
LiquidCrystal_I2C lcd(0x27,20,4); // Inisialisasi objek LCD dengan alamat I2C 0x27, panjang karakter 20, dan lebar baris 4
RTC_DS1307 rtc; // Inisialisasi objek RTC
char NamaHari[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"}; // Variabel NamaHari untuk menampilkan nama hari
void setup() {
rtc.begin(); // Mengaktifkan RTC
lcd.init(); // Inisialisasi LCD
lcd.backlight(); // menyalakan LCD
}
void loop() {
// Menampilkan waktu saat ini di serial
DateTime now = rtc.now();
// Menampilkan waktu saat ini di LCD
lcd.setCursor(1,0); // Pindahkan kursor ke baris pertama kolom pertama, kolom kedua
lcd.print("Hari : ");
lcd.print(NamaHari[now.dayOfTheWeek()]);
lcd.setCursor(1,1); // Pindahkan kursor ke baris kedua, kolom kedua
lcd.print("-------------------");
lcd.setCursor(1,2); // Pindahkan kursor ke baris ketiga, kolom kedua
lcd.print("Tanggal :");
lcd.print(now.day());
lcd.print("/");
lcd.print(now.month());
lcd.print("/");
lcd.print(now.year());
lcd.setCursor(1,3); // Pindahkan kursor ke baris ketiga kolom kedua
lcd.print("Jam :");
lcd.print(now.hour());
lcd.print(":");
lcd.print(now.minute());
lcd.print(":");
lcd.print(now.second());
delay(1000); // mengatur jeda eksekusi setiap 1 detik
}