3. BAB III PERANCANGAN APLIKASI 3.1 Pengamatan Cara Kerja Alat menggunakan Serial Monitor Untuk mengetahui cara Read Write Device (RWD) dan tag RFID berkomunikasi,
sebelumnya
dengan
menggunakan
HyperTerminal
dan
SerialMonitor. Perintah dikirimkan sesuai dengan format yang ada pada dasar teori, kemudian dengan Serial Monitor didapatkan hasil berikut ini : − hasil pembacaan nomor seri tag RFID Request: 7/27/2007 10:05:38 AM.48664 (+109.6777 seconds) 23 # Answer: 7/27/2007 10:05:38 AM.48664 (+0.0000 seconds) 45 E Request: 7/27/2007 10:05:38 AM.49664 (+0.0100 seconds) AB 00 AB «.« Answer: 7/27/2007 10:05:38 AM.51664 (+0.0200 seconds) 67 g Request: 7/27/2007 10:05:38 AM.51664 (+0.0000 seconds) 89 ‰ Answer: 7/27/2007 10:05:38 AM.52664 (+0.0100 seconds) 00 04 E2 12 16 C3 21 ..â..Ã!
− hasil pembacaan blok pada tag RFID Request: 7/27/2007 10:06:15 AM.12064 (+0.0100 seconds) 23 # Answer: 7/27/2007 10:06:15 AM.12064 (+0.0000 seconds) 45 E Request: 7/27/2007 10:06:15 AM.12064 (+0.0000 seconds) AB 00 AB «.« Answer: 7/27/2007 10:06:15 AM.15064 (+0.0100 seconds) 67 g Request: 7/27/2007 10:06:15 AM.15064 (+0.0000 seconds) 89 ‰ Answer: 7/27/2007 10:06:15 AM.16064 (+0.0100 seconds) 00 04 E2 12 16 C3 21 ..â..Ã! Request: 7/27/2007 10:06:15 AM.17064 (+0.0100 seconds) 23 # Answer: 7/27/2007 10:06:15 AM.17064 (+0.0000 seconds) 45 E Request: 7/27/2007 10:06:15 AM.17064 (+0.0000 seconds) A4 07 00 FF FF FF FF FF FF A3 ¤..ÿÿÿÿÿÿ£ Answer: 7/27/2007 10:06:15 AM.22064 (+0.0100 seconds) 67 g Request: 7/27/2007 10:06:15 AM.22064 (+0.0000 seconds) 89 ‰ Answer: 7/27/2007 10:06:15 AM.22064 (+0.0000 seconds) 00 00 00 ... Request: 7/27/2007 10:06:15 AM.23064 (+0.0000 seconds) 23 #
10
Answer: 7/27/2007 10:06:15 AM.23064 (+0.0000 seconds) 45 E Request: 7/27/2007 10:06:15 AM.23064 (+0.0000 seconds) AC 06 02 C3 16 12 E2 00 8D ¬..Ã..â. Answer: 7/27/2007 10:06:15 AM.32064 (+0.0501 seconds) 67 g Request: 7/27/2007 10:06:15 AM.33064 (+0.0100 seconds) 89 ‰ Answer: 7/27/2007 10:06:15 AM.33064 (+0.0000 seconds) 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 00 00 10 ...
− penulisan data ke dalam blok pada tag RFID Request: 7/27/2007 10:07:17 AM.16964 (+0.1001 seconds) 23 # Answer: 7/27/2007 10:07:17 AM.16964 (+0.0000 seconds) 45 E Request: 7/27/2007 10:07:17 AM.17964 (+0.0100 seconds) AB 00 AB «.« Answer: 7/27/2007 10:07:17 AM.21964 (+0.0300 seconds) 67 g Request: 7/27/2007 10:07:17 AM.21964 (+0.0000 seconds) 89 ‰ Answer: 7/27/2007 10:07:17 AM.21964 (+0.0000 seconds) 00 04 E2 12 16 C3 21 ..â..Ã! Request: 7/27/2007 10:07:17 AM.35064 (+0.1302 seconds) 23 # Answer: 7/27/2007 10:07:17 AM.36064 (+0.0100 seconds) 45 E Request: 7/27/2007 10:07:17 AM.36064 (+0.0000 seconds) A4 07 00 FF FF FF FF FF FF A3 ¤..ÿÿÿÿÿÿ£ Answer: 7/27/2007 10:07:17 AM.41064 (+0.0100 seconds) 67 g Request: 7/27/2007 10:07:17 AM.42064 (+0.0100 seconds) 89 ‰ Answer: 7/27/2007 10:07:17 AM.42064 (+0.0000 seconds) 00 00 00 ... Request: 7/27/2007 10:07:18 AM.52064 (+0.1001 seconds) 23 # Answer: 7/27/2007 10:07:18 AM.52064 (+0.0000 seconds) 45 E Request: 7/27/2007 10:07:18 AM.53064 (+0.0100 seconds) AD 16 02 C3 16 12 E2 69 6E 61 20 63 75 74 65 20 ..Ã..âina cute 20 20 20 20 20 20 20 00 DD .Ý Answer: 7/27/2007 10:07:18 AM.67064 (+0.0401 seconds) 67 g Request: 7/27/2007 10:07:18 AM.67064 (+0.0000 seconds) 89 ‰ Answer: 7/27/2007 10:07:18 AM.68064 (+0.0100 seconds) 00 10 69 6E 61 20 63 75 74 65 20 20 20 20 20 20 ..ina cute 20 20 51 Q Request: 7/27/2007 10:07:18 AM.69064 (+0.0100 seconds) 23 # Answer: 7/27/2007 10:07:18 AM.69064 (+0.0000 seconds) 45 E
11
Dari dasar teori dan pengamatan di atas, dapat dianalisa bahwa : − tahap yang harus dilakukan untuk meminta nomor kartu adalah mengirim 23, menunggu jawaban 45, mengirim AB 00 AB, menunggu jawaban 67, mengirim 89, dan respon yang didapatkan 00 04 E2 12 16 C3 21 dimana nomor kartu adalah bagian yang digaris bawah, dengan penulisan dari belakang. Jadi nomor kartu pada percobaan sebenarnya C3 16 12 E2 − sebelum perintah untuk mengakses blok dikirim, passkey FF FF FF FF FF FF harus dikirim dahulu dengan format A4 07 00 FF FF FF FF FF FF A3
− tahap yang dilakukan untuk membaca blok adalah pengiriman perintah untuk SN, pengiriman passkey, lalu perintah untuk membaca AC 16 12 E2 00 8D
06 02 C3
sesuai dengan penjelasan sebelumnya, 02 adalah blok ke-
2 dan yang digaris bawah adalah SN − tahap untuk menulis data ke dalam blok adalah pengiriman perintah untuk nomor seri, pengiriman passkey, lalu perintah untuk menulis AD 16 02 C3 16 12 E2 69 6E 61 20 63 75 74 65 20 20 20 20 20 20 20 20 00 DD. AD 16 adalah perintah untuk menulis, kemudian 02 adalah blok ke-2
yang akan dibaca, lalu diikuti NOMOR SERI, isi data yang akan ditulis dalam
hexa,
00
dan
XOR
dari
semua
bilangan
hexa
AD^16^02^C3^16^12^E2^69^6E^61^20^63^75^74^65^20^20^20^20^20^ 20^20^20^00 menghasilkan DD.
3.2 Arsitektur Sistem Sistem yang dibangun dapat diilustrasikan dengan Gambar 3-1 berikut ini;
Gambar 3-1 Desain Sistem yang Dibangun
12
yang secara sederhana, dapat dijelaskan sebagai berikut: − user dengan tag RFID yang datang, cukup meletakkan kartu pengenalnya pada RWD − RWD membaca tag RFID dan menyimpan data dalam komputer
3.3 Spesifikasi Sistem Aspek-aspek fungsionalitas dan teknis yang menjadi dasar perancangan tugas akhir ini memiliki spesifikasi-spesifikasi sebagai berikut : 3.3.1 Spesifikasi fungsional : 1. RWD dan komputer dapat terhubung dan berkomunikasi 2. nomor seri pada tag RFID dapat dibaca oleh RWD 3. blok-blok dalam tag RFID dapat dibaca oleh RWD dan diolah agar dapat dikenal dengan mudah oleh pengguna 4. blok-blok dalam tag RFID dapat diisi dengan data yang dikehendaki oleh pengguna 5. nomor seri tag RFID dan jam kedatangan dapat digunakan sebagai masukan untuk mengisi basis data 3.3.2 Spesifikasi teknis: 1. RS232-port serial digunakan sebagai media untuk menghubungkan RWD dengan komputer 2. MySQL digunakan sebagai sarana basis data dan nomor seri kartu digunakan sebagai identitas unik masing-masing pemiliknya.
3.4 Perancangan Program 3.4.1 Use case Diagram Use case diagram digunakan untuk merepresentasikan hal-hal yang dapat dilakukan aktor pengguna sistem. Dalam program ini, aktor pengguna yang dimaksud adalah user dan admin. Hal-hal yang dapat dilakukan antara lain: mengubah password aktor yang bersangkutan, menambah user, membaca dan menulis kartu, mengolah basis data, mencetak basis data, dan menjalankan
13
absensi secara otomatis. Secara sederhana, use case program yang dirancang dapat diilustrasikan Gambar 3-2 berikut ini;
Gambar 3-2 Diagram Use case
3.4.2 Garis Besar Proses yang Dijalankan Secara garis besar, aplikasi yang dirancang menjalankan prosedur-prosedur berikut ini: 1. port serial yang ada dalam komputer dideteksi 2. parameter-parameter yang dibutuhkan diambil dan digunakan untuk penyambungan dengan port serial 3. tag RFID yang dikehendaki dipilih RWD dengan cara meminta Access to Select (ATS) (kode AB 00 AB), jika ada kartu, berarti ada respon yang berisi nomor seri kartu (format seperti Tabel 2-3) 4. untuk membaca blok dalam tag RFID dikirim perintah seperti pada Tabel 2-3. setelah itu nomor seri dicek ke basis data untuk mendapatkan nama dan nomor plat penggunanya 5. jika blok ingin diisi, dikirim perintah seperti pada Tabel 2-3. Lalu, data pada basis data juga diperbaharui sehingga data pada kartu dan basis data sama 6. tag RFID yang akan digunakan didaftar dengan memasukkan nomor seri, nama, dan nomor plat truk dalam tabel daftarNama pada basis data data 7. saat menjalankan prosedur untuk mengabsen, prosedur yang dijalankan cukup mengambil nomor seri tag yang sudah terdaftar dalam basis data 8. nomor seri ini digunakan sebagai kunci untuk mengambil data dari tabel daftarNama
14
9. jika nomor seri ada pada tabel daftarNama, akan diambil nilai nama dan nomor plat truk dari nomor tersebut 10. nomor seri, nama, nomor plat truk dimasukkan ke tabel daftardatang, beserta jam kedatangan yang diambil dari jam sistem
3.4.3 Diagram Sekuen Diagram sekuen digambarkan dalam bentuk garis paralel vertikal. Garis ini bergerak dari atas ke bawah. Di dalamnya berisi, proses atau objek yang berbedabeda muncul secara simultan, pertukaran pesan dalam bentuk anak panah horisontal. Diagram sekuen memberikan gambaran program seperti yang sudah dijelaskan diagram use case. Program yang dirancang digambar beberapa diagram sekuen berikut, sesuai dengan fungsi yang sedang dijalankan:
Gambar 3-3 Diagram Sekuen untuk Fungsi Membaca atau Menulis Blok
Setelah aktor pengguna masuk sistem, data mengenai aktor pengguna dan hak aksesnya disimpan dalam beberapa variabel dalam statusfrm. Dalam HalUtama, untuk melakukan pembacaan atau penulisan blok, pengguna harus terhubung dengan port serial. Setelah tersambung, dari kelas Engine, dapat diambil nomor seri kartu dan dilakukan pembacaan atau penulisan. Setiap kartu dibaca, nomor seri di dalamnya dicek ke basis data untuk mengetahui apakah data yang diberikan
15
sama. Demikian halnya, saat penulisan, data yang telah diisi ke kartu juga diisi ke basis data.
Gambar 3-4 Diagram Sekuen untuk Fungsi Log Otomatis
Untuk menjalankan pembacaan kartu secara otomatis, setelah terhubung dengan port serial, kartu dibaca nomor serinya, dicocokkan dengan basis data untuk mendapatkan nama dan nomor plat pemilik kartu. Kemudian dengan method JamMasuk(), nama, nomor plat, dan jam kedatangan dicatat ke dalam basis data
pada tabel kedatangan (daftardatang).
Gambar 3-5 Diagram Sekuen untuk Fungsi Menambah User
Admin yang telah login, dapat menambah akun user dengan memanggil method addusMenu().
16
Gambar 3-6 Diagram Sekuen untuk Fungsi Mengganti Kata Kunci
Aktor pengguna yang telah login dapat mengganti kata kunci dengan method editPassMenu()
3.4.4 Diagram Kelas Setelah perancangan dengan membuat diagram use case, dilakukan perancangan diagram kelas yang diberikan pada Lampiran. Diagram kelas ini menggambarkan variabel-variabel dan method-method yang digunakan dalam kelas pemrograman. 3.4.5 Identifikasi Pengguna Aplikasi Sebelum fungsi-fungsi utama aplikasi dijalankan, pengguna aplikasi diberikan halaman login. Untuk dapat memasuki aplikasi, pengguna terlebih dahulu menuliskan nama dan kata kunci. Proses tersebut dapat dijelaskan dengan Gambar 3-7 berikut ini;
Gambar 3-7 Diagram Alur Identifikasi Pengguna
3.4.6 Pengaturan Koneksi Port Serial
17
Proses penyambungan dengan port serial dilakukan agar RWD dapat berkomunikasi dengan komputer menggunakan protokol komunikasi seperti yang sudah dijelaskan di Bab II. RWD dihubungkan ke komputer ke port Universal Serial Bus (USB) menggunakan kabel RS232. Dengan menginstall driver kabel RS232 terlebih dahulu, port yang digunakan RWD dapat dideteksi oleh komputer. Untuk menghubungkan RWD dengan komputer, ada beberapa parameter yang perlu diatur terlebih dahulu, yaitu: nama port (berupa angka), baudrate, databits, parity, stopbits, dan flow control. Pada Tugas Akhir ini, parameter yang digunakan diberikan pada Tabel 3-1; Tabel 3-1 Parameter Port Serial Port
COM14
baudrate (bps)
57600
Databits
8
Parity
NONE
stop bits
1
flow control
NONE
Metode yang digunakan untuk pengaturan port serial ini mencakup proses proses berikut ini: 1.
Port serial yang terdeteksi komputer dicari dan didaftar
2.
Port serial yang dipilih akan dibuka. Bila port tersebut sedang digunakan, akan dicetak pesan bahwa port sedang digunakan
3.
Agar proses pengiriman dan penerimaan data ke RWD dapat dilakukan, dibutuhkan proses input output (I/O) untuk menangani aliran data (stream). Proses I/O pada Java menggunakan library java.io. Pembacaan data yang masuk ditangani method InputStream, dan untuk penulisan data ditangani method OutputStream
4.
Setelah proses pembukaan port berhasil, dilakukan pengaturan parameter seperti pada Tabel 3.1
5.
Kemudian ada method addEventListener untuk mendengarkan respon yang diterima terminal. Proses ini mengirim semua respon yang didapat ke SerialPortEventListener
dengan diagram alur, proses di atas dapat digambarkan sbb:
18
Gambar 3-8 Diagram Alir Pengaturan Koneksi Port Serial dan Server Basis data
Selain dilakukan penyambungan dengan port serial, penyambungan dengan server basis data MySQL juga dilakukan sebelum proses-proses yang lain. Walaupun sebenarnya untuk mengakses hasil pembacaan basis data tidak perlu tersambung dengan port serial, semua proses yang akan dijalankan berikut ini sebelumnya sudah dilakukan penyambungan dengan port serial dan server basis data MySQL.
3.4.7 Pengaturan Koneksi Basis data Pada basis data, dilakukan pencatatan untuk penyimpanan data baru, memperbaharui data, dan melihat basis data. Data yang ada dibagi ke dalam dua tabel, tabel daftarnama yang berisi daftar nama, nomor kartu, dan nomor plat pengemudi truk, dan daftardatang yang isinya seperti daftarnama ditambah jam kedatangan tiap pengemudi. Struktur kedua tabel ditunjukkan pada Gambar 3-9.
19
Gambar 3-9 Struktur Tabel daftarnama dan Tabel daftardatang
Parameter SN (yang bergaris bawah) dibuat unik, karena setiap kartu untuk satu pegawai, sehingga nomor serinya harus berbeda. Selain berisi data mengenai pegawai dan kartunya, basis data juga berisi data nama pengguna, kata kunci, dan status masing-masing, seperti pada Gambar 3-10:
Gambar 3-10 Struktur Tabel Password
Parameter user (yang bergaris bawah) dibuat unik, sehingga tidak ada 2 user yang sama. Sebelumnya, agar terhubung dengan server basis data, method initcon() dijalankan. Pada Gambar 3-11, untuk memperbaharui data, proses
yang dijalankan sama, kecuali perintah SQL yang diubah menjadi update.
Gambar 3-11 Diagram Alir Penyimpanan Data Baru
20
Lalu, untuk pencatatan kedatangan, dijalankan proses berikut ini:
Gambar 3-12 Diagram Alir Pencatatan Kedatangan
Proses di atas dilakukan berulang-ulang hingga proses pembacaan dihentikan. Sementara untuk menampilkan data kedatangan yang sudah tersimpan, dijalankan proses berikut ini:
Gambar 3-13 Diagram Alir Penyajian Data dari Tabel daftardatang
21
Setelah data ditampilkan, pengguna dapat mencetak data yang ditampilkan secara langsung. Data yang data dalam tabel password juga dapat diubah, kata kunci dapat diubah, user juga dapat ditambah oleh admin. Sebelum memperoleh fungsi di atas, status pengguna sudah diidentifikasi terlebih dahulu, apakah itu user atau admin. Fungsi yang dapat dilakukan masing-masing sesuai dengan diagram use case pada Gambar 3-2. Untuk fungsi mengubah kata kunci, dilakukan proses berikut;
Gambar 3-14 Diagram Alir Pengubahan Kata Kunci
sementara untuk menambah user, dapat dilakukan aktor admin dengan proses seperti pada Gambar 3-15.
Gambar 3-15 Diagram Alir Penambahan User
3.4.8 Pengolahan Data pada Kartu Ada beberapa hal yang dilakukan program dengan tag RFID, antara lain: membaca nomor serinya, membaca isi blok, dan menulis data ke dalam blok.
22
3.4.8.1 Pembacaan Nomor Seri Pembacaan nomor seri dijalankan method GetCardSerialNumber() dengan proses berikut ini;
Gambar 3-16 Diagram Alir Pembacaan Nomor Seri
Perintah yang diberikan sesuai dengan Tabel 2-3 pada Bab II. Kemudian dilakukan parsing terhadap buffer karena pada saat program dijalankan respon yang didapat ternyata masih dalam ASCII (lihat bagian yang diberi garis bawah). Isi buffer yang diterima setelah mengirim perintah salah satunya berupa ..â..Ã! yang dalam hexa adalah 00 04 E2 12 16 C3 21. setelah melihat perintah untuk membaca kartu dan mencocokkannya terhadap format penulisan perintah yang ada pada datasheet, dapat disimpulkan bahwa nomor seri sebenarnya adalah C31216E2. oleh karena itu, buffer yang didapat dibalik dahulu menjadi Ã..â dan
diubah ke dalam hexa menjadi C31216E2.
3.4.8.2 Pembacaan Blok Pembacaan dilakukan dengan meminta nomor seri dengan perintah AB 00 AB. Setelah respon di-parsing, variabel tersebut akan digunakan untuk perintah pembacaan blok sesuai dengan Tabel 2-3 pada Bab II. Dari hasil pengamatan Serial Monitor, didapatkan hasil berikut ini: AC 06 02 C3 16 12 E2 00 8D
¬..Ã..â.
AC 06 merupakan perintah utama untuk membaca blok, 02 adalah blok ke-2 yang
akan dibaca, lalu diikuti nomor seri, 00 dan XOR dari semua bilangan hexa (AC^06^02^C3^16^12^E2^00) menghasilkan 8D.
23
Jika perintah yang diberikan salah, tidak akan dikirimkan jawaban, hanya acknowledgement (ACK) dari permintaan sebelumnya. Proses tersebbtu diilustrasikan Gambar 3-17
Gambar 3-17 Diagram Alir Pembacaaan Blok
3.4.8.3 Penulisan Blok Untuk penulisan data ke dalam blok, hal yang dilakukan yang kurang lebih sama, perbedaannya hanya ada pada perintah, salah satu contohnya : AD 16 02 C3 16 12 E2 69 6E 61 20 63 75 74 65 20 20 20 20 20 20 20 20 00 DD
..Ã..âina cute .Ý
AD 16 adalah perintah untuk menulis, kemudian 02 adalah blok ke-2 yang akan dibaca, lalu diikuti SN, isi data yang akan ditulis dalam hexa, 00 dan XOR dari semua bilangan hexa AD^16^02^C3^16^12^E2^69^6E^61^20^63^75^74^65^20^ 20^20^20^20^20^20^20^00 menghasilkan DD.
24
Gambar 3-18 Diagram Alir Penulisan ke dalam Blok
3.4.9 Perancangan Kelas-Kelas Program Setelah merancang alur diagram program, maka dilakukan perancangan kelas-kelas pemrograman. Ada lima kelas publik yang dibangun, yaitu − kelas Engine.java, yang menangani koneksi port serial dan pengolahan data − kelas HalUtama.java, untuk antar muka utama − kelas addus.java, antar muka untuk menambah user − kelas editpass.java, antar muka untuk mengubah kata kunci − kelas statusfrm.java, yang menangani identitas aktor pengguna Perancangan kelima kelas tersebut dijelaskan pada Tabel 3-2: Tabel 3-2 Perancangan Seluruh Method pada Kelas Pemrograman Engine.java public void dapatNilaiParameter() public Vector getPort()
Prosedur untuk mengambil nilai parameter dari masingmasing comboBox Mendapatkan port serial yang ada pada komputer
25
public void setNilaiPort(String nilaiPort) public String getNilaiPort() public void setNilaiBaud(int nilaiBaud) public int getNilaiBaud() public void setData(String Data) public String getData() public void setnilaiData(int nilaiData) public int getnilaiData() public void setStop(String Stop) public String getStop() public void setnilaiStop(int nilaiStop) public int getnilaiStop() public void setParity(String Parity) public String getParity() public void setnilaiParity(int nilaiParity) public int getnilaiParity() public void setFlow(String Flow) public String getFlow() public void setnilaiFlow(int nilaiFlow) public int getnilaiFlow() public void serialEvent(SerialPortEvent serialPortEvent) public ThreadCekTagRFID() public void Scanning() public Vector getSerialNumber(String sbuf) public void setBuffSN(Vector temp) public void getBaca(String sbuf) public void nyambungPort(String nilaiPort, int nilaiBaud, int nilaiData, int nilaiParity, int nilaiFlow) public void handshaking() public void ReaderInitialization() public void GetCardSerialNumber() public void Password() public void BacaNama() public void BacaPlat() public void Tulis(String Tulisan) public void Buzzer() public static String hexStream(String asciiStream)
Prosedur untuk mengambil nilai port dari ComboBox Fungsi untuk mendapatkan nilai port Prosedur untuk mengambil nilai baud dari ComboBox Fungsi untuk mendapatkan nilai baud Prosedur untuk mengambil data bit dari ComboBox Fungsi untuk mendapatkan data bit Prosedur untuk mengubah data bit ke nilai data bit Fungsi untuk mendapatkan nilai data bit Prosedur untuk mengambil stop bit dari ComboBox Fungsi untuk mendapatkan stop bit Prosedur untuk mengubah stop bit ke nilai stop bit Fungsi untuk mendapatkan nilai stop bit Prosedur untuk mengambil parity bit dari ComboBox Fungsi untuk mendapatkan parity bit Prosedur untuk mengubah parity bit ke nilai parity bit Fungsi untuk mendapatkan nilai parity bit Prosedur untuk mengambil flow dari ComboBox Fungsi untuk mendapatkan flow Prosedur untuk mengubah flow ke nilai flow Fungsi untuk mendapatkan nilai flow Prosedur untuk menjalankan event pada port serial Thread untuk pembacaan tag otomatis Prosedur untuk pembacaan SN tag Fungsi untuk mendapatkan nomor seri dari buffer Prosedur untuk menggabung buffer Prosedur untuk mendapatkan isi blok pada tag Prosedur untuk membuka port yang akan digunakan Prosedur untuk handshaking dengan RWD Prosedur untuk memilih tag RFID yang akan digunakan Prosedur untuk memanggil getSerialNumber() dan parsing nomor seri yang didapatkan Prosedur untuk mengirim Passkey Prosedur untuk membaca blok nama Prosedur untuk membaca blok nama Prosedur untuk menulis blok nama Prosedur untuk buzzer RWD Prosedur untuk mengubah format hexa ke ASCII
HalUtama.java public HalUtama() public void setLookAndFeel() public void addPort() private void initComponents()
Menjalankan kelas HalUtama Prosedur untuk membuat tampilan seperti Windows Prosedur untuk menampilkan port serial yang didapat dalam comboBox Prosedur untuk komponen form
26
private void logoutMenuActionPerformed() private void addusActionPerformed() private void passMenuActionPerformed() private void cetakActionPerformed() private void stopButtonActionPerformed() private void clearResponActionPerformed() private void closeActionPerformed() private void cariActionPerformed() private void absenButtonActionPerformed() private void tulisActionPerformed() private void bacaNomorActionPerformed() private void bacaNamaActionPerformed() private void bacaKartuActionPerformed() private void refreshButtonActionPerformed() private void okButtonActionPerformed() public void dapatNilaiParameter() public void initcon() public void JamMasuk() public void InsertNama(String nama, String nomor) public void UpdateNama(String nama, String nomor) public void LihatNama() public void CariDatang(String cariNama)
Prosedur untuk logout Prosedur untuk masuk menu tambah user Prosedur untuk masuk menu ubah password Prosedur untuk mencetak hasil dari basis data Prosedur untuk berhenti mengabsen otomatis Prosedur untuk menghapus tulisan respon Prosedur untuk menutup aplikasi Prosedur untuk mencari data dari basis data Prosedur untuk memulai absen Prosedur untuk menulis tag Prosedur untuk membaca blok nomor plat dalam tag Prosedur untuk membaca blok nama dalam tag Prosedur untuk membaca tag Prosedur untuk me-refresh port yang tersedia Prosedur untuk terhubung dengan port serial Prosedur untuk mendapatkan parameter port Prosedur untuk berhubungan dengan MySQL Prosedur untuk membaca tanggal dan jam sistem Prosedur untuk menambah data ke tabel daftarnama Prosedur untuk memperbaharui data ke tabel daftarnama Prosedur untuk mencari data dari tabel daftarnama berdasar SN Prosedur untuk mencari data dari tabel daftardatang berdasar nama
Editpass.java initComponents() public void setLookAndFeel() private void okGantiActionPerformed() public void cek()
Prosedur untuk mengatur komponen dalam form addus Prosedur untuk membuat tampilan seperti Windows Prosedur untuk menjalankan penggantian password Prosedur untuk mengganti password pada basis data
addus.java private void initComponents() private void okPassMouseClicked() private void okPassActionPerformed()
Prosedur untuk mengatur komponen dalam form addus Prosedur untuk menambah user Prosedur untuk menambah user
statusfrm.java public void setLookAndFeel() public static void setaddu(boolean xd) public static boolean getaddu() public static void
Prosedur untuk membuat tampilan seperti Windows Prosedur untuk mengambil hak akses pengguna Fungsi untuk mendapatkan hak akses pengguna Prosedur untuk mengambil status pengguna
27
setuser(String usr) public static String getuser() public static void iduser(String idusr) public static String getiduser()
Fungsi untuk mendapatkan status pengguna Prosedur untuk mengambil nama pengguna Fungsi untuk mendapatkan nama pengguna
28