koding Arduino :


#include<SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9

MFRC522 rfid(SS_PIN, RST_PIN); // Instance of the class
MFRC522::MIFARE_Key key;
// Init array that will store new NUID
byte nuidPICC[4];

void setup() {
  Serial.begin(9600);
  SPI.begin(); // Init SPI bus
  rfid.PCD_Init(); // Init MFRC522
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }
}

void loop() {
  // Look for new cards
  if (! rfid.PICC_IsNewCardPresent())
    return;
  // Verify if the NUID has been read
  if (! rfid.PICC_ReadCardSerial())
    return;
  for (byte i = 0; i < 4; i++) {
    nuidPICC[i] = rfid.uid.uidByte[i];
  }
  printHex(rfid.uid.uidByte, rfid.uid.size);
  Serial.println();
  rfid.PICC_HaltA();
  rfid.PCD_StopCrypto1();
}

void printHex(byte *buffer, byte bufferSize) {
  for (byte i = 0; i < bufferSize; i++) {
    Serial.print(buffer[i] < 0x10 ? "0":"");
    Serial.print(buffer[i], HEX);
  }
}


Koding VB net :

Imports System.ComponentModel
Imports System.IO
Imports System.IO.Ports
Imports System.Threading
Public Class Form2
    Dim myport As Array
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        useradmin.Enabled = False
        status.Enabled = False
        '  studtag.TextAlign = Left
        studtag.MaxLength = 6
        jam.Enabled = False
        tanggal.Enabled = False
        studtag.Enabled = False
        nomor.Enabled = False
        Call bukadb()
        '  Call tes()




        Timer1.Enabled = True
        myport = IO.Ports.SerialPort.GetPortNames

        cbaud.Items.Add(9600)
        cbaud.Items.Add(19200)
        cbaud.Items.Add(38400)
        cbaud.Items.Add(57600)
        cbaud.Items.Add(115200)

        For i = 0 To UBound(myport)
            cport.Items.Add(myport(i))
        Next i
        cport.Text = cport.Items(0)

        cbaud.Text = cbaud.Items(0)
        DataGridView2.RowsDefaultCellStyle.BackColor = Color.LightBlue
        DataGridView2.AlternatingRowsDefaultCellStyle.BackColor = Color.WhiteSmoke
    End Sub
    Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

        Dim StringIn As String = SerialPort1.ReadLine()
        Me.Invoke(Sub() studtag.Text = StringIn) 'we need to invoke since we're on another thread'

    End Sub

    Private Sub konek_Click(sender As Object, e As EventArgs) Handles konek.Click
        SerialPort1.PortName = cport.Text
        SerialPort1.BaudRate = cbaud.Text
        SerialPort1.Open()
        MessageBox.Show("Koneksi Port OK", "Informasi Koneksi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        status.Text = "Terhubung"
        studtag.Focus()
        konek.Enabled = False
        Button1.Enabled = True
    End Sub

    Private Sub studtag_TextChanged(sender As Object, e As EventArgs) Handles studtag.TextChanged
        Call bukadb()

        If studtag.Text.Length >= 8 Then
            Call bukadb()
            Dim sd As String
            sd = "insert into masuk values('" & nomor.Text & "','" & studtag.Text & "','" & jam.Text & "','" & tanggal.Text & "')"
            cmd = New MySql.Data.MySqlClient.MySqlCommand(sd, conn)
            cmd.ExecuteNonQuery()
            studtag.Focus()

            Form2_Load(sender, e)
            Form2_Load(sender, e)
            Form2_Load(sender, e)
            Form2_Load(sender, e)
            Form2_Load(sender, e)

            studtag.SelectionStart = 0
            studtag.SelectionLength = Len(studtag.Text)


            Dim str As String
            str = "Update karyawan set KETERANGAN='" & jam.Text & "'"
            cmd = New MySql.Data.MySqlClient.MySqlCommand(str, conn)
            cmd.ExecuteNonQuery()



            cmd = New MySql.Data.MySqlClient.MySqlCommand("SELECT masuk.NOMOR,masuk.ID,karyawan.NIM,masuk.WAKTU,masuk.TANGGAL, karyawan.NAMA, karyawan.PRODI, karyawan.SEMESTER FROM masuk INNER JOIN karyawan ON masuk.ID=karyawan.ID where TANGGAL='" & tanggal.Text & "'", conn)
            da = New MySql.Data.MySqlClient.MySqlDataAdapter(cmd)
            Dim dt As New DataTable
            da.Fill(dt)

            DataGridView2.DataSource = dt
            DataGridView2.Sort(DataGridView2.Columns(3), ListSortDirection.Ascending)
            DataGridView2.ReadOnly = True

            DataGridView2.Refresh()
            DataGridView2.Columns(0).Width = 150
            DataGridView2.Columns(1).Width = 100
            DataGridView2.Columns(2).Width = 100
            DataGridView2.Columns(3).Width = 100
            DataGridView2.Columns(4).Width = 100
            DataGridView2.Columns(5).Width = 300
            DataGridView2.Columns(6).Width = 300
            ' Call tampilgrid()
        End If
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        SerialPort1.Close()

        MessageBox.Show("Koneksi Port OFF.", "Informasi Koneksi", MessageBoxButtons.OK, MessageBoxIcon.Information)
        status.Text = "Diskonek"
        konek.Enabled = True
        Button1.Enabled = False
    End Sub

    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        tanggal.Text = Format(Now, "yyyy/MM/dd")
        jam.Text = Format(Now, "hh:mm:ss")
        nomor.Text = Format(Now, "ddMMyyyy-hhmmss")
    End Sub

    Private Sub KELUARToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles KELUARToolStripMenuItem.Click
        Dim t As String
        t = MsgBox("Yakin Anda Ingin Menutup Aplikasi Ini ?", vbYesNo + vbInformation, "Tutup Aplikasi")
        If t = vbYes Then
            Close()
            Form1.Show()
            Form1.Enabled = True


        ElseIf t = vbNo Then




        End If
    End Sub

    Private Sub DATAKEHADIRANMAHASISWAToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DATAKEHADIRANMAHASISWAToolStripMenuItem.Click
        Form4.Show()
    End Sub

    Private Sub XToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles XToolStripMenuItem.Click
        Form3.Show()
    End Sub
End Class