//Berkas pustaka untuk mengatur keypad
#include <Keypad.h>

//Mengatur jumlah baris dan kolom pada keypad
const int BARIS = 4;
const int KOLOM = 4;

//Mengatur karakter yang ada di keypad
char keys[BARIS][KOLOM] =
{
  {'1','2','3','A'},
  {'4','5','6','B'},
  {'7','8','9','C'},
  {'*','0','#','D'}
};

//Mengatur pin baris dan kolom di ESP32
byte pinBaris[BARIS] = {22, 21, 19, 18};
byte pinKolom[KOLOM] = {5, 4, 2, 15};

//Membuat objek keypad yang berisi karakter, pin baris,
//pin kolom, jumlah baris dan jumlah kolom
Keypad keypad = Keypad (makeKeymap(keys), pinBaris,
pinKolom, BARIS, KOLOM);

void setup()
{
  Serial.begin(9600);
}

void loop()
{
  //Memasukkan karakter hasil penekanan tombol ke
  //variabel key
  char key = keypad.getKey();
  //Menampilkan isi variabel key ke Serial Monitor
  //Jika tombol tidak ditekan maka variabel key
  //berisi nilai NO_KEY
  if (key != NO_KEY)
  {
    Serial.println(key);
  }
}
esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
keypad1:R1
keypad1:R2
keypad1:R3
keypad1:R4
keypad1:C1
keypad1:C2
keypad1:C3
keypad1:C4