// NAMA: SILVI YULIA RAMADANI
#include <LiquidCrystal_I2C.h> //untuk mengendalikan LCD
//mengatur tampilan dan posisi teks pada layar LCD sesuai dengan ukurannya.
int kolom = 16;
int baris = 2;
LiquidCrystal_I2C lcd(0x27, kolom, baris);
//int alamatLCD = 0x27;
// Membuat objek lcd yang akan kita gunakan untuk berkomunikasi dengan layar LCD.
// Kita perlu memberikan informasi penting kepada objek ini agar dapat berfungsi dengan benar.
// Alamat I2C modul LCD. Ini seperti alamat rumah LCD-nya.
// Setiap modul LCD punya alamat yang berbeda-beda, kita harus memberitahu Arduino alamat LCD yang kita gunakan.
// Contohnya, alamat LCD kita adalah 0x27.
//int kolom = 16;
// Jumlah kolom pada layar LCD.
// Ini menentukan seberapa lebar layar LCD kita.
// Layar LCD 16x2 artinya punya 16 kolom dan 2 baris.
// Kita simpan informasi jumlah kolom ini dalam variabel "kolom".
//int baris = 2
// Jumlah baris pada layar LCD.
// Ini menentukan seberapa tinggi layar LCD kita.
// Layar LCD 16x2 artinya punya 16 kolom dan 2 baris.
// Kita simpan informasi jumlah baris ini dalam variabel "baris".
void setup() // Kode di dalam fungsi ini hanya dijalankan satu kali saat Arduino pertama kali dinyalakan atau direset.
{
lcd.init(); //Ini seperti menyalakan layar LCD dan menyiapkan komunikasi antara Arduino dan layar LCD.
lcd.backlight(); // Menyalakan backlight (lampu latar) pada layar LCD.
// Ini membuat layar LCD terlihat lebih terang sehingga kita bisa melihat teks yang ditampilkan dengan jelas.
}
void loop() //menjalankan kode di dalamnya secara berulang tanpa henti.
{
int i; //bertujuan untuk menggerakkan teks secara berulang dari kiri ke kanan sebanyak 16 kali.
lcd.setCursor(0,0); // Menetapkan posisi kursor pada baris pertama, kolom pertama (0, 0). POSISI PALING KIRI ATAS
lcd.print("PESISIR SELATAN "); // Menampilkan teks "Selamat Datang" pada baris pertama.
lcd.setCursor(0,1); // Menetapkan posisi kursor pada baris kedua, kolom pertama (0, 1). POSISI PALING KIRI BAWAH
// Menampilkan teks "Di Kelas XI-J" pada baris kedua.
for (i = 0 ; i < 16; i++) // Loop untuk menggerakkan teks dari kiri ke kanan sebanyak 16 kali.
{
lcd.scrollDisplayRight(); // Menggerakkan tampilan teks ke kanan satu kolom.
delay(200); // Menunda eksekusi program selama 200 milidetik (0,2 detik)
}
}