#include <Keypad.h> //memanggil library keypad.h
#include <LiquidCrystal.h> //memanggil library Liquidcrystal (LCD)

const int rs = 13, en = 12, d4 = 11, d5 = 10, d6 = 9, d7 = 8; //pemilihan pin arduino yang akan digunakan
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); //konfigurasi pin yang digunakan oleh LCD

const byte ROWS = 4; //jumlah row/baris
const byte COLS = 4; //jumlah kolom
char keys[ROWS][COLS] = {
{'1','2','3', 'A'}, //konfigurasi tombol
{'4','5','6', 'B'}, //konfigurasi tombol
{'7','8','9', ' '}, //konfigurasi tombol dan pada tombol C digunakan untuk menghapus
{'*','0','#', 'D'}  //konfigurasi tombol
};//muh hafid a
byte rowPins[ROWS] = {7, 6, 5, 4}; //konfigurasi pin row keypad
byte colPins[COLS] = {3, 2, 1, 0}; //konfigurasi pin colom keypad

Keypad keypad = Keypad(makeKeymap(keys), rowPins, colPins, ROWS, COLS ); //konfigurasi keypad row dan colom
int cursor; //data integer(angka) untuk mengatur cursor / posisi display pd LCD

void setup() { //muh hafid a
 lcd.begin(16, 2); //pengaturan LCD untuk menentukan dimensi LCD yang digunakan (colom, row)
} //muh hafid a

void loop() //muh hafid a
{//muh hafid a
  char key = keypad.getKey(); //memanggil tipe data keys 4x4 
  lcd.setCursor(0, 0); //pada LCD bagian atas kiri
  lcd.print("Test Keypad"); // menampilkan tulisan test keypad
  if (key != NO_KEY){ //jika tombol key di tekan (! = kebalikan, NO_key = tidak ditekan)
    if (cursor<2){ //jika cursor kurang dari 2 (0,1) untuk 2 digit
       cursor++;} //maka cursor bertambah ke kanan
    lcd.setCursor(cursor, 1); //pada LCD bagian bawah kiri (sesuai cursor)
    lcd.print(key);} //LCD menampilkan digit sesuai yang ditekan pada keypad
  if (key ==' '){ //jika tombol C ditekan
    if (cursor=1){ //jika cursor = 1
       cursor--;} //maka cursor akan berkurang ke kiri
    lcd.setCursor(cursor, 1); //pada LCD bagian bawah kiri (sesuai cursor)
    lcd.print(key);} //LCD menampilkan digit sesuai yang ditekan pada keypad
}  
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
keypad1:R1
keypad1:R2
keypad1:R3
keypad1:R4
keypad1:C1
keypad1:C2
keypad1:C3
keypad1:C4
lcd1:VSS
lcd1:VDD
lcd1:V0
lcd1:RS
lcd1:RW
lcd1:E
lcd1:D0
lcd1:D1
lcd1:D2
lcd1:D3
lcd1:D4
lcd1:D5
lcd1:D6
lcd1:D7
lcd1:A
lcd1:K