#include <Wire.h>
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
RTC_DS1307 rtc;
LiquidCrystal_I2C lcd(0x27, 16, 2);
char dataHari[7][12] = {"Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"};
String hari;
int tanggal, bulan, tahun, jam, menit, detik;
void setup() {
Wire.begin();
rtc.begin();
Serial.begin(9600);
if (! rtc.begin()) {
Serial.println("RTC Tidak Ditemukan");
Serial.flush();
abort();
}
rtc.adjust(DateTime(F(__DATE__), F(__TIME__)).unixtime() + 7 * 3600);
lcd.init();
lcd.backlight();
lcd.clear();
}
void loop () {
DateTime now = rtc.now();
hari = dataHari[now.dayOfTheWeek()];
tanggal = now.day(), DEC;
bulan = now.month(), DEC;
tahun = now.year(), DEC;
jam = now.hour(), DEC;
menit = now.minute(), DEC;
detik = now.second(), DEC;
Serial.println(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
Serial.println(String() + jam + ":" + menit + ":" + detik);
Serial.println();
int i;
lcd.setCursor(0, 0);
lcd.print("Hari ini: ");
lcd.print(String() + hari + ", " + tanggal + "-" + bulan + "-" + tahun);
for (i=0;i<16;i++)
{lcd.scrollDisplayLeft();
delay(250);}
lcd.setCursor(0, 1);
lcd.print(String() + jam + ":" + menit + ":" + detik);
delay(1000);
}