//Proyek#11:Jam Real Time - Ni Made Dwipayanti
#include <Wire.h> //librari arduino
#include <RTClib.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,4); // set alamat LCD 0x27,
RTC_DS1307 RTC;

void setup () {
  lcd.init(); // inisialisasi lcd
  lcd.backlight(); //nyalakan baclight
  Wire.begin(); // buka atau mulai komunikasi I2C
  RTC.begin();// buka komunikasi chip RTC
  /*aktifkan instruksi ini untuk set tanggal dan waktu yang diinginkan saat compiler 
  program */
  //RTC.adjust(DateTime(__Date__,__TIME__));
}

void loop () {
  DateTime now = RTC.now();//dapatkan data jam & tanggal skrng
  lcd.setCursor(0, 0);
  lcd.print("Jam Real Time");
  lcd.setCursor(0, 1);
  if (now.hour()<10)
  lcd.print('0');
  lcd.print(now.hour(), DEC);
  lcd.print(':');
  if (now.minute()<10)
  lcd.print('0');
  lcd.print(now.minute(), DEC);
  lcd.print(':');
  if (now.second()<10)
  lcd.print('0');
  lcd.print(now.second(), DEC);
  lcd.setCursor(0, 2);
  int dayofweek = now.dayOfTheWeek();
  switch(dayofweek){
    case 1:
    lcd.print("Senin, ");
    break;
    case 2:
    lcd.print("Selasa, ");
    break;
    case 3: 
    lcd.print("Rabu, ");
    break;
    case 4:
    lcd.print("Kamis, ");
    break;
    case 5:
    lcd.print("Jumat, ");
    break;
    case 6:
    lcd.print("Sabtu, ");
    break;
    case 7:
    lcd.print("Minggu, ");
    break;
    delay(1000);
  }
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.print(' ');
lcd.setCursor(0, 3);
lcd.print("Ni Made Dwipayanti");
}
GND5VSDASCLSQWRTCDS1307+